LGTM1 to remove in M129, given the usecounter numbers

On Wed, Jul 10, 2024 at 11:35 PM Mason Freed <masonfr...@google.com> wrote:

> I'd like to check back in on this deprecation. The drop in usage from May
> continued into June and July, with current numbers hovering around 0.003%:
> https://chromestatus.com/metrics/feature/timeline/popularity/3874. I
> added deprecation messages in M127, but that's not even in stable yet. My
> guess would be that usage will continue to drop as 127 goes to stable.
>
> Given the above, I'd like to re-request permission to remove the feature
> in M129, assuming all of the trends continue to look good.
>
> Thanks,
> Mason
>
>
> On Tuesday, June 4, 2024 at 12:28:54 AM UTC-7 Daniel Bratell wrote:
>
>> 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 <bra...@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) <
>> yoav...@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+...@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+...@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+...@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+...@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+...@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/CAOmohS%2BZW0sf1J4s1qCVQaLKZnQZ7712WXn%3D5v4rZPGb0AgtFQ%40mail.gmail.com.

Reply via email to