LGTM1

On Fri, Jun 26, 2026 at 5:34 AM Chromestatus <
[email protected]> wrote:

> *Contact emails*
> [email protected]
>
> *Specification*
> https://html.spec.whatwg.org/#attr-template-shadowrootslotassignment
>
> *Summary*
> Adds the shadowrootslotassignment attribute to the <template> element,
> allowing declarative shadow roots to use manual slot assignment. Until now
> this option was only available imperatively, via
> attachShadow({slotAssignment: "manual"}), so components that rely on manual
> assignment could not create their shadow roots declaratively. The attribute
> accepts "named" (the default, preserving current behavior) and "manual",
> and is reflected by the shadowRootSlotAssignment property on
> HTMLTemplateElement.
>
> *Blink component*
> Blink>DOM>ShadowDOM
> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3EDOM%3EShadowDOM%22>
>
> *Web Feature ID*
> declarative-shadow-dom
> <https://webstatus.dev/features/declarative-shadow-dom>
>
> *Motivation*
> slotAssignment is fixed at shadow root creation, so components using
> manual slot assignment could not adopt declarative shadow DOM. The gap was
> raised in https://github.com/WICG/webcomponents/issues/967 and specified
> in the HTML Standard via https://github.com/whatwg/html/pull/12267 . Both
> Gecko and WebKit have implemented the attribute, so shipping in Chromium
> completes cross-engine support. This feature is opt-in and the default
> ("named") is unchanged.
>
> *Initial public proposal*
> *No information provided*
>
> *Search tags*
> shadow <http:///features#tags:shadow>, DOM <http:///features#tags:DOM>,
> slot <http:///features#tags:slot>
>
> *TAG review*
> *No information provided*
>
> *TAG review status*
> Not applicable
>
> *Goals for experimentation*
> None
>
> *Risks*
>
>
> *Interoperability and Compatibility*
> Low risk. The new behavior is opt-in: it only applies when a page
> explicitly sets shadowrootslotassignment="manual", and the default
> ("named") matches current behavior, so existing content is unaffected. The
> attribute is specified in the HTML Standard (merged via
> https://github.com/whatwg/html/pull/12267, originally raised in
> https://github.com/WICG/webcomponents/issues/967) and both Gecko and
> WebKit have already implemented it, so shipping in Chromium completes
> cross-engine support. The change is guarded by the ShadowRootSlotAssignment
> feature flag: currently experimental, aiming to enable it by default from
> M151 and then retained as a kill switch (expected to be removed around
> M153).
>
> *Gecko*: Shipped/Shipping (
> https://bugzilla.mozilla.org/show_bug.cgi?id=2023824)
>
> *WebKit*: Shipped/Shipping (https://bugs.webkit.org/show_bug.cgi?id=310090
> ) https://github.com/WebKit/standards-positions/issues/631
>
> *Web developers*: Positive (
> https://github.com/WICG/webcomponents/issues/967)
>
> *Other signals*:
> https://developer.mozilla.org/en-US/docs/Web/API/HTMLTemplateElement/shadowRootSlotAssignment
>
> *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?
> The new behavior is opt-in, the default behavior remains unchanged, and
> pages that do not use the attribute are unaffected.
>
>
> *Debuggability*
> No new DevTools work required. The attribute is visible in the Elements
> panel like the other shadowroot* attributes, and the resulting shadow
> root's mode is already exposed via ShadowRoot.slotAssignment.
>
> *Will this feature be supported on all six Blink platforms (Windows, Mac,
> Linux, ChromeOS, 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
>
> https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-repeats-slot-assignment.html
> https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-slot-assignment.html
> https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-slot-assignment-serialization.html
>
> *Flag name on about://flags*
> *No information provided*
>
> *Finch feature name*
> ShadowRootSlotAssignment
>
> *Rollout plan*
> Will ship enabled for all users
>
> *Requires code in //chrome?*
> False
>
> *Tracking bug*
> https://issues.chromium.org/issues/493315747
>
> *Estimated milestones*
> Shipping on desktop 151
> Shipping on Android 151
> Shipping on WebView 151
>
> *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).
> *No information provided*
>
> *Link to entry on the Chrome Platform Status*
> https://chromestatus.com/feature/5178682139344896?gate=6073478714359808
>
> 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 [email protected].
> To view this discussion visit
> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a3e71b6.cff415cc.dde5e.00b1.GAE%40google.com
> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/6a3e71b6.cff415cc.dde5e.00b1.GAE%40google.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 [email protected].
To view this discussion visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-3Bz%3D13vmVq7kvWa53ahoGgU0kixeBsSYRR_nUXCvGvg%40mail.gmail.com.

Reply via email to