New issue
Advanced search Search tips

Issue 859132 link

Starred by 1 user

Issue metadata

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



Sign in to add a comment

When pointer locked, getCoalescedEvent returns no result

Project Member Reported by eirage@chromium.org, Jun 29 2018

Issue description

Test with: https://eirage.github.io/PointerLockLog#
check "pointermove" checkbox (uncheck "mousemove")

move mouse around and see result in coalescedEventCount column
request pointer lock and see the result.

What is the expected result?
pointer lock should not affect getCoalescedEvent method

What happens instead?
getCoalescedEvent returns empty list.

Apparently we didn't handle coalesced event on PointerLockController::DispatchLockedMouseEvent

 
Project Member

Comment 1 by bugdroid1@chromium.org, Sep 17

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

commit 98fe895533a521d1ac7f38627b86bb2dc718e3f7
Author: Ella Ge <eirage@chromium.org>
Date: Mon Sep 17 21:54:31 2018

Direct dispatch mouse pointer event by MEM and PEM

We used to direct dispatch mouse pointer events by a different
code path in node.cc. Unlike normal events, these events are
created separately and didn't went through EventHandler. This
causes extra complexity.

This CL changes the direct dispatch code path to dispatch events
through PointerEventManager and MouseEventManager, so we can have
only one place to create events and further merge the event
code path in the future.
This patch should cause no change for direct dispatched events
other then the click count. The new direct dispatch code path
will also update click_count stored in MEM by the
WebMouseEvent.click_count.

This CL also fixes two issue caused by different code path,
1. direct dispatched pointermove events, (eg. when pointerlocked),
didn't havbe getCoalescedEvents.
2. pointer move on chorded mouse button when pointer is locked.

Bug:  859132 , 665924
Change-Id: Iead9c8135ef58c2bf8e45bd7787cf14334c2e139
Reviewed-on: https://chromium-review.googlesource.com/1134219
Commit-Queue: Ella Ge <eirage@chromium.org>
Reviewed-by: Dave Tapuska <dtapuska@chromium.org>
Reviewed-by: Navid Zolghadr <nzolghadr@chromium.org>
Reviewed-by: Mustaq Ahmed <mustaq@chromium.org>
Cr-Commit-Position: refs/heads/master@{#591834}
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt/pointerevents/extension/pointerevent_getCoalescedEvents_when_pointerlocked-manual.html
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt/pointerevents/extension/pointerevent_pointerrawmove_in_pointerlock-manual.html
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock-manual.html
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked-manual.html
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt/pointerevents/pointerlock/resources/pointerevent_pointermove_in_pointerlock-iframe.html
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/extension/pointerevent_getCoalescedEvents_when_pointerlocked-manual-automation.js
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerlock/pointerevent_pointermove_in_pointerlock-manual-automation.js
[add] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/WebKit/LayoutTests/external/wpt_automation/pointerevents/pointerlock/pointerevent_pointermove_on_chorded_mouse_button_when_locked-manual-automation.js
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/dom/node.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/dom/node.h
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/exported/web_view_impl.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/exported/web_view_impl.h
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/frame/web_frame_widget_base.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/frame/web_frame_widget_impl.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/html/forms/internal_popup_menu.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/input/event_handler.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/input/event_handler.h
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/input/pointer_event_manager.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/input/pointer_event_manager.h
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/page/pointer_lock_controller.cc
[modify] https://crrev.com/98fe895533a521d1ac7f38627b86bb2dc718e3f7/third_party/blink/renderer/core/page/pointer_lock_controller.h

Status: Fixed (was: Assigned)

Sign in to add a comment