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.