Closed Bug 1674269 Opened 4 years ago Closed 4 years ago

[wpt-sync] Sync PR 26336 - Ship ElementInternals.shadowRoot attr, and limits to attachInternals

Categories

(Core :: DOM: Core & HTML, task, P4)

task

Tracking

()

RESOLVED FIXED
84 Branch
Tracking Status
firefox84 --- fixed

People

(Reporter: mozilla.org, Unassigned)

References

()

Details

(Whiteboard: [wptsync downstream])

Sync web-platform-tests PR 26336 into mozilla-central (this bug is closed when the sync is complete).

PR: https://github.com/web-platform-tests/wpt/pull/26336
Details from upstream follow.

b'Mason Freed <masonfreed@chromium.org>' wrote:

Ship ElementInternals.shadowRoot attr, and limits to attachInternals

With this CL, several changes will be shipped:

  1. There is now an ElementInternals.shadowRoot attribute, which gives
    custom element authors access to the element's shadowRoot, even
    in the case of closed shadow roots. Note that shadow roots that
    are attached prior to the custom element constructor being run will
    not be accessible via this attribute.
  2. The attachInternals() API can no longer be called prior to the
    custom element constructor being run. This preserves the security
    of the ElementInternals interface, by preventing inline script
    from "stealing" it before the custom element is upgraded.

This feature now has landed specs [1]/[2] and three LGTMs on the I2S
thread [3]. Shipping it!

[1] https://github.com/whatwg/html/pull/5909/files
[2] https://github.com/whatwg/html/pull/5912/files
[3] https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/uWcvDbzyIBk

Fixed: 1140609
Bug: 1042130
Change-Id: I634fa8e9b45ec501fc87d5c05728b96e7f409d9c

Reviewed-on: https://chromium-review.googlesource.com/2508849
WPT-Export-Revision: b2237e1e4444d9f5780bffe117fd58fd4bdb45ce

Component: web-platform-tests → DOM: Core & HTML
Product: Testing → Core

CI Results

Ran 0 Firefox configurations based on mozilla-central, and Firefox, Chrome, and Safari on GitHub CI

Total 3 tests and 13 subtests

Status Summary

Firefox

OK : 2
PASS : 578
FAIL : 78
ERROR: 1

Chrome

OK : 3
PASS : 656

Safari

OK : 2
PASS : 576
FAIL : 73
ERROR: 1

Links

GitHub PR Head
GitHub PR Base

Details

New Tests That Don't Pass

/custom-elements/element-internals-shadowroot.html: ERROR (Chrome: OK, Safari: ERROR)
ElementInternals.shadowRoot allows access to open shadow root: FAIL (Chrome: PASS)
ElementInternals.shadowRoot allows access to closed shadow root: FAIL (Chrome: PASS)
ElementInternals cannot be called before constructor, upgrade case: FAIL (Chrome: PASS)
ElementInternals can be called after constructor, upgrade case: FAIL (Chrome: PASS)
ElementInternals.shadowRoot doesn't reveal pre-attached closed shadowRoot: FAIL (Chrome: PASS)
/shadow-dom/declarative/declarative-shadow-dom-attachment.tentative.html
Declarative Shadow DOM as a child of <article>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <aside>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <blockquote>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <div>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <footer>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h1>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h2>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h3>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h4>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h5>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h6>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <header>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <nav>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <p>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <section>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <span>, with mode=open, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <article>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <aside>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <blockquote>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <div>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <footer>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h1>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h2>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h3>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h4>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h5>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h6>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <header>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <nav>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <p>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <section>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <span>, with mode=closed, delegatesFocus=false. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <article>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <aside>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <blockquote>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <div>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <footer>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h1>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h2>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h3>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h4>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h5>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h6>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <header>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <nav>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <p>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <section>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <span>, with mode=open, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <article>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <aside>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <blockquote>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <div>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <footer>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h1>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h2>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h3>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h4>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h5>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <h6>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <header>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <nav>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <p>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <section>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM as a child of <span>, with mode=closed, delegatesFocus=true. Should be safelisted.: FAIL (Chrome: PASS, Safari: FAIL)
/shadow-dom/declarative/declarative-shadow-dom-basic.tentative.html
Declarative Shadow DOM: Basic test: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: Feature detection: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: Fragment parser basic test: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: Closed shadow root attribute: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: Missing closing tag: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: delegates focus attribute: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: Multiple roots: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: template containing declarative shadow root: FAIL (Chrome: PASS, Safari: FAIL)
Declarative Shadow DOM: template containing declarative shadow root and UA shadow root: FAIL (Chrome: PASS, Safari: FAIL)

Pushed by wptsync@mozilla.com:
https://hg.mozilla.org/integration/autoland/rev/26efdcb9c9be
[wpt PR 26336] - Ship ElementInternals.shadowRoot attr, and limits to attachInternals, a=testonly
https://hg.mozilla.org/integration/autoland/rev/11ad898f4ba2
[wpt PR 26336] - Update wpt metadata, a=testonly
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → 84 Branch
You need to log in before you can comment on or make changes to this bug.