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?

Thanks,
Mason


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/CAM%3DNeDjAZX70dA6rRjASo%3D70sPstaGn4WJEyMrQud0PdFG8Gug%40mail.gmail.com.

Reply via email to