New issue
Advanced search Search tips

Issue 640637 link

Starred by 2 users

Issue metadata

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

Blocked on:
issue 640700



Sign in to add a comment

Add counters to estimate the fraction of boundary events dispatched for captured pointer ids

Project Member Reported by mustaq@chromium.org, Aug 24 2016

Issue description

We want to confirm our hypothesis that our proposed no-hittesting-during-capture model won't have any compat implication on exiting PE sites.

Our spec proposal: https://github.com/w3c/pointerevents/issues/61

This is already implemented in Chrome: for touch, it has been the case from the beginning of our implementation because of implicit capture on touchstart. For mouse, the changed landed recently (https://codereview.chromium.org/2174863002).

We need to estimates the fraction of boundary (pointerenter/leave/over/out) events that are fired after the pointerId has been captured. 

This came up during the MS Hackathon, see the details in the notes:
https://docs.google.com/document/d/1b8aJOJcGXakstFJslKl87QwvlFHhHwGbQfJwnUTBBHg/edit?usp=sharing

 

Comment 1 by mustaq@chromium.org, Aug 24 2016

Since we stopped sending boundary events on captured pointerId already, counting the boundary events after capturing would need either:
- start sending boundary events for both touch & mouse again, or
- forward hittest result from PointerEventManager down to EventTarget to decide which one to count.

Given the usage counts for PointerEvents in general and pointer-capturing in particular, none of these changes worth the effort.

I will instead add counters that would work after we have a mode-switch flag ( crbug.com/640700 ). We will run a Finch trial to collect data with that flag.
Project Member

Comment 2 by bugdroid1@chromium.org, Aug 26 2016

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/44f9943d379d6647fa3ef799dc1c6fa427fcd835

commit 44f9943d379d6647fa3ef799dc1c6fa427fcd835
Author: mustaq <mustaq@chromium.org>
Date: Fri Aug 26 16:25:33 2016

Added counters for pointer boundary events fired.

Covered both unconditional firing and firing for captured pointer ids.

BUG= 640637 
TBR=isherman@chromium.org

Review-Url: https://codereview.chromium.org/2274253002
Cr-Commit-Position: refs/heads/master@{#414728}

[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/dom/Element.cpp
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/dom/Element.h
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/events/EventTarget.cpp
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/frame/UseCounter.h
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/input/EventHandler.cpp
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/input/EventHandler.h
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/input/PointerEventManager.cpp
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/third_party/WebKit/Source/core/input/PointerEventManager.h
[modify] https://crrev.com/44f9943d379d6647fa3ef799dc1c6fa427fcd835/tools/metrics/histograms/histograms.xml

Comment 3 by mustaq@chromium.org, Aug 26 2016

Status: Fixed (was: Started)

Comment 4 by mustaq@chromium.org, Aug 26 2016

Blockedon: 640700
Status: Assigned (was: Fixed)
Fixed, but the counts won't be in until we have an "Edge mode" from PointerEvents. I will leave this bug open until we have that.

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

Status: Fixed (was: Assigned)
Seems UMA data for boundary events for captured pointers is useless---the codepath is used only for compat testing. Reverted the correspoding part of #2 through crrev.com/2372293002.

Sign in to add a comment