LGTM3 for the deprecation in 127. I'd like to hold off on stamping the removal approval until later but threatening (well, targetting) removal in 129 seems ok.

/Daniel

On 2024-05-31 02:44, Mason Freed wrote:
Thanks for the LGTMs!

On Wed, May 29, 2024 at 7:54 AM Daniel Bratell <brat...@sarasas.se> wrote:

    Deprecating seems fine, especially since it's a relatively new API
    and less likely to be used on non-maintained sites, but removal
    seems a bit premature even if done slowly. Would it be better to
    let it bake a few milestones and see if a scary deprecation
    message threatening removal after the summer drives the usage down?

I'm starting to get the feeling that this would be a good idea. The Enterprise folks on the chromestatus gate also asked for something similar - 3 milestones of warning period before the deprecation.

I'm inclined to just do that - it feels safer, and I don't think there's a huge rush to turn this off. Especially with usage going in the right direction, instead of further up.

So I've modified the chromestatus <https://chromestatus.com/feature/5081733588582400> to show a shipping milestone of M129. Does that work? And I'll add a big console error starting in M127.


On Wed, May 29, 2024 at 1:22 AM Yoav Weiss (@Shopify) <yoavwe...@chromium.org> wrote:

            Your questions prompted me to take a closer look at the
            sample sites still hitting the use counter. I took a close
            look at the first 10 entries listed, and I think I found
            perhaps where the big drop came from. Of those ten sites,
            seven do not use getInnerHTML or getHTML at all. Likely
            not coincidentally, all seven are Shopify sites. My guess
            would be that Shopify very recently removed its usage of
            getInnerHTML?


    FWIW, internal code search brought up nothing. It's possible that
    this is a 3P app
    <https://shopify.dev/docs/apps/build/online-store/theme-app-extensions> that
    changed their use. (or that I'm simply failing to find the
    relevant change :D)


Thanks for checking that! It's always hard to figure out what happened after the fact like this.

        The plan to ramp down usage is a good one, although as we
        previously discussed in a different thread, it may cause some
        debugging challenges for developers. It is worthwhile to also
        reach out to some of the developers whose sites you noticed
        would throw an exception -- just an FYI email that this
        feature is being removed. Given the fairly low usage, readily
        available fixes (via getHTML() or possibly innerHTML) and your
        commitment to monitor for breakages, this looks good to me.


I might want to tweak this plan now that we're extending by 2/3 milestones. Maybe now (after console warnings) it makes more sense to just disable in one shot?

I'll try to reach out to the sites I noticed.

Thanks,
Mason


    /Daniel

    On 2024-05-29 10:22, Yoav Weiss (@Shopify) wrote:
    LGTM2

    On Tue, May 28, 2024 at 11:10 PM Vladimir Levin
    <vmp...@chromium.org> wrote:



        On Tue, May 28, 2024 at 12:30 PM Mason Freed
        <mas...@chromium.org> wrote:



            On Mon, May 27, 2024 at 8:15 AM Vladimir Levin
            <vmp...@chromium.org> wrote:


                            Interoperability and Compatibility

                    The use counter for getInnerHTML()
                    
