New issue
Advanced search Search tips

Issue 606822 link

Starred by 1 user

Issue metadata

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

Blocked on:
issue 603567



Sign in to add a comment

Pointer event shouldn't be subject to special touch event iframe hit-test rules

Project Member Reported by nzolghadr@chromium.org, Apr 26 2016

Issue description

Right now pointer events that are generated by touch are following touch hit testing model and all the touches hit test in the capturing frame which is the frame that got the first touch.

Although this is the model we would like to follow for touch events, pointer events should be separately hit-tested on their corresponding frame and they should be sent to that frame. So pointer events from multiple fingers on the screen may be sent to the nodes in the different frames.
 

Comment 1 by rbyers@chromium.org, May 17 2016

Summary: Pointer event shouldn't be subject to special touch event iframe hit-test rules (was: Separate hit testing for touch pointer events)
Clarifying summary.  In general we really do want to share hit testing between touch and pointer events.

But in multi-touch scenarios touch events need a hack where all touches hit-test in the context of the same iframe.

Project Member

Comment 2 by bugdroid1@chromium.org, May 19 2016

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

commit 5ce73f6e13fdb838a6c92430ca39538ed7e8a452
Author: nzolghadr <nzolghadr@chromium.org>
Date: Thu May 19 17:23:43 2016

Move touch hit testing to PointerEventManager

Move touch hit testing to PointerEventManager class
to separate pointer event hit testing from touch event
hit testing. Now touch events use the pointer event
hit testing result if they were in the touch capturing
iframe otherwise they do another hit testing.

BUG= 606822 

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

[add] https://crrev.com/5ce73f6e13fdb838a6c92430ca39538ed7e8a452/third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-capture-in-iframe-expected.txt
[add] https://crrev.com/5ce73f6e13fdb838a6c92430ca39538ed7e8a452/third_party/WebKit/LayoutTests/virtual/pointerevent/fast/events/pointerevents/touch-capture-in-iframe.html
[modify] https://crrev.com/5ce73f6e13fdb838a6c92430ca39538ed7e8a452/third_party/WebKit/Source/core/input/EventHandler.h
[modify] https://crrev.com/5ce73f6e13fdb838a6c92430ca39538ed7e8a452/third_party/WebKit/Source/core/input/PointerEventManager.cpp
[modify] https://crrev.com/5ce73f6e13fdb838a6c92430ca39538ed7e8a452/third_party/WebKit/Source/core/input/TouchEventManager.cpp
[modify] https://crrev.com/5ce73f6e13fdb838a6c92430ca39538ed7e8a452/third_party/WebKit/Source/core/input/TouchEventManager.h

Status: Fixed (was: Assigned)

Sign in to add a comment