| Index: chrome/browser/chrome_browser_application_mac.mm
|
| diff --git a/chrome/browser/chrome_browser_application_mac.mm b/chrome/browser/chrome_browser_application_mac.mm
|
| index 0e151e0bb7dd461b8efa90f95fa91b1981ae7d87..93ea7b0d87902bcda35948c84f836e4219e22b65 100644
|
| --- a/chrome/browser/chrome_browser_application_mac.mm
|
| +++ b/chrome/browser/chrome_browser_application_mac.mm
|
| @@ -331,14 +331,15 @@ void SwizzleInit() {
|
| // Termination is cancelled by resetting this flag. The standard
|
| // |-applicationShouldTerminate:| is not supported, and code paths leading to it
|
| // must be redirected.
|
| +//
|
| +// When the last browser has been destroyed, the BrowserList calls
|
| +// browser::OnAppExiting(), which is the point of no return. That will cause
|
| +// the NSApplicationWillTerminateNotification to be posted, which ends the
|
| +// NSApplication event loop, so final post- MessageLoop::Run() work is done
|
| +// before exiting.
|
| - (void)terminate:(id)sender {
|
| AppController* appController = static_cast<AppController*>([NSApp delegate]);
|
| - if ([appController tryToTerminateApplication:self]) {
|
| - [[NSNotificationCenter defaultCenter]
|
| - postNotificationName:NSApplicationWillTerminateNotification
|
| - object:self];
|
| - }
|
| -
|
| + [appController tryToTerminateApplication:self];
|
| // Return, don't exit. The application is responsible for exiting on its own.
|
| }
|
|
|
|
|