LGTM2. Thanks for the thorough analysis. Please roll this out carefully. On Thu, Oct 13, 2022 at 8:07 PM Chris Harrelson <chris...@chromium.org> wrote:
> LGTM1 > > On Thu, Oct 13, 2022 at 11:06 AM Xiaocheng Hu <xiaoche...@chromium.org> > wrote: > >> 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 bug >>> https://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 >> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/9547aff7-15ad-420e-8574-d5bfc06b67c3n%40chromium.org?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/CAOMQ%2Bw-9CRZ5ZRC6BVUU0-jcEE0jOyvqdOuvmU_fAUZ%2BeEOhrQ%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAOMQ%2Bw-9CRZ5ZRC6BVUU0-jcEE0jOyvqdOuvmU_fAUZ%2BeEOhrQ%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/CAL5BFfWPWqQYpYTz%2BJ9O_VegsT1rG%2By1pFT5H3wGtRTpASqiag%40mail.gmail.com.