Hi all, Here's an update as now the trunk has reached M109, the target milestone for the removal.
Event.path has been fully disabled on Canary & Dev, 50% on Beta and 1% on Stable. To help migration, an enterprise policy <https://chromeenterprise.google/policies/#EventPathEnabled> is also added to extend the availablility of Event.path until M115. Despite the usage number <https://chromestatus.com/metrics/feature/timeline/popularity/345> still being high, I think the actual compat risks of the removal is low because: - The feature is never supported by WebKit or Gecko, yet there's no bug reports for them - Since the partial disabling, we have received only one complaint <https://groups.google.com/a/chromium.org/g/chromium-dev/c/xt4XJYpoHXo/m/yBW13BXvAAAJ>, which appears resolved by the enterprise policy - HTTPArchive source analysis <https://docs.google.com/document/d/1JUeNc-ZxxWTn2tz9M_DJ4cV-M8lBdp40xlnfQ2-Mhgg/edit> (done in June) shows that very few (<0.1%) pages actually have a usage that will fail after the removal; Many other pages are using the feature with Event.composedPath() or some ad hoc code as a fallback, or are not real usage (e.g., cloning every attribute of an Event object, hence triggering the use counter without actually using it) On Tuesday, February 8, 2022 at 4:25:57 PM UTC-8 Xiaocheng Hu wrote: > Contact emailsxiaoche...@chromium.org > > ExplainerNone > > SpecificationNone. Not a standard feature. > > Summary > > Event.path is a non-standard API that returns the event's path, which is > an array of the objects on which listeners will be invoked. It is supported > by Blink only, causing web compatibility issues. Web developers should > switch to the equivalent standard API Event.composedPath(), which returns > the same result. > > > Blink componentBlink>DOM > <https://bugs.chromium.org/p/chromium/issues/list?q=component:Blink%3EDOM> > > TAG review > > TAG review statusNot applicable > > Risks > > > Interoperability and Compatibility > > The removal of this API should improve interoperability, as it's supported > by Blink only. It still has 18% usage as of Feb 2022 ( > https://chromestatus.com/metrics/feature/timeline/popularity/345), so we > will only deprecate it for now, and will not remove it before the usage > drops low enough. We expect low compatibility risks, since there is an > equivalent standard API (Event.composedPath()) by all browsers, and the > following polyfill should also keep existing sites functioning with minimum > changes: if (!Event.prototype.path) { > Object.defineProperty(Event.prototype, 'path', { get() { return > this.composedPath(); } }); } > > > Gecko: No signal Firefox does not support Event.path > > WebKit: No signal Safari does not support Event.path > > Web developers: Positive ( > https://github.com/web-platform-tests/interop-2022/issues/26) > > Other signals: > > > Debuggability > > Usage of this deprecated feature will be reported to the DevTools Issues > Tab. > > > Is this feature fully tested by web-platform-tests > <https://chromium.googlesource.com/chromium/src/+/master/docs/testing/web_platform_tests.md> > ?No > > Flag name > > Requires code in //chrome?False > > Tracking bughttps://bugs.chromium.org/p/chromium/issues/detail?id=1277431 > > Estimated milestones > > No milestones specified > > > Link to entry on the Chrome Platform Status > https://chromestatus.com/feature/5726124632965120 > > 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/9547aff7-15ad-420e-8574-d5bfc06b67c3n%40chromium.org.