summaryrefslogtreecommitdiffstats
path: root/ash/display
diff options
context:
space:
mode:
authorhshi@chromium.org <hshi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 23:24:03 +0000
committerhshi@chromium.org <hshi@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-04-17 23:24:03 +0000
commitf74c0b9c93bcaedfb24db034fbe43c717c947faf (patch)
tree53924949ed2a20133983eea459dad51cb17d6ac8 /ash/display
parentce6ff471a443a16302eacc9ff90ee73a2e1a4077 (diff)
downloadchromium_src-f74c0b9c93bcaedfb24db034fbe43c717c947faf.zip
chromium_src-f74c0b9c93bcaedfb24db034fbe43c717c947faf.tar.gz
chromium_src-f74c0b9c93bcaedfb24db034fbe43c717c947faf.tar.bz2
Fix behavior of WindowEventDispatcher::SynthesizeMouseMoveEvent().
Synthetic mouse events should be generated when window bounds changes such that the cursor previously outside the window becomes inside, or vice versa, but subject to the following conditions: - If one or more mouse buttons is down, we should synthesize MOUSE_DRAGGED event instead of MOUSE_MOVED, and also set the appropriate mouse button flags. - Do not generate synthesized mouse move events for windows that ignore events, such as the cursor window, because they do not accept synthesized events and pass them directly to the windows beneath. After this fix we can safely re-enable cursor compositing mode. BUG=363651 TEST=trybot and manual testing R=derat@chromium.org, sadrul@chromium.org Review URL: https://codereview.chromium.org/237893002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@264669 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/display')
-rw-r--r--ash/display/mouse_cursor_event_filter.cc6
1 files changed, 2 insertions, 4 deletions
diff --git a/ash/display/mouse_cursor_event_filter.cc b/ash/display/mouse_cursor_event_filter.cc
index cbc2207..8807f99 100644
--- a/ash/display/mouse_cursor_event_filter.cc
+++ b/ash/display/mouse_cursor_event_filter.cc
@@ -98,10 +98,8 @@ void MouseCursorEventFilter::OnMouseEvent(ui::MouseEvent* event) {
return;
}
- if (!(event->flags() & ui::EF_IS_SYNTHESIZED)) {
- Shell::GetInstance()->display_controller()->
- cursor_window_controller()->UpdateLocation();
- }
+ Shell::GetInstance()->display_controller()->
+ cursor_window_controller()->UpdateLocation();
gfx::Point point_in_screen(event->location());
wm::ConvertPointToScreen(target, &point_in_screen);