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://flagsElementGetInnerHTML
>>>>
>>>> Finch feature nameElementGetInnerHTML
>>>>
>>>> Requires code in //chrome?False
>>>>
>>>> Tracking bughttps://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.

Reply via email to