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

Move api.Element.openOrClosedShadowRoot to webext/ #17707

Merged
merged 3 commits into from Oct 13, 2022

Conversation

queengooborg
Copy link
Collaborator

@queengooborg queengooborg commented Sep 6, 2022

This PR moves api.Element.openOrClosedShadowRoot to webextensions.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.

@github-actions github-actions bot added data:api 🐇 Compat data for Web APIs. https://developer.mozilla.org/docs/Web/API data:webext 🎲 Compat data for Browser Extensions. https://developer.mozilla.org/Add-ons/WebExtensions labels Sep 6, 2022
webextensions/api/dom.json Outdated Show resolved Hide resolved
webextensions/api/dom.json Show resolved Hide resolved
},
"edge": "mirror",
"firefox": {
"version_added": "63"
Copy link
Member

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.

Copy link
Collaborator Author

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?

Copy link
Member

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.

Copy link
Collaborator Author

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.

@queengooborg queengooborg added the needs content update 📝 This PR needs a corresponding update to mdn/content to update the documentation label Sep 7, 2022
@queengooborg
Copy link
Collaborator Author

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.

@queengooborg queengooborg merged commit 7abd0de into mdn:main Oct 13, 2022
@queengooborg queengooborg deleted the webext/openOrClosedShadowRoot branch October 13, 2022 15:50
@queengooborg queengooborg removed the needs content update 📝 This PR needs a corresponding update to mdn/content to update the documentation label Feb 21, 2023
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 data:webext 🎲 Compat data for Browser Extensions. https://developer.mozilla.org/Add-ons/WebExtensions
Projects
None yet
Development

Successfully merging this pull request may close these issues.

api.Element.openOrClosedShadowRoot - Chrome 88+ has it
3 participants