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?

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?

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.

Reply via email to