Index: chrome/browser/browser_process_platform_part_base.cc |
diff --git a/chrome/browser/browser_process_platform_part_base.cc b/chrome/browser/browser_process_platform_part_base.cc |
index c647f49067888fcb02d8e6ba17bfd18eb635ef92..1da8917def9080ea198577d98200916c1c131411 100644 |
--- a/chrome/browser/browser_process_platform_part_base.cc |
+++ b/chrome/browser/browser_process_platform_part_base.cc |
@@ -2,7 +2,9 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
+#include "base/logging.h" |
#include "chrome/browser/browser_process_platform_part_base.h" |
+#include "chrome/browser/lifetime/application_lifetime.h" |
BrowserProcessPlatformPartBase::BrowserProcessPlatformPartBase() { |
} |
@@ -16,3 +18,14 @@ void BrowserProcessPlatformPartBase::PlatformSpecificCommandLineProcessing( |
void BrowserProcessPlatformPartBase::StartTearDown() { |
} |
+ |
+void BrowserProcessPlatformPartBase::AttemptExit() { |
+// chrome::CloseAllBrowsers() doesn't link on OS_IOS and OS_ANDROID, but |
+// OS_ANDROID overrides this method already and OS_IOS never calls this. |
+#if defined(OS_IOS) || defined(OS_ANDROID) |
+ NOTREACHED(); |
+#else |
+ // On most platforms, closing all windows causes the application to exit. |
+ chrome::CloseAllBrowsers(); |
+#endif |
+} |