New issue
Advanced search Search tips

Issue 631897 link

Starred by 4 users

Issue metadata

Status: Fixed
Owner:
Closed: Sep 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: All
Pri: 3
Type: Bug

Blocking:
issue 196799



Sign in to add a comment

Temporarily add UseCounter for no-op navigator.pointerEnabled API

Project Member Reported by rbyers@chromium.org, Jul 27 2016

Issue description

We'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.

 

Comment 1 by mustaq@chromium.org, Jul 27 2016

Labels: PointerEvent
Owner: mustaq@chromium.org
Status: Assigned (was: Available)
Status: Started (was: Assigned)
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.
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.
Project Member

Comment 4 by bugdroid1@chromium.org, 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

Comment 5 by mustaq@chromium.org, Aug 23 2016

Labels: -Pri-2 Pri-3
Summary: Temporarily add UseCounter for no-op navigator.pointerEnabled API (was: Add UseCounter for no-op navigator.pointerEnabled API)
The API & counter landed. I will keep the bug open to get rid of them after a while.

Comment 6 by mustaq@chromium.org, Sep 27 2016

Blocking: 196799
We don't want to expose Navigator.pointerEnabled by default, so it should be nuked before turning on PointerEvents.

Comment 7 by mustaq@chromium.org, 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.

Comment 9 by mustaq@chromium.org, Sep 28 2016

Status: Fixed (was: Started)

Sign in to add a comment