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

Side by Side Diff: chrome/browser/ui/browser_list.cc

Issue 2793443003: Removed NOTIFICATION_BROWSER_CLOSING notification (Closed)
Patch Set: Added browser tests Created 3 years, 8 months 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
OLDNEW
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
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,
sky 2017/03/31 14:23:41 And remove this notification too?
Alexey Seren 2017/04/02 12:02:35 As like as NOTIFICATION_BROWSER_CLOSE_CANCELLED, t
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);
96 97
97 browser->UnregisterKeepAlive(); 98 browser->UnregisterKeepAlive();
98 99
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
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::NotifyBrowserWindowClosing(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.OnBrowserWindowClosing(browser);
261 }
262
263 // static
264 void BrowserList::NotifyBrowserCloseCancelled(Browser* browser) {
265 RemoveBrowserFrom(browser, &GetInstance()->currently_closing_browsers_);
266
267 for (chrome::BrowserListObserver& observer : observers_.Get())
268 observer.OnBrowserCloseCancelled(browser);
269 }
270
271 // static
252 bool BrowserList::IsIncognitoSessionActive() { 272 bool BrowserList::IsIncognitoSessionActive() {
253 for (auto* browser : *BrowserList::GetInstance()) { 273 for (auto* browser : *BrowserList::GetInstance()) {
254 if (browser->profile()->IsOffTheRecord()) 274 if (browser->profile()->IsOffTheRecord())
255 return true; 275 return true;
256 } 276 }
257 return false; 277 return false;
258 } 278 }
259 279
260 // static 280 // static
261 bool BrowserList::IsIncognitoSessionActiveForProfile(Profile* profile) { 281 bool BrowserList::IsIncognitoSessionActiveForProfile(Profile* profile) {
(...skipping 16 matching lines...) Expand all
278 } 298 }
279 299
280 // static 300 // static
281 void BrowserList::RemoveBrowserFrom(Browser* browser, 301 void BrowserList::RemoveBrowserFrom(Browser* browser,
282 BrowserVector* browser_list) { 302 BrowserVector* browser_list) {
283 BrowserVector::iterator remove_browser = 303 BrowserVector::iterator remove_browser =
284 std::find(browser_list->begin(), browser_list->end(), browser); 304 std::find(browser_list->begin(), browser_list->end(), browser);
285 if (remove_browser != browser_list->end()) 305 if (remove_browser != browser_list->end())
286 browser_list->erase(remove_browser); 306 browser_list->erase(remove_browser);
287 } 307 }
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698