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..cf09bbecc5af0d2313fd0090cbd424ae4cba8273 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, |
@@ -249,6 +250,17 @@ void BrowserList::NotifyBrowserNoLongerActive(Browser* browser) { |
} |
// static |
+void BrowserList::NotifyBrowserCloseStarted(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.OnBrowserCloseStarted(browser); |
+} |
+ |
+// static |
bool BrowserList::IsIncognitoSessionActive() { |
for (auto* browser : *BrowserList::GetInstance()) { |
if (browser->profile()->IsOffTheRecord()) |