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.
