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

Side by Side Diff: chrome/browser/chromeos/tab_closeable_state_watcher.h

Issue 8638016: Add OVERRIDE to chrome/browser/chromeos/. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 9 years, 1 month 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 unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2011 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2011 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_CHROMEOS_TAB_CLOSEABLE_STATE_WATCHER_H_ 5 #ifndef CHROME_BROWSER_CHROMEOS_TAB_CLOSEABLE_STATE_WATCHER_H_
6 #define CHROME_BROWSER_CHROMEOS_TAB_CLOSEABLE_STATE_WATCHER_H_ 6 #define CHROME_BROWSER_CHROMEOS_TAB_CLOSEABLE_STATE_WATCHER_H_
7 #pragma once 7 #pragma once
8 8
9 #include <vector> 9 #include <vector>
10 10
11 #include "base/compiler_specific.h"
11 #include "chrome/browser/tab_closeable_state_watcher.h" 12 #include "chrome/browser/tab_closeable_state_watcher.h"
12 #include "chrome/browser/tabs/tab_strip_model_observer.h" 13 #include "chrome/browser/tabs/tab_strip_model_observer.h"
13 #include "chrome/browser/ui/browser_list.h" 14 #include "chrome/browser/ui/browser_list.h"
14 #include "content/public/browser/notification_registrar.h" 15 #include "content/public/browser/notification_registrar.h"
15 16
16 namespace chromeos { 17 namespace chromeos {
17 18
18 // This class overrides ::TabCloseableStateWatcher to allow or disallow tabs or 19 // This class overrides ::TabCloseableStateWatcher to allow or disallow tabs or
19 // browsers to be closed based on increase or decrease in number of tabs or 20 // browsers to be closed based on increase or decrease in number of tabs or
20 // browsers. We only do this on Chromeos and only for non-tests. 21 // browsers. We only do this on Chromeos and only for non-tests.
(...skipping 19 matching lines...) Expand all
40 // NewTabPage is open. 41 // NewTabPage is open.
41 42
42 class TabCloseableStateWatcher : public ::TabCloseableStateWatcher, 43 class TabCloseableStateWatcher : public ::TabCloseableStateWatcher,
43 public BrowserList::Observer, 44 public BrowserList::Observer,
44 public content::NotificationObserver { 45 public content::NotificationObserver {
45 public: 46 public:
46 TabCloseableStateWatcher(); 47 TabCloseableStateWatcher();
47 virtual ~TabCloseableStateWatcher(); 48 virtual ~TabCloseableStateWatcher();
48 49
49 // TabCloseableStateWatcher implementation: 50 // TabCloseableStateWatcher implementation:
50 virtual bool CanCloseTab(const Browser* browser) const; 51 virtual bool CanCloseTab(const Browser* browser) const OVERRIDE;
51 virtual bool CanCloseTabs(const Browser* browser, 52 virtual bool CanCloseTabs(const Browser* browser,
52 std::vector<int>* indices) const; 53 std::vector<int>* indices) const OVERRIDE;
53 virtual bool CanCloseBrowser(Browser* browser); 54 virtual bool CanCloseBrowser(Browser* browser) OVERRIDE;
54 virtual void OnWindowCloseCanceled(Browser* browser); 55 virtual void OnWindowCloseCanceled(Browser* browser) OVERRIDE;
55 56
56 private: 57 private:
57 enum BrowserActionType { 58 enum BrowserActionType {
58 NONE = 0, // Nothing to do. 59 NONE = 0, // Nothing to do.
59 OPEN_WINDOW = 1, // Opens a regular (i.e. non-incognito) normal browser. 60 OPEN_WINDOW = 1, // Opens a regular (i.e. non-incognito) normal browser.
60 OPEN_NTP = 2, // Opens a NewTabPage. 61 OPEN_NTP = 2, // Opens a NewTabPage.
61 }; 62 };
62 63
63 // BrowserList::Observer implementation: 64 // BrowserList::Observer implementation:
64 virtual void OnBrowserAdded(const Browser* browser); 65 virtual void OnBrowserAdded(const Browser* browser) OVERRIDE;
65 virtual void OnBrowserRemoved(const Browser* browser); 66 virtual void OnBrowserRemoved(const Browser* browser) OVERRIDE;
66 67
67 // NotificationObserver implementation: 68 // NotificationObserver implementation:
68 virtual void Observe(int type, const content::NotificationSource& source, 69 virtual void Observe(int type, const content::NotificationSource& source,
69 const content::NotificationDetails& details); 70 const content::NotificationDetails& details) OVERRIDE;
70 71
71 // Called by private class TabStripWatcher for TabStripModelObserver 72 // Called by private class TabStripWatcher for TabStripModelObserver
72 // notifications. 73 // notifications.
73 // |closing_last_tab| is true if the tab strip is closing the last tab. 74 // |closing_last_tab| is true if the tab strip is closing the last tab.
74 void OnTabStripChanged(const Browser* browser, bool closing_last_tab); 75 void OnTabStripChanged(const Browser* browser, bool closing_last_tab);
75 76
76 // Utility functions. 77 // Utility functions.
77 78
78 // Checks the closeable state of tab. If it has changed, updates it and 79 // Checks the closeable state of tab. If it has changed, updates it and
79 // notifies all normal browsers. 80 // notifies all normal browsers.
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
115 // needed so we know which browser the TabStripModelObserver method relates 116 // needed so we know which browser the TabStripModelObserver method relates
116 // to. 117 // to.
117 class TabStripWatcher : public TabStripModelObserver { 118 class TabStripWatcher : public TabStripModelObserver {
118 public: 119 public:
119 TabStripWatcher(TabCloseableStateWatcher* main_watcher, 120 TabStripWatcher(TabCloseableStateWatcher* main_watcher,
120 const Browser* browser); 121 const Browser* browser);
121 virtual ~TabStripWatcher(); 122 virtual ~TabStripWatcher();
122 123
123 // TabStripModelObserver implementation: 124 // TabStripModelObserver implementation:
124 virtual void TabInsertedAt(TabContentsWrapper* contents, int index, 125 virtual void TabInsertedAt(TabContentsWrapper* contents, int index,
125 bool foreground); 126 bool foreground) OVERRIDE;
126 virtual void TabClosingAt(TabStripModel* tab_strip_model, 127 virtual void TabClosingAt(TabStripModel* tab_strip_model,
127 TabContentsWrapper* contents, 128 TabContentsWrapper* contents,
128 int index); 129 int index) OVERRIDE;
129 virtual void TabDetachedAt(TabContentsWrapper* contents, int index); 130 virtual void TabDetachedAt(TabContentsWrapper* contents,
131 int index) OVERRIDE;
130 virtual void TabChangedAt(TabContentsWrapper* contents, int index, 132 virtual void TabChangedAt(TabContentsWrapper* contents, int index,
131 TabChangeType change_type); 133 TabChangeType change_type) OVERRIDE;
132 134
133 const Browser* browser() const { 135 const Browser* browser() const {
134 return browser_; 136 return browser_;
135 } 137 }
136 138
137 private: 139 private:
138 TabCloseableStateWatcher* main_watcher_; 140 TabCloseableStateWatcher* main_watcher_;
139 const Browser* browser_; 141 const Browser* browser_;
140 142
141 DISALLOW_COPY_AND_ASSIGN(TabStripWatcher); 143 DISALLOW_COPY_AND_ASSIGN(TabStripWatcher);
142 }; 144 };
143 145
144 friend class TabStripWatcher; 146 friend class TabStripWatcher;
145 147
146 std::vector<TabStripWatcher*> tabstrip_watchers_; 148 std::vector<TabStripWatcher*> tabstrip_watchers_;
147 149
148 DISALLOW_COPY_AND_ASSIGN(TabCloseableStateWatcher); 150 DISALLOW_COPY_AND_ASSIGN(TabCloseableStateWatcher);
149 }; 151 };
150 152
151 } // namespace chromeos 153 } // namespace chromeos
152 154
153 #endif // CHROME_BROWSER_CHROMEOS_TAB_CLOSEABLE_STATE_WATCHER_H_ 155 #endif // CHROME_BROWSER_CHROMEOS_TAB_CLOSEABLE_STATE_WATCHER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698