New issue
Advanced search Search tips

Issue 608508 link

Starred by 1 user

Issue metadata

Status: Verified
Owner:
Closed: May 2016
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Chrome
Pri: 2
Type: Bug



Sign in to add a comment

mus: PointerWatcher should use screen coordinates

Project Member Reported by jamescook@chromium.org, May 2 2016

Issue description

Most candidates for conversion to PointerWatcher take the input event and immediately convert it to screen coordinates to test against a widget's bounds.

Right now under mus we're relying on root_window coordinates matching screen coordinates, and it probably only works in single-display. See  issue 608507 .

Change the method signatures of PointerWatcher to explicitly pass screen coordinates to listeners, since that's what they want anyway.

 
Status: Started (was: Assigned)
Project Member

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

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

commit e27b07278681ba98ec911b145968315b5eb63440
Author: jamescook <jamescook@chromium.org>
Date: Tue May 03 19:59:25 2016

mash: Fix shelf overflow bubble not closing on click outside its bounds

* Add screen location to views::PointerWatcher notifications.
* Convert OverflowBubble from a global ui::EventHandler to a PointerWatcher,
which allows it to work on mus.

Add/remove the PointerWatcher in the constructor/destructor which ensures
it is properly cleaned up when the widget is destroyed (unlike the previous
pre-target handler).

BUG= 595851 , 608508 
TEST=existing ash_unittests for overflow bubble. For mash, shrink the window
to show overflow arrow, click to spawn it, click outside bubble to close it.

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

[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ash/pointer_watcher_delegate_aura.cc
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ash/pointer_watcher_delegate_aura.h
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ash/shelf/overflow_bubble.cc
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ash/shelf/overflow_bubble.h
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ash/system/tray/tray_event_filter.cc
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ash/system/tray/tray_event_filter.h
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ui/views/mus/window_manager_connection.cc
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ui/views/mus/window_manager_connection_unittest.cc
[modify] https://crrev.com/e27b07278681ba98ec911b145968315b5eb63440/ui/views/pointer_watcher.h

Status: Fixed (was: Started)
Bulk verified
Status: Verified (was: Fixed)
bulk verified
Components: -MUS Internals>Services>WindowService

Sign in to add a comment