Temporarily add UseCounter for no-op navigator.pointerEnabled API |
|||||
Issue descriptionWe're trying to understand the compat implications of some breaking changes we want to make to the PointerEvents API. One major difference between the spec / Chrome and Edge is that Edge still has a navigator.pointerEnabled API (on desktop only). This means some changes may appear to be safe to us, but will actually break Edge on sites where the PE code is guarded by a pointerEnabled checked. We'd like to be able to estimate an upper bound on the potential risk here. I suggest we add a simply navigator.pointerEnabled API that returns 'undefined' (behind the PointerEvent RuntimeEnabledFeature of course) just for UseCounter purposes. Since this API is not part of the spec (and not something we'd be likely to want to ship) we should leave a TODO in the code saying to remove the API once we've collected the data we want.
,
Aug 3 2016
I will also add the following counters: - Dispatching boundary events when an event listener is there. - Dispatching boundary events for a captured pointerId when an event listener is there.
,
Aug 5 2016
Since we will keep this bug open until we remove navigator.pointerEnabled at the end of our assessment, I will hold off the boundary event counters (mentioned in #2) for a separate CL.
,
Aug 23 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/b226b2fff6a3aeeca697ba93d23e579ff873043a commit b226b2fff6a3aeeca697ba93d23e579ff873043a Author: mustaq <mustaq@chromium.org> Date: Tue Aug 23 16:11:07 2016 Added navigator.pointerEnabled behind a flag for experiment. Added navigator.pointerEnabled returning undefined behind the PointerEvent flag. Also added a counter for its usage. This is a temporary change to collect usage data of (non-standard) navigator.pointerEnabled. Edge still supports the API (desktop only), and some Pointer Event sites rely on it. BUG= 631897 TBR=isherman@chromium.org Review-Url: https://codereview.chromium.org/2217773004 Cr-Commit-Position: refs/heads/master@{#413751} [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/third_party/WebKit/Source/core/events/NavigatorEvents.cpp [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/third_party/WebKit/Source/core/events/NavigatorEvents.h [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/third_party/WebKit/Source/core/events/NavigatorEvents.idl [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/third_party/WebKit/Source/core/frame/Deprecation.cpp [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/third_party/WebKit/Source/core/frame/UseCounter.h [modify] https://crrev.com/b226b2fff6a3aeeca697ba93d23e579ff873043a/tools/metrics/histograms/histograms.xml
,
Aug 23 2016
The API & counter landed. I will keep the bug open to get rid of them after a while.
,
Sep 27 2016
We don't want to expose Navigator.pointerEnabled by default, so it should be nuked before turning on PointerEvents.
,
Sep 27 2016
On M54 beta where we are running a 50% field trial, we have ~0.87% and ~2.6% page visits accessing pointerEnabled in Windows & Android respectively (after considering the field trial fraction). I think this data is good enough for our purpose here.
,
Sep 28 2016
The following revision refers to this bug: https://chromium.googlesource.com/chromium/src.git/+/dd33bdb2ed843cdf6679dd27a5802136c69de0a4 commit dd33bdb2ed843cdf6679dd27a5802136c69de0a4 Author: mustaq <mustaq@chromium.org> Date: Wed Sep 28 15:37:27 2016 Removed navigator.pointerEnabled API. The deprecated API was added temporarily only to estimate its usage. This CL also removes unused counters for Pointer Events. BUG= 631897 Review-Url: https://codereview.chromium.org/2372293002 Cr-Commit-Position: refs/heads/master@{#421526} [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/LayoutTests/webexposed/global-interface-listing-expected.txt [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/Source/core/events/EventTarget.cpp [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/Source/core/events/NavigatorEvents.cpp [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/Source/core/events/NavigatorEvents.h [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/Source/core/events/NavigatorEvents.idl [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/Source/core/frame/Deprecation.cpp [modify] https://crrev.com/dd33bdb2ed843cdf6679dd27a5802136c69de0a4/third_party/WebKit/Source/core/frame/UseCounter.h
,
Sep 28 2016
|
|||||
►
Sign in to add a comment |
|||||
Comment 1 by mustaq@chromium.org
, Jul 27 2016Owner: mustaq@chromium.org
Status: Assigned (was: Available)