summaryrefslogtreecommitdiffstats
path: root/ash/wm
diff options
context:
space:
mode:
authorjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-19 20:39:08 +0000
committerjamescook@chromium.org <jamescook@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2013-07-19 20:39:08 +0000
commitaef658f4ee345e0129b3c8b097e16d7f26274a2c (patch)
tree8ff9fa755219c46dd4a9ddfe8b005f30974a3d0e /ash/wm
parent2e57e71e3bfa08d13042892267f8be77a3ae7cc1 (diff)
downloadchromium_src-aef658f4ee345e0129b3c8b097e16d7f26274a2c.zip
chromium_src-aef658f4ee345e0129b3c8b097e16d7f26274a2c.tar.gz
chromium_src-aef658f4ee345e0129b3c8b097e16d7f26274a2c.tar.bz2
ash: Use correct cursor when dragging out a tab over the omnibox
Dragging a tab out of the tabstrip by dragging it down over the omnibox can result in an I-beam cursor during the move-drag of the new window. This happens because RunMoveLoop() from the TabDragController releases mouse capture for the source browser window, which resets the cursor pointer based on the last mouse position. This will be an I-beam if the mouse was over the omnibox. Since we don't ever want an old/out-of-date cursor during a window drag, sanitize it to an arrow pointer for mouse-based window moves. BUG=242118 TEST=manual, slowly drag out a tab downward over the omnibox Review URL: https://chromiumcodereview.appspot.com/19035002 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@212644 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ash/wm')
-rw-r--r--ash/wm/toplevel_window_event_handler.cc4
1 files changed, 3 insertions, 1 deletions
diff --git a/ash/wm/toplevel_window_event_handler.cc b/ash/wm/toplevel_window_event_handler.cc
index eb944c5..71753c4 100644
--- a/ash/wm/toplevel_window_event_handler.cc
+++ b/ash/wm/toplevel_window_event_handler.cc
@@ -324,11 +324,13 @@ aura::client::WindowMoveResult ToplevelWindowEventHandler::RunMoveLoop(
aura::Window::ConvertPointToTarget(
root_window, source->parent(), &drag_location);
}
- CreateScopedWindowResizer(source, drag_location, HTCAPTION, move_source);
+ // Set the cursor before calling CreateScopedWindowResizer(), as that will
+ // eventually call LockCursor() and prevent the cursor from changing.
aura::client::CursorClient* cursor_client =
aura::client::GetCursorClient(root_window);
if (cursor_client)
cursor_client->SetCursor(ui::kCursorPointer);
+ CreateScopedWindowResizer(source, drag_location, HTCAPTION, move_source);
bool destroyed = false;
destroyed_ = &destroyed;
#if !defined(OS_MACOSX)