Index: chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
diff --git a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
index 448c8c8d039573d1a70fcef3728002092d1dcf11..58ae1d8752ddfab93a9809c4c96ef4bedcbd1a82 100644 |
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
@@ -753,8 +753,6 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() { |
SystemKeyEventListener::Shutdown(); |
#endif |
- CrasAudioHandler::Shutdown(); |
- |
// Detach D-Bus clients before DBusThreadManager is shut down. |
power_button_observer_.reset(); |
idle_action_warning_observer_.reset(); |
@@ -804,6 +802,9 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() { |
// Stops all in-flight OAuth2 token fetchers before the IO thread stops. |
DeviceOAuth2TokenServiceFactory::Shutdown(); |
+ // Shutdown after PostMainMessageLoopRun() which should destroy all observers. |
+ CrasAudioHandler::Shutdown(); |
+ |
// Called after |
// ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() to be |
// executed after execution of chrome::CloseAsh(), because some |