Chromium Code Reviews| Index: chrome/browser/ui/browser.cc |
| diff --git a/chrome/browser/ui/browser.cc b/chrome/browser/ui/browser.cc |
| index 832153b86e17201770479a2f4bfa17284c823b52..8682c00804f3af0a46307afe2410fd212ecc8eb6 100644 |
| --- a/chrome/browser/ui/browser.cc |
| +++ b/chrome/browser/ui/browser.cc |
| @@ -746,6 +746,8 @@ void Browser::OnWindowClosing() { |
| if (tab_restore_service && is_type_tabbed() && tab_strip_model_->count()) |
| tab_restore_service->BrowserClosing(live_tab_context()); |
| + BrowserList::NotifyBrowserCloseStarted(this); |
| + |
| // TODO(sky): convert session/tab restore to use notification. |
| content::NotificationService::current()->Notify( |
| chrome::NOTIFICATION_BROWSER_CLOSING, |
| @@ -2556,7 +2558,11 @@ bool Browser::ShouldHideUIForFullscreen() const { |
| } |
| bool Browser::ShouldStartShutdown() const { |
| - return BrowserList::GetInstance()->size() <= 1; |
| + DCHECK_GE(BrowserList::GetInstance()->size(), |
| + BrowserList::GetInstance()->currently_closing_browsers_count()); |
| + // Start shutdown process only when closing the last browser. |
| + return BrowserList::GetInstance()->size() == |
| + BrowserList::GetInstance()->currently_closing_browsers_count() + 1; |
|
hashimoto
2017/04/04 08:54:07
A browser close can be cancelled.
What happens if
Alexey Seren
2017/04/09 17:51:37
If browser close is cancelled then browser will be
|
| } |
| bool Browser::MaybeCreateBackgroundContents( |