diff options
Diffstat (limited to 'chrome/browser/views/tabs/dragged_tab_controller.h')
-rw-r--r-- | chrome/browser/views/tabs/dragged_tab_controller.h | 20 |
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_ - |