Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(80)

Unified Diff: chrome/browser/ui/views/tabs/tab_drag_controller.h

Issue 10828133: Desktop Aura: Allow tab drags out of window. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Cleanup Created 8 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/message_pump_aurax11.cc ('k') | chrome/browser/ui/views/tabs/tab_drag_controller.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/ui/views/tabs/tab_drag_controller.h
diff --git a/chrome/browser/ui/views/tabs/tab_drag_controller.h b/chrome/browser/ui/views/tabs/tab_drag_controller.h
index dd9f68dc2789890ea6ecff5df6290b9bb7c44b8b..a3c135496bd8335d23bd48fff86ad7fb846c8503 100644
--- a/chrome/browser/ui/views/tabs/tab_drag_controller.h
+++ b/chrome/browser/ui/views/tabs/tab_drag_controller.h
@@ -320,8 +320,11 @@ class TabDragController : public content::WebContentsDelegate,
// runs a nested move loop.
void DetachIntoNewBrowserAndRunMoveLoop(const gfx::Point& point_in_screen);
- // Runs a nested message loop that handles moving the current Browser.
- void RunMoveLoop();
+ // Runs a nested message loop that handles moving the current
+ // Browser. |drag_offset| is the offset from the window origin and is used in
+ // calculating the location of the window offset from the cursor while
+ // dragging.
+ void RunMoveLoop(const gfx::Point& drag_offset);
// Determines the index to insert tabs at. |dragged_bounds| is the bounds of
// the tabs being dragged, |start| the index of the tab to start looking from
@@ -428,6 +431,7 @@ class TabDragController : public content::WebContentsDelegate,
// Creates and returns a new Browser to handle the drag.
Browser* CreateBrowserForDrag(TabStrip* source,
const gfx::Point& point_in_screen,
+ gfx::Point* drag_offset,
std::vector<gfx::Rect>* drag_bounds);
// Returns the TabStripModel for the specified tabstrip.
@@ -437,6 +441,10 @@ class TabDragController : public content::WebContentsDelegate,
// mouse or the location of the current touch point.
gfx::Point GetCursorScreenPoint();
+ // Returns the offset from the top left corner of the window to
+ // |point_in_screen|.
+ gfx::Point GetWindowOffset(const gfx::Point& point_in_screen);
+
// Returns true if moving the mouse only changes the visible tabs.
bool move_only() const {
return (move_behavior_ == MOVE_VISIBILE_TABS) != 0;
« no previous file with comments | « base/message_pump_aurax11.cc ('k') | chrome/browser/ui/views/tabs/tab_drag_controller.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698