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