Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Flatten HTMLHyperlinkElementUtils mixin to HTMLAnchorElement/HTMLAreaElement #8933

Merged
merged 1 commit into from
Feb 11, 2021

Conversation

Elchi3
Copy link
Member

@Elchi3 Elchi3 commented Feb 2, 2021

This is a proof of concept for #8929

Currently, BCD exposes api.HTMLHyperlinkElementUtils, a non-observable mixin and no real JS interface/class/object.

api.HTMLHyperlinkElementUtils.href
api.HTMLHyperlinkElementUtils.origin
api.HTMLHyperlinkElementUtils.protocol
api.HTMLHyperlinkElementUtils.username
api.HTMLHyperlinkElementUtils.password
api.HTMLHyperlinkElementUtils.host
api.HTMLHyperlinkElementUtils.hostname
api.HTMLHyperlinkElementUtils.port
api.HTMLHyperlinkElementUtils.pathname
api.HTMLHyperlinkElementUtils.search
api.HTMLHyperlinkElementUtils.hash

With this change, BCD extends HTMLAnchorElement and HTMLAreaElement and exposes instead:

api.HTMLAnchorElement.href
api.HTMLAnchorElement.origin
api.HTMLAnchorElement.protocol
api.HTMLAnchorElement.username
api.HTMLAnchorElement.password
api.HTMLAnchorElement.host
api.HTMLAnchorElement.hostname
api.HTMLAnchorElement.port
api.HTMLAnchorElement.pathname
api.HTMLAnchorElement.search
api.HTMLAnchorElement.hash

api.HTMLAreaElement.href
api.HTMLAreaElement.origin
api.HTMLAreaElement.protocol
api.HTMLAreaElement.username
api.HTMLAreaElement.password
api.HTMLAreaElement.host
api.HTMLAreaElement.hostname
api.HTMLAreaElement.port
api.HTMLAreaElement.pathname
api.HTMLAreaElement.search
api.HTMLAreaElement.hash

It does so by having two files in the /api/_mixins/ folder:

  • HTMLHyperlinkElementUtils__HTMLAnchorElement.json
  • HTMLHyperlinkElementUtils__HTMLAreaElement.json

@github-actions github-actions bot added the data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API label Feb 2, 2021
@Elchi3
Copy link
Member Author

Elchi3 commented Feb 2, 2021

Reviewers: Please leave your feedback in the issue: #8929

@Elchi3 Elchi3 changed the title Proof of concept for new mixin approach Flatten HTMLHyperlinkElementUtils mixin to HTMLAnchorElement/HTMLAreaElement Feb 5, 2021
@Elchi3 Elchi3 marked this pull request as ready for review February 5, 2021 13:39
@Elchi3
Copy link
Member Author

Elchi3 commented Feb 5, 2021

Seems like there is consensus on this approach so marking as ready for review. Might be blocked by getting the data guideline merged, though (#9016)

Copy link
Collaborator

@ddbeck ddbeck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks great!

Should we bump the version number to 3.1.0 for this?

@Elchi3
Copy link
Member Author

Elchi3 commented Feb 11, 2021

Should we bump the version number to 3.1.0 for this?

According to #472 (comment), about 21 mixins are affected by this (although we already agreed that some larger mixins (workers) probably need special treatment. So, I assume something like 100-300 features are affected? (out of 12,000). So, yeah, could do a minor bump, I don't think it's major.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants