diff options
author | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-12 09:39:49 +0000 |
---|---|---|
committer | oshima@chromium.org <oshima@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2014-05-12 09:39:49 +0000 |
commit | 8ab613cfc7adabea9130b758fa2e41d02f2fa767 (patch) | |
tree | 8d75a72a4acf9cd2ea422c08290f3f1120e9ec23 /ash/shell.cc | |
parent | bbd72ec9ce65e9dd27dafaf446f250d67d4d7f6f (diff) | |
download | chromium_src-8ab613cfc7adabea9130b758fa2e41d02f2fa767.zip chromium_src-8ab613cfc7adabea9130b758fa2e41d02f2fa767.tar.gz chromium_src-8ab613cfc7adabea9130b758fa2e41d02f2fa767.tar.bz2 |
Use native coordinates to warp the cursor to another display.
This is roughly how this works.
- Takes the bounds of the edge indicator in screen coords
and convert to native coords
- If the location of mouse in native coords moves into this
bounds, we need to warp the mouse.
- Convert the current mouse location in screen coords to the
destination window's host coords. Adjust so that the location is inside the host window's bounds.
No flag. I'll simply flip the flag if I need to disable this on branch.
BUG=321699,306632
TEST=TBD
Review URL: https://codereview.chromium.org/270863005
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@269758 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/shell.cc')
-rw-r--r-- | ash/shell.cc | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/ash/shell.cc b/ash/shell.cc index 8bd4460..7bc8dd9 100644 --- a/ash/shell.cc +++ b/ash/shell.cc @@ -663,8 +663,7 @@ Shell::~Shell() { RemovePostTargetHandler(toplevel_window_event_handler_.get()); RemovePreTargetHandler(system_gesture_filter_.get()); RemovePreTargetHandler(keyboard_metrics_filter_.get()); - if (mouse_cursor_filter_) - RemovePreTargetHandler(mouse_cursor_filter_.get()); + RemovePreTargetHandler(mouse_cursor_filter_.get()); // TooltipController is deleted with the Shell so removing its references. RemovePreTargetHandler(tooltip_controller_.get()); @@ -755,6 +754,7 @@ Shell::~Shell() { resolution_notification_controller_.reset(); #endif desktop_background_controller_.reset(); + mouse_cursor_filter_.reset(); // This also deletes all RootWindows. Note that we invoke Shutdown() on // DisplayController before resetting |display_controller_|, since destruction |