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.

Reply via email to