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
Move api.Element.openOrClosedShadowRoot to webext/ #17707
Move api.Element.openOrClosedShadowRoot to webext/ #17707
Conversation
}, | ||
"edge": "mirror", | ||
"firefox": { | ||
"version_added": "63" |
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.
Firefox does not support the dom
API namespace.
But it does support the element.openOrClosedShadowRoot
property.
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.
How do you suppose we should handle this? Notes? Alt. names?
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.
Is alternative_name
typically used for same API signatures? The difference here is a method vs a getter property.
How about partial_implementation
with the note that it's available as element.isOpenOrClosedShadowRoot
instead of a method in the extension namespace?
If customary, we could even use alternative_name + partial_implementation + notes.
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.
It's hard to classify what is partial implementation, since that property refers to "an incomplete implementation of the spec that causes significant browser compatibility issues"...but since web extensions have no spec to refer to...!
However, if this method has a completely different structure between Firefox and Chrome, I'm actually thinking that we should split it into two separate features.
I'm going to go ahead and merge this since it's been sitting around for a while and has continued to cause issues. Any changes can be made as follow-up PRs. |
This PR moves
api.Element.openOrClosedShadowRoot
towebextensions.api.dom.openOrClosedShadowRoot
to better match where this function can be used. The placement was chosen based on Chrome's implementation (see #17414 (comment)).Fixes #16986.