summaryrefslogtreecommitdiffstats
path: root/chrome/browser/views/tabs/dragged_tab_controller.h
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/views/tabs/dragged_tab_controller.h')
-rw-r--r--chrome/browser/views/tabs/dragged_tab_controller.h20
1 files changed, 18 insertions, 2 deletions
diff --git a/chrome/browser/views/tabs/dragged_tab_controller.h b/chrome/browser/views/tabs/dragged_tab_controller.h
index fb367c3..0363d93 100644
--- a/chrome/browser/views/tabs/dragged_tab_controller.h
+++ b/chrome/browser/views/tabs/dragged_tab_controller.h
@@ -7,7 +7,9 @@
#include "base/gfx/rect.h"
#include "base/message_loop.h"
+#include "chrome/browser/dock_info.h"
#include "chrome/browser/tab_contents_delegate.h"
+#include "chrome/browser/tabs/tab_strip_model.h"
#include "chrome/browser/views/tabs/tab_renderer.h"
#include "chrome/common/notification_service.h"
@@ -15,6 +17,7 @@ namespace views {
class MouseEvent;
class View;
}
+class BrowserWindow;
class DraggedTabView;
class HWNDPhotobooth;
class SkBitmap;
@@ -65,6 +68,9 @@ class DraggedTabController : public TabContentsDelegate,
bool IsDragSourceTab(Tab* tab) const;
private:
+ class DockDisplayer;
+ friend class DockDisplayer;
+
// Enumeration of the ways a drag session can end.
enum EndDragType {
// Drag session exited normally: the user released the mouse.
@@ -118,6 +124,8 @@ class DraggedTabController : public TabContentsDelegate,
// current mouse position.
gfx::Point GetWindowCreatePoint() const;
+ void UpdateDockInfo(const gfx::Point& screen_point);
+
// Replaces the TabContents being dragged with the specified |new_contents|.
// This can occur if the active TabContents for the tab being dragged is
// replaced, e.g. if a transition from one TabContentsType to another occurs
@@ -145,7 +153,9 @@ class DraggedTabController : public TabContentsDelegate,
// Returns the compatible TabStrip that is under the specified point (screen
// coordinates), or NULL if there is none.
- TabStrip* GetTabStripForPoint(const gfx::Point& screen_point) const;
+ TabStrip* GetTabStripForPoint(const gfx::Point& screen_point);
+
+ DockInfo GetDockInfoAtPoint(const gfx::Point& screen_point);
// Returns the specified |tabstrip| if it contains the specified point
// (screen coordinates), NULL if it does not.
@@ -213,6 +223,8 @@ class DraggedTabController : public TabContentsDelegate,
// position.
void OnAnimateToBoundsComplete();
+ void DockDisplayerDestroyed(DockDisplayer* controller);
+
// The TabContents being dragged. This can get replaced during the drag if
// the associated NavigationController is navigated to a different
// TabContentsType.
@@ -279,8 +291,12 @@ class DraggedTabController : public TabContentsDelegate,
// time of the last re-order event.
int last_move_screen_x_;
+ DockInfo dock_info_;
+
+ std::set<HWND> dock_windows_;
+ std::vector<DockDisplayer*> dock_controllers_;
+
DISALLOW_COPY_AND_ASSIGN(DraggedTabController);
};
#endif // CHROME_BROWSER_VIEWS_TABS_DRAGGED_TAB_CONTROLLER_H_
-