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 5b737ac0c1bc1b6f856600228bb6841f2496bb28..8c39e3311b2fa18b4c5217423e4edaa23dcb49b4 100644 |
--- a/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
+++ b/chrome/browser/chromeos/chrome_browser_main_chromeos.cc |
@@ -87,10 +87,32 @@ ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( |
} |
ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { |
+ // Shutdown the upgrade detector for Chrome OS. The upgrade detector |
+ // stops monitoring changes from the update engine. |
+ if (UpgradeDetectorChromeos::GetInstance()) |
+ UpgradeDetectorChromeos::GetInstance()->Shutdown(); |
+ |
+ // Shutdown the network change notifier for Chrome OS. The network |
+ // change notifier stops monitoring changes from the power manager and |
+ // the network manager. |
+ if (chromeos::CrosNetworkChangeNotifierFactory::GetInstance()) |
+ chromeos::CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); |
+ |
chromeos::disks::DiskMountManager::Shutdown(); |
chromeos::BluetoothManager::Shutdown(); |
+ // We should remove observers attached to D-Bus clients before |
+ // DBusThreadManager is shut down. |
+ if (session_manager_observer_.get()) { |
+ chromeos::DBusThreadManager::Get()->GetSessionManagerClient()-> |
+ RemoveObserver(session_manager_observer_.get()); |
+ } |
+ if (brightness_observer_.get()) { |
+ chromeos::DBusThreadManager::Get()->GetPowerManagerClient() |
+ ->RemoveObserver(brightness_observer_.get()); |
+ } |
+ |
chromeos::DBusThreadManager::Shutdown(); |
if (!parameters().ui_task && chromeos::CrosLibrary::Get()) |
@@ -147,7 +169,7 @@ void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() { |
} |
void ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() { |
- ChromeBrowserMainPartsLinux::PostMainMessageLoopStart(); |
+ ChromeBrowserMainPartsPosix::PostMainMessageLoopStart(); |
MessageLoopForUI* message_loop = MessageLoopForUI::current(); |
message_loop->AddObserver(g_message_loop_observer.Pointer()); |
@@ -190,30 +212,3 @@ void ChromeBrowserMainPartsChromeos::PostMainMessageLoopStart() { |
#endif |
} |
} |
- |
-// Shut down services before the browser process, etc are destroyed. |
-void ChromeBrowserMainPartsChromeos::PostMainMessageLoopRun() { |
- ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
- |
- // Shutdown the upgrade detector for Chrome OS. The upgrade detector |
- // stops monitoring changes from the update engine. |
- if (UpgradeDetectorChromeos::GetInstance()) |
- UpgradeDetectorChromeos::GetInstance()->Shutdown(); |
- |
- // Shutdown the network change notifier for Chrome OS. The network |
- // change notifier stops monitoring changes from the power manager and |
- // the network manager. |
- if (chromeos::CrosNetworkChangeNotifierFactory::GetInstance()) |
- chromeos::CrosNetworkChangeNotifierFactory::GetInstance()->Shutdown(); |
- |
- // We should remove observers attached to D-Bus clients before |
- // DBusThreadManager is shut down. |
- if (session_manager_observer_.get()) { |
- chromeos::DBusThreadManager::Get()->GetSessionManagerClient()-> |
- RemoveObserver(session_manager_observer_.get()); |
- } |
- if (brightness_observer_.get()) { |
- chromeos::DBusThreadManager::Get()->GetPowerManagerClient() |
- ->RemoveObserver(brightness_observer_.get()); |
- } |
-} |