On Mon, Nov 29, 2021 at 1:40 PM Mason Freed <mas...@chromium.org> wrote:
> Contact emailsmas...@chromium.org > > Explainer > https://developers.google.com/web/updates/2019/02/constructable-stylesheets > > Specification > https://www.w3.org/TR/cssom-1/#extensions-to-the-document-or-shadow-root-interface > > Summary > > 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 componentBlink > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink> > > Search tagsadoptedStyleSheets > <https://chromestatus.com/features#tags:adoptedStyleSheets>, > ObservableArray <https://chromestatus.com/features#tags:ObservableArray> > > TAG review > > TAG review statusNot applicable > 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. > > > 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. 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 > <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> > ?Yes > > Flag nameBecause 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?False > > Tracking bughttps://crbug.com/1236777 > > Estimated milestones > > No milestones specified > > > Link to entry on the Chrome Platform Status > https://chromestatus.com/feature/5638996492288000 > > This intent message was generated by Chrome Platform Status > <https://www.chromestatus.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+unsubscr...@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 > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDijQpNhJJJUjtCzLSDrPngTHYY31H4oJrULxm%3DtxLVHew%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- 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+unsubscr...@chromium.org. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw8n_BnPcHDGsaO6RBPHg3Bg3w5_5QLzjUjB8dC-LUwSVA%40mail.gmail.com.