Chromium Code Reviews| Index: chrome/browser/ui/browser_list.cc |
| diff --git a/chrome/browser/ui/browser_list.cc b/chrome/browser/ui/browser_list.cc |
| index cee9366c92c18bc9af240d1f9aae48b692539cab..b207d15c90235bd702ce769e73d89bf5e0fee24f 100644 |
| --- a/chrome/browser/ui/browser_list.cc |
| +++ b/chrome/browser/ui/browser_list.cc |
| @@ -83,6 +83,7 @@ void BrowserList::RemoveBrowser(Browser* browser) { |
| // Remove |browser| from the appropriate list instance. |
| BrowserList* browser_list = GetInstance(); |
| RemoveBrowserFrom(browser, &browser_list->last_active_browsers_); |
| + RemoveBrowserFrom(browser, &browser_list->currently_closing_browsers_); |
| content::NotificationService::current()->Notify( |
| 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
|
| @@ -249,6 +250,25 @@ void BrowserList::NotifyBrowserNoLongerActive(Browser* browser) { |
| } |
| // static |
| +void BrowserList::NotifyBrowserWindowClosing(Browser* browser) { |
| + BrowserVector* currently_closing_browsers = |
| + &GetInstance()->currently_closing_browsers_; |
| + RemoveBrowserFrom(browser, currently_closing_browsers); |
| + currently_closing_browsers->push_back(browser); |
| + |
| + for (chrome::BrowserListObserver& observer : observers_.Get()) |
| + observer.OnBrowserWindowClosing(browser); |
| +} |
| + |
| +// static |
| +void BrowserList::NotifyBrowserCloseCancelled(Browser* browser) { |
| + RemoveBrowserFrom(browser, &GetInstance()->currently_closing_browsers_); |
| + |
| + for (chrome::BrowserListObserver& observer : observers_.Get()) |
| + observer.OnBrowserCloseCancelled(browser); |
| +} |
| + |
| +// static |
| bool BrowserList::IsIncognitoSessionActive() { |
| for (auto* browser : *BrowserList::GetInstance()) { |
| if (browser->profile()->IsOffTheRecord()) |