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

Consider renaming HTMLOrSVGElement to HTMLOrForeignElement #4702

Open
ExE-Boss opened this issue Jun 14, 2019 · 24 comments
Open

Consider renaming HTMLOrSVGElement to HTMLOrForeignElement #4702

ExE-Boss opened this issue Jun 14, 2019 · 24 comments
Labels
addition/proposal New features or enhancements integration Better coordination across standards needed needs implementer interest Moving the issue forward requires implementers to express interest needs tests Moving the issue forward requires someone to write tests

Comments

@ExE-Boss
Copy link

See https://github.com/mathml-refresh/mathml/issues/83#issuecomment-501643288 for details.

@ExE-Boss ExE-Boss changed the title Consider renaming HTMLOrSVGElement to HTMLOrForeignElement Consider renaming HTMLOrSVGElement to HTMLOrForeignElement Jun 14, 2019
@annevk annevk added addition/proposal New features or enhancements needs implementer interest Moving the issue forward requires implementers to express interest needs tests Moving the issue forward requires someone to write tests integration Better coordination across standards needed labels Jun 14, 2019
@bkardell
Copy link
Contributor

bkardell commented Jul 3, 2019

. I'm very happy to send a pull request changing one word, but which word seems to be the question... I think that several of us agree that HTMLOrForeignElement seems ok, as does simply WebElement.

The latter was independently offered by several people and a very unscientific and small Twitter poll seems to indicate that it's more intuitive as a name too.. I kind of prefer the former I think, but..

Thoughts? Opinions? Concerns?

@annevk
Copy link
Member

annevk commented Jul 3, 2019

What's the problem with being specific (and adding orMathML)?

@domenic
Copy link
Member

domenic commented Jul 3, 2019

I'd like to step back and make sure we have multi-browser buy in for mixing this in to MathML elements before renaming anything.

@bkardell
Copy link
Contributor

bkardell commented Jul 3, 2019

@annevk In theory, nothing at all. In practice, i suppose just that it really forces the question of who may use the mixin without it being weird. Our chromium build and the spec are currently using an interface which implies it isn't useable by MathML, in theory or practice - but it seems fine in both.

@domenic yeah, that would be good because this is mostly just de-weirding DOM... although as I said just above, there seems to me a slight difference between simply choosing a name that leaves open the possibility (before people go and plug it in too - I think as of a week or two ago, only 1 browser had used this mixin), and actually accepting a particular proposal with said interface. idk, maybe that is not as practically important a distinction as I imagine - I'll ask around.

@domenic
Copy link
Member

domenic commented Jul 3, 2019

There's no observable (testable) difference created by the name, so I think it's fine for the MathML spec to reference an awkward name while it's still in an not-multi-implementer-interest state.

@emilio
Copy link
Contributor

emilio commented Jul 3, 2019

Regarding multi-vendor interest, is it really not the case? Regardless of priorities (MathML is not a priority in Firefox as far as I can tell, and seems like the state in WebKit is similar too), it does have multiple implementations and interest from the other engine that doesn't have it, right?

Anyhow whatever the name is I think this makes sense: not having .style in mathml stuff, for example, is a silly problem, specially since mathml does support the style attribute. It is something I've had to work around when writing tests.

@domenic
Copy link
Member

domenic commented Jul 4, 2019

I don't know the implementer interest (ideally of the form "we would like to add this soon", per the working mode), or implementation status, for adding the elements of this mixin to MathMLElement. Any on-record statements, or links to passing web platform tests, would be great.

aarongable pushed a commit to chromium/chromium that referenced this issue Aug 29, 2019
Implement the interface mixin between HTML/SVG/etc as specified here:
https://html.spec.whatwg.org/multipage/dom.html#htmlorsvgelement
Note that the intention is to rename above HTMLOrSVGElement to HTMLOrForeignElement:
whatwg/html#4702

This also removes NoncedElement.

