Hi Mason,
Would you mind requesting reviews for the various shipping gates
(privacy, security, enterprise, etc.) in your chromestatus entry?
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/2f6870de-3c72-4c98-a3e3-92c1055fcacd%40chromium.org.