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_BROWSER_LIST_H_ | 5 #ifndef CHROME_BROWSER_UI_BROWSER_LIST_H_ |
6 #define CHROME_BROWSER_UI_BROWSER_LIST_H_ | 6 #define CHROME_BROWSER_UI_BROWSER_LIST_H_ |
7 | 7 |
8 #include <stddef.h> | 8 #include <stddef.h> |
9 | 9 |
10 #include <vector> | 10 #include <vector> |
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
64 static void RemoveBrowser(Browser* browser); | 64 static void RemoveBrowser(Browser* browser); |
65 | 65 |
66 // Adds and removes |observer| from the observer list for all desktops. | 66 // Adds and removes |observer| from the observer list for all desktops. |
67 // Observers are responsible for making sure the notifying browser is relevant | 67 // Observers are responsible for making sure the notifying browser is relevant |
68 // to them (e.g., on the specific desktop they care about if any). | 68 // to them (e.g., on the specific desktop they care about if any). |
69 static void AddObserver(chrome::BrowserListObserver* observer); | 69 static void AddObserver(chrome::BrowserListObserver* observer); |
70 static void RemoveObserver(chrome::BrowserListObserver* observer); | 70 static void RemoveObserver(chrome::BrowserListObserver* observer); |
71 | 71 |
72 // Called by Browser objects when their window is activated (focused). This | 72 // Called by Browser objects when their window is activated (focused). This |
73 // allows us to determine what the last active Browser was on each desktop. | 73 // allows us to determine what the last active Browser was on each desktop. |
74 // Note: This only takes effect on the appropriate browser list as determined | |
75 // by |browser->host_desktop_type()|. | |
76 static void SetLastActive(Browser* browser); | 74 static void SetLastActive(Browser* browser); |
77 | 75 |
78 // Closes all browsers for |profile| across all desktops. | 76 // Closes all browsers for |profile| across all desktops. |
79 // TODO(mlerman): Move the Profile Deletion flow to use the overloaded | 77 // TODO(mlerman): Move the Profile Deletion flow to use the overloaded |
80 // version of this method with a callback, then remove this method. | 78 // version of this method with a callback, then remove this method. |
81 static void CloseAllBrowsersWithProfile(Profile* profile); | 79 static void CloseAllBrowsersWithProfile(Profile* profile); |
82 | 80 |
83 // Closes all browsers for |profile| across all desktops. Uses | 81 // Closes all browsers for |profile| across all desktops. Uses |
84 // TryToCloseBrowserList() to do the actual closing and trigger any | 82 // TryToCloseBrowserList() to do the actual closing and trigger any |
85 // OnBeforeUnload events. If all OnBeforeUnload events are confirmed, | 83 // OnBeforeUnload events. If all OnBeforeUnload events are confirmed, |
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
135 // removal across all BrowserLists. | 133 // removal across all BrowserLists. |
136 static base::LazyInstance< | 134 static base::LazyInstance< |
137 base::ObserverList<chrome::BrowserListObserver>>::Leaky observers_; | 135 base::ObserverList<chrome::BrowserListObserver>>::Leaky observers_; |
138 | 136 |
139 static BrowserList* instance_; | 137 static BrowserList* instance_; |
140 | 138 |
141 DISALLOW_COPY_AND_ASSIGN(BrowserList); | 139 DISALLOW_COPY_AND_ASSIGN(BrowserList); |
142 }; | 140 }; |
143 | 141 |
144 #endif // CHROME_BROWSER_UI_BROWSER_LIST_H_ | 142 #endif // CHROME_BROWSER_UI_BROWSER_LIST_H_ |
OLD | NEW |