I don't think we, in general, want open ended deprecations. Nowadays they are a bit more hidden in DevTools, but they used to be a source of console spam and cause warning fatigue. Many also don't react to deprecations unless there is some kind of timeline so I really prefer there to be a set point in the future where we plan to remove something.

I will also admit to being a bit mislead by the way chromestatus generates mail titles, thinking you had already planned for a removal.

/Daniel

On 2024-03-19 23:51, 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?

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 <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDjAZX70dA6rRjASo%3D70sPstaGn4WJEyMrQud0PdFG8Gug%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/66900d83-e291-4a49-a132-aa6fbbb5b04b%40gmail.com.

Reply via email to