Contact emailsmas...@chromium.org

Explainerhttps://github.com/whatwg/html/pull/5465
https://github.com/whatwg/dom/pull/892

Specificationhttps://github.com/whatwg/html/pull/5465

Summary

Chromium has shipped [1] a version of declarative shadow DOM in M90 which
currently has 0.014% usage [2]. Mostly, the low usage is due to the spec PR
being stalled with no input from other implementers. Recently, there has
been renewed interest in the feature, and discussions have resumed. As part
of those discussions, two changes have been generally agreed upon: 1.
Rename the `<template>` attribute from `shadowroot` to `shadowrootmode`. 2.
Support streaming, by attaching the shadow root on the opening, rather than
the closing, template tag. While the PR hasn't landed, and there is still
an open issue (related to the DOMParser), we would like to ship the agreed
upon behavior listed above. WebKit has already enabled this behavior by
default
<https://github.com/WebKit/WebKit/commit/e7d5dde467956b24438d23f458d4d527f7fd108d>.
[1] https://chromestatus.com/feature/5191745052606464 [2]
https://chromestatus.com/metrics/feature/timeline/popularity/3196


Blink componentBlink>DOM>ShadowDOM
<https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EDOM%3EShadowDOM>

Search tagsdeclarative <https://chromestatus.com/features#tags:declarative>
, shadow <https://chromestatus.com/features#tags:shadow>

TAG review

TAG review statusNot applicable

Risks


Interoperability and Compatibility

The new version of declarative shadow DOM has observable differences in
behavior: streaming. The launch plan is to ship the new behavior via the
new attribute name (`shadowrootmode`), while preserving the old behavior
under the old attribute name (`shadowroot`). Once the new behavior is
landed and stabilized, we will make a plan to deprecate the old shadowroot
attribute and behavior. This should ensure that the compat risk is low as
we transition to the new behavior.


*Gecko*: Positive (
https://github.com/whatwg/html/pull/5465#pullrequestreview-1132523065)

*WebKit*: Positive (
https://github.com/whatwg/html/pull/5465#pullrequestreview-1132523065)

*Web developers*: Positive (https://github.com/whatwg/dom/issues/831)
Search "streaming" on the issue discussion and you'll find many supportive
comments.

*Other signals*:

Ergonomics

No difference from existing, shipped declarative shadow DOM implementation.


Activation

No difference from existing, shipped declarative shadow DOM implementation.


Security

No difference from existing, shipped declarative shadow DOM implementation.


WebView application risks

Does this intent deprecate or change behavior of existing APIs, such that
it has potentially high risk for Android WebView-based applications?



Debuggability

No difference from existing, shipped declarative shadow DOM implementation.


Will this feature be supported on all six Blink platforms (Windows, Mac,
Linux, Chrome OS, Android, and Android WebView)?Yes

Is this feature fully tested by web-platform-tests
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
?Yes

Flag nameStreamingDeclarativeShadowDOM

Requires code in //chrome?False

Tracking bughttps://crbug.com/1379513

Estimated milestones

M111


Anticipated spec changes

Open questions about a feature may be a source of future web compat or
interop issues. Please list open issues (e.g. links to known github issues
in the project for the feature specification) whose resolution may
introduce web compat/interop risk (e.g., changing to naming or structure of
the API in a non-backward-compatible way).


Link to entry on the Chrome Platform Status
https://chromestatus.com/feature/5161240576393216

This intent message was generated by Chrome Platform Status
<https://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%3DNeDhGHqD6du83UKvRpX-P7ftaG_R8j1pXE-ofqwHGf-sysA%40mail.gmail.com.

Reply via email to