On Wed, Dec 7, 2022 at 5:33 PM Alex Russell <[email protected]> wrote:

> +1; great news on the streaming front.
>
> On the potential attribute name change, is it not possible to introduce
> streaming behaviour under the old name?
>

Thanks! Yes, it's totally possible to introduce streaming without changing
the attribute name. But in the spec PR conversations, keeping the old name
seems to be a non-starter. The issue is that the IDL reflection,
`shadowRoot`, shadows (ha!) the Element.shadowRoot attribute, and causes
some ambiguity. It's not a practical problem for developers, since
HTMLTemplateElement.shadowRoot is always null and is relatively useless.
But for consistency, the editors wanted a name change, to something that
can just reflect the string values ("open" and "closed") directly.

Thanks,
Mason




> Best,
>
> Alex
>
> On Tuesday, December 6, 2022 at 10:24:20 PM UTC-8 [email protected]
> wrote:
>
>> Great news!! :)
>>
>> On Tue, Dec 6, 2022 at 7:05 PM Mason Freed <[email protected]> wrote:
>>
>>> 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
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDg1Aa7f5j3Kbqag_QwWYpLhAqwkDo0Sv1Xt5mtPCpmkBw%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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDgTNT%3DBTtgXMLrmCekMGyxOJALC7v9B%2BJGextE7%2BuQ9JA%40mail.gmail.com.

Reply via email to