Matches WebKit and Firefox.

Bug: 835571

Change-Id: I98c7fcf4c081bdee1a861138e03155a77ca37161
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1655789
Commit-Queue: Rob Buis <[email protected]>
Reviewed-by: Frédéric Wang <[email protected]>
Reviewed-by: Fredrik Söderquist <[email protected]>
Cr-Commit-Position: refs/heads/master@{#691580}
@rwlbuis
Copy link

rwlbuis commented Aug 29, 2019

HTMLOrForeignElement has now been added to chromium and WebKit.

@domenic
Copy link
Member

domenic commented Aug 29, 2019

Was it just a renaming (no normative changes to the spec needed), or did Chromium and WebKit actually change anything that tests can detect?

@rniwa
Copy link

rniwa commented Aug 29, 2019

Right now, it’s just the rename but the plan is to add the support for tabIndex next for all MathML elements.

FWIW, as I noted elsewhere renaming it to HTMLOrForeignElement seems like a good idea.

@domenic
Copy link
Member

domenic commented Aug 29, 2019

Yep, once there's actual multi-implementer movement on normative changes that the rename would support, we should definitely do the rename.

@ExE-Boss
Copy link
Author

Well, both WebKit and Chromium have now implemented this, and Firefox will be implementing this in bug 1577660.

@domenic
Copy link
Member

domenic commented Aug 30, 2019

I'll reemphasize the "normative change" part of my comment.

@fred-wang
Copy link
Contributor

HTMLOrForeignElement has now been added to chromium and WebKit.

HTMLOrForeignElement has been added to Gecko too.

@rniwa
Copy link

rniwa commented Sep 8, 2019

Note that https://trac.webkit.org/changeset/249572 added the support for tabIndex & global event handlers to WebKit and it constitutes normative behavioral changes.

@fred-wang
Copy link
Contributor

Note that https://trac.webkit.org/changeset/249572 added the support for tabIndex & global event handlers to WebKit and it constitutes normative behavioral changes.

Right, it also adds support for style IDL attribute via ElementCSSInlineStyle, which Emilio mentioned in #4702 (comment) as something we want for Mozilla's test automation ( https://bugzilla.mozilla.org/show_bug.cgi?id=1530110 ).

As Brian mentioned, there is also https://bugzilla.mozilla.org/show_bug.cgi?id=1571487 in Mozilla which is pending https://github.com/mathml-refresh/mathml/issues/83#issuecomment-529135238 before being sent for review & announced on mozilla's mailing list. But yes, there is already "multi-implementer movement on normative changes that the rename would support".

@domenic
Copy link
Member

domenic commented Sep 8, 2019

Great. At this point then a pull request that implements those normative changes to the spec should go through the normal WHATWG process (which the pull request template can help you with).

@stephenmcgruer
Copy link
Contributor

@fred-wang @domenic - what would it take to move this forward? It's currently blocking adding the mathml IDL to wpt, and it would be nice to resolve that.

@ExE-Boss
Copy link
Author

@stephenmcgruer Well, there’s #5248, but that currently has merge conflicts.

@domenic
Copy link
Member

domenic commented Jul 28, 2020

What's missing here is tests: #5248 (comment)

@ExE-Boss
Copy link
Author

Is renaming an interface mixin even testable?

Because I’m pretty sure that WebIDL doesn’t make interface mixins observable to JavaScript code at all.

@domenic
Copy link
Member

domenic commented Jul 28, 2020

Please read the linked discussion.

@ExE-Boss
Copy link
Author

ExE-Boss commented Jul 28, 2020

I did, but I’m still somewhat confused about what exactly is missing from the tests that’s blocking the merging of #5248.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
addition/proposal New features or enhancements integration Better coordination across standards needed needs implementer interest Moving the issue forward requires implementers to express interest needs tests Moving the issue forward requires someone to write tests
Development

No branches or pull requests

9 participants