-
Notifications
You must be signed in to change notification settings - Fork 2.7k
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
Use interface mixins
instead of [NoInterfaceObject]
#3207
Conversation
@tobie Could you check that this patch is going on the right direction? |
It is. :) You can track your work here, if needed: #3194. |
Thanks @romandev! We might also be able to reduce some As noted in the issue @tobie points to we might have to wait with landing this for a while until we know that all tooling is updated. Hope that's understandable. |
@romandev relevant here are https://github.com/plinss/widlparser and https://github.com/tabatkins/bikeshed I think. Those are used to scrape the HTML Standard and extract all the IDL fragments which are then put in a database so other specifications can link to them. |
To be clear, that doesn't mean your continued work here is not valuable. It just means we have to wait a bit before applying the patch to master. |
2545bea
to
d193d1f
Compare
c0d008b
to
d3ce3c5
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The main outstanding problem here is that we still need to update idlharness.js.
It seems that was already updated. @romandev do you want to add your name to the Acknowledgments section? |
While the syntax parser used by idlharness was updated, idlharness itself wasn't yet (see web-platform-tests/wpt#8054). I don't think [NoInterfaceObject] interfaces were tested before, so I don't think this will make a huge difference, unless it actually breaks stuff and throws errors. |
Okay, I just merged a couple things... But I think you're right that if it wasn't tested before this should essentially no-op. Would be good to get those tested as well of course. |
I concur. |
I'm not. |
Neither am I. :) |
WebIDL recently introduced dedicated syntax for mixins[1]. So, we can replace `[NoInterfaceObject]` and `implements` with `interface mixin` and `includes`. [1] whatwg/webidl@45e8173
Given that other specs are already merging these I think we should merge it for HTML too. Fixing idlharness.js will be necessary before we can properly merge corresponding WPT PRs, but that's separable. I'll do a last pass-through to check and then merge. |
Note that @romandev updated idlharness in web-platform-tests/wpt#8727 to make it equally functional to the old version. A new PR is still required to actually test mixin members though. |
This was overlooked in whatwg#3207.
This was overlooked in whatwg#3207.
WebIDL recently introduced dedicated syntax for mixins[1]. So, we can
replace
[NoInterfaceObject]
andimplements
withinterface mixin
andincludes
.Test: web-platform-tests/wpt#8703
[1] whatwg/webidl@45e8173
/acknowledgements.html ( diff )
/canvas.html ( diff )
/dom.html ( diff )
/image-maps.html ( diff )
/index.html ( diff )
/interaction.html ( diff )
/links.html ( diff )
/obsolete.html ( diff )
/offline.html ( diff )
/sections.html ( diff )
/semantics.html ( diff )
/system-state.html ( diff )
/text-level-semantics.html ( diff )
/urls-and-fetching.html ( diff )
/webappapis.html ( diff )
/webstorage.html ( diff )
/window-object.html ( diff )
/workers.html ( diff )