| Index: chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc
|
| diff --git a/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc b/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc
|
| index 8d351cff002bca5cbc48b733aa692ebd5427aca3..4a373121f2705039d67959894a55249a0ce35df0 100644
|
| --- a/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc
|
| +++ b/chrome/browser/metro_viewer/chrome_metro_viewer_process_host_aurawin.cc
|
| @@ -10,6 +10,7 @@
|
| #include "base/memory/ref_counted.h"
|
| #include "chrome/browser/browser_process.h"
|
| #include "chrome/browser/browser_process_platform_part_aurawin.h"
|
| +#include "chrome/browser/browser_shutdown.h"
|
| #include "chrome/browser/chrome_notification_types.h"
|
| #include "chrome/browser/lifetime/application_lifetime.h"
|
| #include "chrome/browser/profiles/profile_manager.h"
|
| @@ -79,8 +80,14 @@ void ChromeMetroViewerProcessHost::OnChannelError() {
|
|
|
| aura::RemoteRootWindowHostWin::Instance()->Disconnected();
|
| g_browser_process->ReleaseModule();
|
| - CloseOpenAshBrowsers();
|
| - chrome::CloseAsh();
|
| +
|
| + // If browser is trying to quit, we shouldn't reenter the process.
|
| + // TODO(shrikant): In general there seem to be issues with how AttemptExit
|
| + // reentry works. In future release please clean up related code.
|
| + if (!browser_shutdown::IsTryingToQuit()) {
|
| + CloseOpenAshBrowsers();
|
| + chrome::CloseAsh();
|
| + }
|
| // Tell the rest of Chrome about it.
|
| content::NotificationService::current()->Notify(
|
| chrome::NOTIFICATION_ASH_SESSION_ENDED,
|
|
|