The prior specification for adoptedStyleSheets used a FrozenArray backing array. The spec was recently changed, so that the backing array is an ObservableArray. This makes the API easier to use and understand, since it is a true mutable JS array object. For example, normal array operations such as adoptedStyleSheets.push(sheet) can be used.
Chromium is the only shipped implementation of adoptedStyleSheets. Gecko would like to ship this feature, but has been waiting for the resolution of this issue (FrozenArray vs. ObservableArray) to ship their implementation. This should unblock Gecko [1]. The Edge team supports this change [2]. WebKit continues to be skeptical [3] of this usefulness of this feature, despite the general agreement of the rest of the web components community [4], and the support of the developer community [5][6][7]. So the interop risk is mainly that WebKit decides not to implement this feature. Compat risks (from the change from FrozenArray to ObservableArray) should be minimal, as the same re-assignment semantics will continue to work. As documentation improves, and usage expands, we expect re-assignment usage to wane, and mutation (e.g. adoptedStyleSheets.push()) to expand. [1] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-834749590 [2] https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556 [3] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758 [4] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-825055766 [5] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-577941622 [6] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827229881 [7] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827234689
This feature should remain debuggable via existing JS/devtools infrastructure. There is good support for adoptedStyleSheets already in devtools.
No milestones specified
Contact emails
mas...@chromium.orgExplainer
https://developers.google.com/web/updates/2019/02/constructable-stylesheetsSpecification
https://www.w3.org/TR/cssom-1/#extensions-to-the-document-or-shadow-root-interfaceSummary
The prior specification for adoptedStyleSheets used a FrozenArray backing array. The spec was recently changed, so that the backing array is an ObservableArray. This makes the API easier to use and understand, since it is a true mutable JS array object. For example, normal array operations such as adoptedStyleSheets.push(sheet) can be used.
Blink component
BlinkSearch tags
adoptedStyleSheets, ObservableArrayTAG review
TAG review status
Not applicable
Risks
Interoperability and Compatibility
Chromium is the only shipped implementation of adoptedStyleSheets. Gecko would like to ship this feature, but has been waiting for the resolution of this issue (FrozenArray vs. ObservableArray) to ship their implementation. This should unblock Gecko [1]. The Edge team supports this change [2]. WebKit continues to be skeptical [3] of this usefulness of this feature, despite the general agreement of the rest of the web components community [4], and the support of the developer community [5][6][7]. So the interop risk is mainly that WebKit decides not to implement this feature. Compat risks (from the change from FrozenArray to ObservableArray) should be minimal, as the same re-assignment semantics will continue to work. As documentation improves, and usage expands, we expect re-assignment usage to wane, and mutation (e.g. adoptedStyleSheets.push()) to expand. [1] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-834749590 [2] https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556 [3] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758 [4] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-825055766 [5] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-577941622 [6] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827229881 [7] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827234689
Gecko: Positive (https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556)
WebKit: Negative (https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758)
Web developers: Strongly positive Several large web component developers are strongly positive on this feature and change. See several links in the "Interoperability and Compatibility Risks" section.
Other signals:Debuggability
This feature should remain debuggable via existing JS/devtools infrastructure. There is good support for adoptedStyleSheets already in devtools.
Is this feature fully tested by web-platform-tests?
YesFlag name
Because few compat risks are anticipated, and because it is relatively difficult to switch the representation (FrozenArray to ObservableArray) via a feature flag, this feature will be enabled by default. This will be done at the start of a new Chromium milestone (M99), and bugs will be monitored carefully in case any breakages are observed.
Requires code in //chrome?
FalseTracking bug
https://crbug.com/1236777Estimated milestones
No milestones specified
Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5638996492288000This intent message was generated by Chrome Platform Status.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDijQpNhJJJUjtCzLSDrPngTHYY31H4oJrULxm%3DtxLVHew%40mail.gmail.com.
On Mon, Nov 29, 2021 at 1:40 PM Mason Freed <mas...@chromium.org> wrote:
TAG review
TAG review status
Not applicableWas ObservableArray and its use in the web platform reviewed by the TAG? If not then I think it should be, as there are plans to use it in more places than just this.
Risks
Interoperability and Compatibility
Chromium is the only shipped implementation of adoptedStyleSheets. Gecko would like to ship this feature, but has been waiting for the resolution of this issue (FrozenArray vs. ObservableArray) to ship their implementation. This should unblock Gecko [1]. The Edge team supports this change [2]. WebKit continues to be skeptical [3] of this usefulness of this feature, despite the general agreement of the rest of the web components community [4], and the support of the developer community [5][6][7]. So the interop risk is mainly that WebKit decides not to implement this feature. Compat risks (from the change from FrozenArray to ObservableArray) should be minimal, as the same re-assignment semantics will continue to work. As documentation improves, and usage expands, we expect re-assignment usage to wane, and mutation (e.g. adoptedStyleSheets.push()) to expand. [1] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-834749590 [2] https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556 [3] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758 [4] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-825055766 [5] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-577941622 [6] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827229881 [7] https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-827234689
I appreciate your extensive efforts to achieve consensus and a good design. The result is in a spec and has broad consensus, which is great!
Gecko: Positive (https://github.com/whatwg/webidl/issues/1027#issuecomment-940204556)
WebKit: Negative (https://github.com/WICG/construct-stylesheets/issues/45#issuecomment-826036758)While those two links are not signals, I think it's:* OK to not ask for a formal Gecko signal on this, if you can point to clear evidence they are implementing. Can you provide a link?* OK to not ask for a formal webkit signal, given their negative signal on the public issues. Another one would be redundant and likely yield the same (negative) result.
Was ObservableArray and its use in the web platform reviewed by the TAG? If not then I think it should be, as there are plans to use it in more places than just this.No, it wasn't. This is a good suggestion - I'll open a TAG review for ObservableArray and this conversion of adoptedStyleSheets. There definitely are plans to expand its use on the platform.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscribe@chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1544fa2d-29aa-475b-948d-e04208d8ebcdn%40chromium.org.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDijQpNhJJJUjtCzLSDrPngTHYY31H4oJrULxm%3DtxLVHew%40mail.gmail.com.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/1544fa2d-29aa-475b-948d-e04208d8ebcdn%40chromium.org.
--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/55dde308-ffc9-196a-aafd-b435ae852544%40chromium.org.
Is this on 98?
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/eb26ccbd-a754-4715-b9c0-ea4633a36eean%40chromium.org.
Possibly this change affects our website slider gallery images breaking on page load.