| 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 #include "chrome/browser/ui/browser_list.h" | 5 #include "chrome/browser/ui/browser_list.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/auto_reset.h" | 9 #include "base/auto_reset.h" |
| 10 #include "base/logging.h" | 10 #include "base/logging.h" |
| (...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 76 | 76 |
| 77 for (chrome::BrowserListObserver& observer : observers_.Get()) | 77 for (chrome::BrowserListObserver& observer : observers_.Get()) |
| 78 observer.OnBrowserAdded(browser); | 78 observer.OnBrowserAdded(browser); |
| 79 } | 79 } |
| 80 | 80 |
| 81 // static | 81 // static |
| 82 void BrowserList::RemoveBrowser(Browser* browser) { | 82 void BrowserList::RemoveBrowser(Browser* browser) { |
| 83 // Remove |browser| from the appropriate list instance. | 83 // Remove |browser| from the appropriate list instance. |
| 84 BrowserList* browser_list = GetInstance(); | 84 BrowserList* browser_list = GetInstance(); |
| 85 RemoveBrowserFrom(browser, &browser_list->last_active_browsers_); | 85 RemoveBrowserFrom(browser, &browser_list->last_active_browsers_); |
| 86 RemoveBrowserFrom(browser, &browser_list->currently_closing_browsers_); |
| 86 | 87 |
| 87 content::NotificationService::current()->Notify( | 88 content::NotificationService::current()->Notify( |
| 88 chrome::NOTIFICATION_BROWSER_CLOSED, | 89 chrome::NOTIFICATION_BROWSER_CLOSED, |
| 89 content::Source<Browser>(browser), | 90 content::Source<Browser>(browser), |
| 90 content::NotificationService::NoDetails()); | 91 content::NotificationService::NoDetails()); |
| 91 | 92 |
| 92 RemoveBrowserFrom(browser, &browser_list->browsers_); | 93 RemoveBrowserFrom(browser, &browser_list->browsers_); |
| 93 | 94 |
| 94 for (chrome::BrowserListObserver& observer : observers_.Get()) | 95 for (chrome::BrowserListObserver& observer : observers_.Get()) |
| 95 observer.OnBrowserRemoved(browser); | 96 observer.OnBrowserRemoved(browser); |
| (...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 242 observer.OnBrowserSetLastActive(browser); | 243 observer.OnBrowserSetLastActive(browser); |
| 243 } | 244 } |
| 244 | 245 |
| 245 // static | 246 // static |
| 246 void BrowserList::NotifyBrowserNoLongerActive(Browser* browser) { | 247 void BrowserList::NotifyBrowserNoLongerActive(Browser* browser) { |
| 247 for (chrome::BrowserListObserver& observer : observers_.Get()) | 248 for (chrome::BrowserListObserver& observer : observers_.Get()) |
| 248 observer.OnBrowserNoLongerActive(browser); | 249 observer.OnBrowserNoLongerActive(browser); |
| 249 } | 250 } |
| 250 | 251 |
| 251 // static | 252 // static |
| 253 void BrowserList::NotifyBrowserCloseStarted(Browser* browser) { |
| 254 BrowserVector* currently_closing_browsers = |
| 255 &GetInstance()->currently_closing_browsers_; |
| 256 RemoveBrowserFrom(browser, currently_closing_browsers); |
| 257 currently_closing_browsers->push_back(browser); |
| 258 |
| 259 for (chrome::BrowserListObserver& observer : observers_.Get()) |
| 260 observer.OnBrowserCloseStarted(browser); |
| 261 } |
| 262 |
| 263 // static |
| 252 bool BrowserList::IsIncognitoSessionActive() { | 264 bool BrowserList::IsIncognitoSessionActive() { |
| 253 for (auto* browser : *BrowserList::GetInstance()) { | 265 for (auto* browser : *BrowserList::GetInstance()) { |
| 254 if (browser->profile()->IsOffTheRecord()) | 266 if (browser->profile()->IsOffTheRecord()) |
| 255 return true; | 267 return true; |
| 256 } | 268 } |
| 257 return false; | 269 return false; |
| 258 } | 270 } |
| 259 | 271 |
| 260 // static | 272 // static |
| 261 bool BrowserList::IsIncognitoSessionActiveForProfile(Profile* profile) { | 273 bool BrowserList::IsIncognitoSessionActiveForProfile(Profile* profile) { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 278 } | 290 } |
| 279 | 291 |
| 280 // static | 292 // static |
| 281 void BrowserList::RemoveBrowserFrom(Browser* browser, | 293 void BrowserList::RemoveBrowserFrom(Browser* browser, |
| 282 BrowserVector* browser_list) { | 294 BrowserVector* browser_list) { |
| 283 BrowserVector::iterator remove_browser = | 295 BrowserVector::iterator remove_browser = |
| 284 std::find(browser_list->begin(), browser_list->end(), browser); | 296 std::find(browser_list->begin(), browser_list->end(), browser); |
| 285 if (remove_browser != browser_list->end()) | 297 if (remove_browser != browser_list->end()) |
| 286 browser_list->erase(remove_browser); | 298 browser_list->erase(remove_browser); |
| 287 } | 299 } |
| OLD | NEW |