Contact [email protected] 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.002% usage [2]. Mostly, that 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 are being requested: 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. Chromium would like to prototype these changes. [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> Motivation Developers have always wanted declarative shadow DOM to support streaming, but other implementers were always opposed to making the required changes to the HTML parser. Recently, those concerns were changed, and other implementations proceeded with a streaming prototype. Initial public proposal 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. The plan for prototyping the new approach while keeping the functionality of the old approach is to trigger the new streaming behavior based on the presence of the new attribute `shadowrootmode`. If the (old) `shadowroot` attribute is used, the old non-streaming behavior will be used. This should ensure there are no compat risks, as we transition to the new behavior. Eventually, the plan would be to deprecate the old non-streaming behavior and `shadowroot` attribute. *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. 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 No milestones specified 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 [email protected]. To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDg1Aa7f5j3Kbqag_QwWYpLhAqwkDo0Sv1Xt5mtPCpmkBw%40mail.gmail.com.
