| 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 |