OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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_UI_TABS_TAB_STRIP_MODEL_OBSERVER_H_ | 5 #ifndef CHROME_BROWSER_UI_TABS_TAB_STRIP_MODEL_OBSERVER_H_ |
6 #define CHROME_BROWSER_UI_TABS_TAB_STRIP_MODEL_OBSERVER_H_ | 6 #define CHROME_BROWSER_UI_TABS_TAB_STRIP_MODEL_OBSERVER_H_ |
7 | 7 |
8 class TabStripModel; | 8 class TabStripModel; |
9 | 9 |
10 namespace content { | 10 namespace content { |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
50 CHANGE_REASON_NONE = 0, | 50 CHANGE_REASON_NONE = 0, |
51 // The active tab changed because the tab's web contents was replaced. | 51 // The active tab changed because the tab's web contents was replaced. |
52 CHANGE_REASON_REPLACED = 1 << 0, | 52 CHANGE_REASON_REPLACED = 1 << 0, |
53 // The active tab changed due to a user input event. | 53 // The active tab changed due to a user input event. |
54 CHANGE_REASON_USER_GESTURE = 1 << 1, | 54 CHANGE_REASON_USER_GESTURE = 1 << 1, |
55 }; | 55 }; |
56 | 56 |
57 // A new WebContents was inserted into the TabStripModel at the | 57 // A new WebContents was inserted into the TabStripModel at the |
58 // specified index. |foreground| is whether or not it was opened in the | 58 // specified index. |foreground| is whether or not it was opened in the |
59 // foreground (selected). | 59 // foreground (selected). |
60 virtual void TabInsertedAt(content::WebContents* contents, | 60 virtual void TabInsertedAt(TabStripModel* tab_strip_model, |
| 61 content::WebContents* contents, |
61 int index, | 62 int index, |
62 bool foreground); | 63 bool foreground); |
63 | 64 |
64 // The specified WebContents at |index| is being closed (and eventually | 65 // The specified WebContents at |index| is being closed (and eventually |
65 // destroyed). |tab_strip_model| is the TabStripModel that contained the tab. | 66 // destroyed). |tab_strip_model| is the TabStripModel that contained the tab. |
66 virtual void TabClosingAt(TabStripModel* tab_strip_model, | 67 virtual void TabClosingAt(TabStripModel* tab_strip_model, |
67 content::WebContents* contents, | 68 content::WebContents* contents, |
68 int index); | 69 int index); |
69 | 70 |
70 // The specified WebContents at |index| is being detached, perhaps to | 71 // The specified WebContents at |index| is being detached, perhaps to |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
119 | 120 |
120 // The WebContents was replaced at the specified index. This is invoked | 121 // The WebContents was replaced at the specified index. This is invoked |
121 // when instant is enabled and the user navigates by way of instant or when | 122 // when instant is enabled and the user navigates by way of instant or when |
122 // prerendering swaps in a prerendered WebContents. | 123 // prerendering swaps in a prerendered WebContents. |
123 virtual void TabReplacedAt(TabStripModel* tab_strip_model, | 124 virtual void TabReplacedAt(TabStripModel* tab_strip_model, |
124 content::WebContents* old_contents, | 125 content::WebContents* old_contents, |
125 content::WebContents* new_contents, | 126 content::WebContents* new_contents, |
126 int index); | 127 int index); |
127 | 128 |
128 // Invoked when the pinned state of a tab changes. | 129 // Invoked when the pinned state of a tab changes. |
129 virtual void TabPinnedStateChanged(content::WebContents* contents, int index); | 130 virtual void TabPinnedStateChanged(TabStripModel* tab_strip_model, |
| 131 content::WebContents* contents, |
| 132 int index); |
130 | 133 |
131 // Invoked when the blocked state of a tab changes. | 134 // Invoked when the blocked state of a tab changes. |
132 // NOTE: This is invoked when a tab becomes blocked/unblocked by a tab modal | 135 // NOTE: This is invoked when a tab becomes blocked/unblocked by a tab modal |
133 // window. | 136 // window. |
134 virtual void TabBlockedStateChanged(content::WebContents* contents, | 137 virtual void TabBlockedStateChanged(content::WebContents* contents, |
135 int index); | 138 int index); |
136 | 139 |
137 // The TabStripModel now no longer has any tabs. The implementer may | 140 // The TabStripModel now no longer has any tabs. The implementer may |
138 // use this as a trigger to try and close the window containing the | 141 // use this as a trigger to try and close the window containing the |
139 // TabStripModel, for example... | 142 // TabStripModel, for example... |
140 virtual void TabStripEmpty(); | 143 virtual void TabStripEmpty(); |
141 | 144 |
142 // Sent any time an attempt is made to close all the tabs. This is not | 145 // Sent any time an attempt is made to close all the tabs. This is not |
143 // necessarily the result of CloseAllTabs(). For example, if the user closes | 146 // necessarily the result of CloseAllTabs(). For example, if the user closes |
144 // the last tab WillCloseAllTabs() is sent. If the close does not succeed | 147 // the last tab WillCloseAllTabs() is sent. If the close does not succeed |
145 // during the current event (say unload handlers block it) then | 148 // during the current event (say unload handlers block it) then |
146 // CloseAllTabsCanceled() is sent. Also note that if the last tab is detached | 149 // CloseAllTabsCanceled() is sent. Also note that if the last tab is detached |
147 // (DetachWebContentsAt()) then this is not sent. | 150 // (DetachWebContentsAt()) then this is not sent. |
148 virtual void WillCloseAllTabs(); | 151 virtual void WillCloseAllTabs(); |
149 virtual void CloseAllTabsCanceled(); | 152 virtual void CloseAllTabsCanceled(); |
150 | 153 |
151 protected: | 154 protected: |
152 virtual ~TabStripModelObserver() {} | 155 virtual ~TabStripModelObserver() {} |
153 }; | 156 }; |
154 | 157 |
155 #endif // CHROME_BROWSER_UI_TABS_TAB_STRIP_MODEL_OBSERVER_H_ | 158 #endif // CHROME_BROWSER_UI_TABS_TAB_STRIP_MODEL_OBSERVER_H_ |
OLD | NEW |