OLD | NEW |
1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2006-2008 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ | 5 #ifndef CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ |
6 #define CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ | 6 #define CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ |
7 | 7 |
8 #include <vector> | 8 #include <vector> |
9 | 9 |
10 #include "base/observer_list.h" | 10 #include "base/observer_list.h" |
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
123 // representing the newly created window and tab strip. This does not | 123 // representing the newly created window and tab strip. This does not |
124 // show the window, it's up to the caller to do so. | 124 // show the window, it's up to the caller to do so. |
125 // TODO(pinkerton): I really don't like the fact that this is returning a | 125 // TODO(pinkerton): I really don't like the fact that this is returning a |
126 // Browser object, there may be some better abstraction we can achieve that | 126 // Browser object, there may be some better abstraction we can achieve that |
127 // the Browser implements, but for now, we'll experiment with returning | 127 // the Browser implements, but for now, we'll experiment with returning |
128 // that type. | 128 // that type. |
129 virtual Browser* CreateNewStripWithContents(TabContents* contents, | 129 virtual Browser* CreateNewStripWithContents(TabContents* contents, |
130 const gfx::Rect& window_bounds, | 130 const gfx::Rect& window_bounds, |
131 const DockInfo& dock_info) = 0; | 131 const DockInfo& dock_info) = 0; |
132 | 132 |
| 133 // Creates a new Browser object and window containing the specified |
| 134 // |contents|, and continues a drag operation that began within the source |
| 135 // window's tab strip. |window_bounds| are the bounds of the source window in |
| 136 // screen coordinates, used to place the new window, and |tab_bounds| are the |
| 137 // bounds of the dragged Tab view in the source window, in screen coordinates, |
| 138 // used to place the new Tab in the new window. |
| 139 virtual void ContinueDraggingDetachedTab(TabContents* contents, |
| 140 const gfx::Rect& window_bounds, |
| 141 const gfx::Rect& tab_bounds) = 0; |
| 142 |
133 enum { | 143 enum { |
134 TAB_MOVE_ACTION = 1, | 144 TAB_MOVE_ACTION = 1, |
135 TAB_TEAROFF_ACTION = 2 | 145 TAB_TEAROFF_ACTION = 2 |
136 }; | 146 }; |
137 | 147 |
138 // Determines what drag actions are possible for the specified strip. | 148 // Determines what drag actions are possible for the specified strip. |
139 virtual int GetDragActions() const = 0; | 149 virtual int GetDragActions() const = 0; |
140 | 150 |
141 // Creates an appropriate TabContents for the given URL. This is handled by | 151 // Creates an appropriate TabContents for the given URL. This is handled by |
142 // the delegate since the TabContents may require special circumstances to | 152 // the delegate since the TabContents may require special circumstances to |
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
572 typedef ObserverList<TabStripModelObserver> TabStripModelObservers; | 582 typedef ObserverList<TabStripModelObserver> TabStripModelObservers; |
573 TabStripModelObservers observers_; | 583 TabStripModelObservers observers_; |
574 | 584 |
575 // A scoped container for notification registries. | 585 // A scoped container for notification registries. |
576 NotificationRegistrar registrar_; | 586 NotificationRegistrar registrar_; |
577 | 587 |
578 DISALLOW_COPY_AND_ASSIGN(TabStripModel); | 588 DISALLOW_COPY_AND_ASSIGN(TabStripModel); |
579 }; | 589 }; |
580 | 590 |
581 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ | 591 #endif // CHROME_BROWSER_TABS_TAB_STRIP_MODEL_H_ |
OLD | NEW |