(https://chromestatus.com/metrics/feature/timeline/popularity/3874)
                    peaked at 0.05% of page loads using this function
                    as of January 2024, and dropped precipitously
                    toward 0.01% in May, 2024. This is presumably due
                    to the shipment of its replacement, getHTML().


                It's great to see the numbers reduce significantly.
                If the numbers are being migrated to getHTML() though
                I would have expected
                
https://chromestatus.com/metrics/feature/timeline/popularity/4781
                to grow by ~0.04 percentage points, but that one is
                still significantly lower (although growing). Is it
                possible that June 1 numbers would show a better
                balance? Do you by any chance know when the next data
                point is expected to be visible on chromestatus?

                I'm also assume people are using a readily available
                replacement as opposed to just not using
                getInnerHTML, but it would be nice if number
                supported that


            Great questions. So AFAIK the use counter plot for the
            current month is a continuous aggregation. I.e. the
            0.0168% I see today (May 28) is as of the 28th, and will
            change tomorrow (slightly). Given that we're almost to
            the end of the month, I wouldn't expect a ton of shift.
            So I think you might be right that this isn't actually a
            shift to getHTML, but just a shift away from
            getInnerHTML. See more below.

            Your questions prompted me to take a closer look at the
            sample sites still hitting the use counter. I took a
            close look at the first 10 entries listed, and I think I
            found perhaps where the big drop came from. Of those ten
            sites, seven do not use getInnerHTML or getHTML at all.
            Likely not coincidentally, all seven are Shopify sites.
            My guess would be that Shopify very recently removed its
            usage of getInnerHTML?


    FWIW, internal code search brought up nothing. It's possible that
    this is a 3P app
    <https://shopify.dev/docs/apps/build/online-store/theme-app-extensions>
    that changed their use. (or that I'm simply failing to find the
    relevant change :D)


            The real issue is that the remaining three sites *do*
            still use getInnerHTML, and all three throw exceptions
            when the feature is disabled. I can't perceive anything
            broken on the site, but the exception isn't a good sign.
            A few interesting tidbits: one of the three does appear
            to (properly) feature-detect getInnerHTML() yet an
            exception is still thrown that might or might not be
            related. The other two do not feature detect, and the
            exception is clear: "getInnerHTML is not a function".
            Very interestingly, none of the three use getInnerHMTL
            for anything declarative shadow dom related. They seem to
            just be using it as a way to get the innerHTML value. All
            three seem to be hand-written JS, so it's possible the
            sites were developed on Chrome in the last few years and
            the developer didn't notice that they should have done
            foo=el.innerHTML instead of foo=el.getInnerHTML().

            Given that the use counter is very low (0.01%), I'd still
            like to push ahead with this deprecation. The above sites
            likely represent interop problems, since they'll break on
            other browsers already today. But I'd like to revise my
            plan: instead of going immediately to 100% removal, I'd
            like to use a slow ramp down over time, to monitor for
            reported breakage.

            Thoughts?


        The plan to ramp down usage is a good one, although as we
        previously discussed in a different thread, it may cause some
        debugging challenges for developers. It is worthwhile to also
        reach out to some of the developers whose sites you noticed
        would throw an exception -- just an FYI email that this
        feature is being removed. Given the fairly low usage, readily
        available fixes (via getHTML() or possibly innerHTML) and
        your commitment to monitor for breakages, this looks good to me.

        LGTM1


            Thanks,
            Mason


                    While 0.01% still represents high usage for
                    deprecation, the numbers were significantly worse
                    for the deprecation of the old `shadowroot`
                    attribute, and the removal of that feature
                    generated zero bug reports. It is my strong
                    belief that since this feature is only shipped in
                    Chrome, the vast majority of usage is guarded by
                    feature checks. So this deprecation should be
                    safer than it would seem from the numbers. I'd
                    like to remove this feature in M127 in code, with
                    a killswitch (a re-enable switch really) in case
                    of problems.



                    /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



                            Will this feature be supported on all six
                            Blink platforms (Windows, Mac, Linux,
                            ChromeOS, Android, and Android WebView)?

                    Yes


                            Is this feature fully tested by
                            web-platform-tests
                            
<https://chromium.googlesource.com/chromium/src/+/main/docs/testing/web_platform_tests.md>?

                    Yes


                            Flag name on chrome://flags

                    ElementGetInnerHTML


                            Finch feature name

                    ElementGetInnerHTML


                            Requires code in //chrome?

                    False


                            Tracking bug

                    https://crbug.com/1519972


                            Estimated milestones

                    Shipping on desktop         127

                    Shipping on Android         127

                    Shipping on WebView         127



                            Anticipated spec changes

                    Open questions about a feature may be a source of
                    future web compat or interop issues. Please list
                    open issues (e.g. links to known github issues in
                    the project for the feature specification) whose
                    resolution may introduce web compat/interop risk
                    (e.g., changing to naming or structure of the API
                    in a non-backward-compatible way).

                    None


                            Link to entry on the Chrome Platform Status

                    
https://chromestatus.com/feature/5081733588582400?gate=5088451454304256

                    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%3DNeDjZJvRAcpSj2cAWi6uW7yYmDV8HdMkqQjFOS3q%3DidB9fQ%40mail.gmail.com
                    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDjZJvRAcpSj2cAWi6uW7yYmDV8HdMkqQjFOS3q%3DidB9fQ%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%3DNeDh_myM1eudBh_%3DeY4F9UZN9vZxRa9%2BmV9vKSR9Nh1iHhw%40mail.gmail.com
            
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDh_myM1eudBh_%3DeY4F9UZN9vZxRa9%2BmV9vKSR9Nh1iHhw%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/CADsXd2MvNLyYnrF2q%2BhEx8EAoiZsC_ws3Bj3%3DOw7K5m-hRAvDQ%40mail.gmail.com
        
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CADsXd2MvNLyYnrF2q%2BhEx8EAoiZsC_ws3Bj3%3DOw7K5m-hRAvDQ%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/CAOmohSJ_LsKuzR2FezpC4cxyFsb5nUaG65LeidpyfSmFWVGJaQ%40mail.gmail.com
    
<https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOmohSJ_LsKuzR2FezpC4cxyFsb5nUaG65LeidpyfSmFWVGJaQ%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%3DNeDhoYiq3D6HFupxGhQL1SOSKVUFD%3DxQJGXTamyDvPTDr2A%40mail.gmail.com <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAM%3DNeDhoYiq3D6HFupxGhQL1SOSKVUFD%3DxQJGXTamyDvPTDr2A%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/fbeb532e-fde2-4df6-a08f-dbb14d580dc7%40sarasas.se.

Reply via email to