On Wed, Mar 20, 2024 at 9:54 AM Philip Jägenstedt <foo...@chromium.org>
wrote:

> LGTM1 to remove without deprecation
>

Cool, ok! If I get two more of those, then I'll go ahead with the removal.
I'd still like to take it slowly and carefully, so I think I'd roll it out
via Finch over a milestone or two. But if that's what the API owners
prefer, that's fine by me.


> I looked through all 24 sites listed in
> https://chromestatus.com/metrics/feature/timeline/popularity/4455. 23 of
> them are the code from client-shim.js minified in various ways, and one
> site no longer has includeShadowRoots.
>

Wow, thanks for doing that work. I'm glad the subsequent 16 sites looked
just like the top 8. As a side-note to that, I reached out to someone who
is putting up a PR against client-shim.js to move to the new/correct
feature detection. It sounded like in the next few days, maybe.

Thanks,
Mason



> On Wed, Mar 20, 2024 at 5:11 PM Mike Taylor <miketa...@chromium.org>
> wrote:
>
>> On 3/19/24 6:51 PM, Mason Freed wrote:
>>
>>
>>
>> On Tue, Mar 19, 2024 at 1:44 PM Mike Taylor <miketa...@chromium.org>
>> wrote:
>>
>>> Hi Mason,
>>>
>>> Would you mind requesting reviews for the various shipping gates
>>> (privacy, security, enterprise, etc.) in your chromestatus entry?
>>>
>>
>> Definitely! But I only need to do that before I ship this, right? I.e.
>> not required yet, while I’m just deprecating but not yet removing the
>> feature?
>>
>> We discussed this in our owners meeting today, and we think it's probably
>> useful to go ahead and do that now - Enterprise in particular would
>> probably be very interested in knowing about a deprecation. And for the
>> rest if you think they're N/A, it's not much work to request that.
>>
>>
>>
>> On 3/15/24 6:49 PM, Mason Freed wrote:
>>>
>>> Contact emails mas...@chromium.org
>>>
>>> Explainer None
>>>
>>> Specification https://github.com/whatwg/html/pull/10139
>>>
>>> Summary
>>>
>>> The includeShadowRoots argument was a never-standardized argument to the
>>> DOMParser.parseFromString() function, which was there to allow imperative
>>> parsing of HTML content that contains declarative shadow DOM. This was
>>> shipped in M90 [1] as part of the initial shipment of declarative shadow
>>> DOM. Since the standards discussion rematerialized in 2023, the shape of
>>> DSD APIs changed, including this feature for imperative parsing. (See [2]
>>> for more context on the standards situation and recent changes, and see [3]
>>> and [4] for other related deprecations.) Now that a standardized version of
>>> this API, in the form of setHTMLUnsafe() and parseHTMLUnsafe() will ship in
>>> M124 ([5]), the non-standard includeShadowRoots argument needs to be
>>> deprecated and removed. All usage should shift accordingly: Instead of:
>>> (new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots:
>>> true}); this can be used instead: document.parseHTMLUnsafe(html); [1]
>>> https://chromestatus.com/feature/5191745052606464 [2]
>>> https://chromestatus.com/feature/5161240576393216 [3]
>>> https://chromestatus.com/feature/5081733588582400 [4]
>>> https://chromestatus.com/feature/6239658726391808 [5]
>>> https://chromestatus.com/feature/6560361081995264
>>>
>>>
>>> Blink component Blink>DOM>ShadowDOM
>>> <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EDOM%3EShadowDOM>
>>>
>>> Motivation
>>>
>>> Now that there is a standardized version of this API, it makes sense to
>>> remove the non-standard, Chrome-only version of the API.
>>>
>>>
>>> Initial public proposal None
>>>
>>> TAG review None
>>>
>>> TAG review status Not applicable
>>>
>>> Risks
>>>
>>>
>>> Interoperability and Compatibility
>>>
>>> Because this is a removal of an API, there is some compat risk if sites
>>> use the API without feature detection. Additionally, feature detection is a
>>> bit difficult for this feature directly, and typical usage would instead
>>> feature-detect the old `shadowroot` attribute. In that case, there should
>>> be no breakage, since that attribute has since been removed. The use
>>> counter [1] for this feature has unfortunately had a recent spike in usage,
>>> peaking at just over 0.01% of page loads as of March, 2024. However, I
>>> analyzed 8 of the top sites, and 8 of 8 are due to the exact same code
>>> snippet, from AstroJS/Lit [2]. And that code amounts to feature detection,
>>> which as-written will properly detect the lack of `includeShadowRoots` and
>>> fall back to other behavior. This, plus the lack of support in other
>>> browsers, makes me less concerned about the compat risk here. [1]
>>> https://chromestatus.com/metrics/feature/timeline/popularity/4455 [2]
>>> https://github.com/withastro/astro/blob/main/packages/integrations/lit/client-shim.js
>>>
>>>
>>> *Gecko*: No signal
>>>
>>> *WebKit*: No signal
>>>
>>> *Web developers*: No signals
>>>
>>> *Other signals*:
>>>
>>> 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?
>>>
>>> None
>>>
>>>
>>> Debuggability
>>>
>>> None
>>>
>>>
>>> Is this feature fully tested by web-platform-tests
>>> <https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>
>>> ? Yes
>>>
>>> Tested via this WPT:
>>> https://wpt.fyi/results/shadow-dom/declarative/declarative-shadow-dom-opt-in.html
>>> which fails because `includeShadowRoots` is non-standard. This is the only
>>> test failing within the Interop2024 Declarative Shadow DOM section, due to
>>> this deprecation not being completed yet.
>>>
>>>
>>> Flag name on chrome://flags
>>>
>>> Finch feature name None
>>>
>>> Non-finch justification None
>>>
>>> Requires code in //chrome? False
>>>
>>> Estimated milestones
>>> Shipping on desktop 129
>>> DevTrial on desktop 125
>>> Shipping on Android 129
>>> DevTrial on Android 125
>>> Shipping on WebView 129
>>>
>>> Link to entry on the Chrome Platform Status
>>> https://chromestatus.com/feature/5116094370283520
>>>
>>> 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%3DNeDhoX1h-FiR6p9tjuOCxhb1iXVciuQ%2BH4%3DHnzdb9M4rGKQ%40mail.gmail.com
>>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDhoX1h-FiR6p9tjuOCxhb1iXVciuQ%2BH4%3DHnzdb9M4rGKQ%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 blink-dev+unsubscr...@chromium.org.
>> To view this discussion on the web visit
>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ed23f647-4779-4a1a-a7d9-5a6447ae099d%40chromium.org
>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/ed23f647-4779-4a1a-a7d9-5a6447ae099d%40chromium.org?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 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%3DNeDgCKeAMnvN20COWT1AMx6YPCwTAtCOJVsnh01BLGjiRHw%40mail.gmail.com.

Reply via email to