| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" | 5 #include "chrome/browser/chromeos/chrome_browser_main_chromeos.h" |
| 6 | 6 |
| 7 #include "base/bind.h" | 7 #include "base/bind.h" |
| 8 #include "base/callback.h" | 8 #include "base/callback.h" |
| 9 #include "base/command_line.h" | 9 #include "base/command_line.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 221 // ChromeBrowserMainPartsChromeos ---------------------------------------------- | 221 // ChromeBrowserMainPartsChromeos ---------------------------------------------- |
| 222 | 222 |
| 223 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( | 223 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( |
| 224 const content::MainFunctionParams& parameters) | 224 const content::MainFunctionParams& parameters) |
| 225 : ChromeBrowserMainPartsLinux(parameters) { | 225 : ChromeBrowserMainPartsLinux(parameters) { |
| 226 } | 226 } |
| 227 | 227 |
| 228 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { | 228 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { |
| 229 chromeos::ShutdownKioskModeScreensaver(); | 229 chromeos::ShutdownKioskModeScreensaver(); |
| 230 cryptohome::AsyncMethodCaller::Shutdown(); | 230 cryptohome::AsyncMethodCaller::Shutdown(); |
| 231 chromeos::imageburner::BurnManager::Shutdown(); | |
| 232 chromeos::disks::DiskMountManager::Shutdown(); | 231 chromeos::disks::DiskMountManager::Shutdown(); |
| 233 | 232 |
| 234 // CrosLibrary is shut down before DBusThreadManager even though the former | 233 // CrosLibrary is shut down before DBusThreadManager even though the former |
| 235 // is initialized before the latter becuase some of its libraries depend | 234 // is initialized before the latter becuase some of its libraries depend |
| 236 // on DBus clients. | 235 // on DBus clients. |
| 237 // TODO(hashimoto): Resolve this situation by removing CrosLibrary. | 236 // TODO(hashimoto): Resolve this situation by removing CrosLibrary. |
| 238 // (crosbug.com/26160) | 237 // (crosbug.com/26160) |
| 239 if (!parameters().ui_task && chromeos::CrosLibrary::Get()) | 238 if (!parameters().ui_task && chromeos::CrosLibrary::Get()) |
| 240 chromeos::CrosLibrary::Shutdown(); | 239 chromeos::CrosLibrary::Shutdown(); |
| 241 | 240 |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 283 | 282 |
| 284 // Initialize DBusThreadManager for the browser. This must be done after | 283 // Initialize DBusThreadManager for the browser. This must be done after |
| 285 // the main message loop is started, as it uses the message loop. | 284 // the main message loop is started, as it uses the message loop. |
| 286 chromeos::DBusThreadManager::Initialize(); | 285 chromeos::DBusThreadManager::Initialize(); |
| 287 | 286 |
| 288 // Initialize the session manager observer so that we'll take actions | 287 // Initialize the session manager observer so that we'll take actions |
| 289 // per signals sent from the session manager. | 288 // per signals sent from the session manager. |
| 290 session_manager_observer_.reset(new chromeos::SessionManagerObserver); | 289 session_manager_observer_.reset(new chromeos::SessionManagerObserver); |
| 291 | 290 |
| 292 chromeos::disks::DiskMountManager::Initialize(); | 291 chromeos::disks::DiskMountManager::Initialize(); |
| 293 chromeos::imageburner::BurnManager::Initialize(); | |
| 294 cryptohome::AsyncMethodCaller::Initialize(); | 292 cryptohome::AsyncMethodCaller::Initialize(); |
| 295 | 293 |
| 296 // Initialize the network change notifier for Chrome OS. The network | 294 // Initialize the network change notifier for Chrome OS. The network |
| 297 // change notifier starts to monitor changes from the power manager and | 295 // change notifier starts to monitor changes from the power manager and |
| 298 // the network manager. | 296 // the network manager. |
| 299 chromeos::CrosNetworkChangeNotifierFactory::GetInstance()->Init(); | 297 chromeos::CrosNetworkChangeNotifierFactory::GetInstance()->Init(); |
| 300 | 298 |
| 301 // Likewise, initialize the upgrade detector for Chrome OS. The upgrade | 299 // Likewise, initialize the upgrade detector for Chrome OS. The upgrade |
| 302 // detector starts to monitor changes from the update engine. | 300 // detector starts to monitor changes from the update engine. |
| 303 UpgradeDetectorChromeos::GetInstance()->Init(); | 301 UpgradeDetectorChromeos::GetInstance()->Init(); |
| (...skipping 15 matching lines...) Expand all Loading... |
| 319 #endif | 317 #endif |
| 320 } | 318 } |
| 321 | 319 |
| 322 ChromeBrowserMainPartsLinux::PostMainMessageLoopStart(); | 320 ChromeBrowserMainPartsLinux::PostMainMessageLoopStart(); |
| 323 } | 321 } |
| 324 | 322 |
| 325 // Threads are initialized MainMessageLoopStart and MainMessageLoopRun. | 323 // Threads are initialized MainMessageLoopStart and MainMessageLoopRun. |
| 326 | 324 |
| 327 void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() { | 325 void ChromeBrowserMainPartsChromeos::PreMainMessageLoopRun() { |
| 328 chromeos::AudioHandler::Initialize(); | 326 chromeos::AudioHandler::Initialize(); |
| 327 chromeos::imageburner::BurnManager::Initialize(); |
| 329 | 328 |
| 330 // Listen for system key events so that the user will be able to adjust the | 329 // Listen for system key events so that the user will be able to adjust the |
| 331 // volume on the login screen, if Chrome is running on Chrome OS | 330 // volume on the login screen, if Chrome is running on Chrome OS |
| 332 // (i.e. not Linux desktop), and in non-test mode. | 331 // (i.e. not Linux desktop), and in non-test mode. |
| 333 // Note: SystemKeyEventListener depends on the DBus thread. | 332 // Note: SystemKeyEventListener depends on the DBus thread. |
| 334 if (chromeos::system::runtime_environment::IsRunningOnChromeOS() && | 333 if (chromeos::system::runtime_environment::IsRunningOnChromeOS() && |
| 335 !parameters().ui_task) { // ui_task is non-NULL when running tests. | 334 !parameters().ui_task) { // ui_task is non-NULL when running tests. |
| 336 chromeos::SystemKeyEventListener::Initialize(); | 335 chromeos::SystemKeyEventListener::Initialize(); |
| 337 } | 336 } |
| 338 | 337 |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 526 // these. | 525 // these. |
| 527 chromeos::BluetoothManager::Shutdown(); | 526 chromeos::BluetoothManager::Shutdown(); |
| 528 | 527 |
| 529 // The XInput2 event listener needs to be shut down earlier than when | 528 // The XInput2 event listener needs to be shut down earlier than when |
| 530 // Singletons are finally destroyed in AtExitManager. | 529 // Singletons are finally destroyed in AtExitManager. |
| 531 chromeos::XInputHierarchyChangedEventListener::GetInstance()->Stop(); | 530 chromeos::XInputHierarchyChangedEventListener::GetInstance()->Stop(); |
| 532 | 531 |
| 533 // chromeos::SystemKeyEventListener::Shutdown() is always safe to call, | 532 // chromeos::SystemKeyEventListener::Shutdown() is always safe to call, |
| 534 // even if Initialize() wasn't called. | 533 // even if Initialize() wasn't called. |
| 535 chromeos::SystemKeyEventListener::Shutdown(); | 534 chromeos::SystemKeyEventListener::Shutdown(); |
| 535 chromeos::imageburner::BurnManager::Shutdown(); |
| 536 chromeos::AudioHandler::Shutdown(); | 536 chromeos::AudioHandler::Shutdown(); |
| 537 | 537 |
| 538 chromeos::WebSocketProxyController::Shutdown(); | 538 chromeos::WebSocketProxyController::Shutdown(); |
| 539 | 539 |
| 540 #if defined(USE_AURA) | 540 #if defined(USE_AURA) |
| 541 // Let VideoPropertyWriter unregister itself as an observer of the ash::Shell | 541 // Let VideoPropertyWriter unregister itself as an observer of the ash::Shell |
| 542 // singleton before the shell is destroyed. | 542 // singleton before the shell is destroyed. |
| 543 video_property_writer_.reset(); | 543 video_property_writer_.reset(); |
| 544 // Remove PowerButtonObserver attached to a D-Bus client before | 544 // Remove PowerButtonObserver attached to a D-Bus client before |
| 545 // DBusThreadManager is shut down. | 545 // DBusThreadManager is shut down. |
| 546 power_button_observer_.reset(); | 546 power_button_observer_.reset(); |
| 547 #endif | 547 #endif |
| 548 | 548 |
| 549 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 549 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
| 550 } | 550 } |
| OLD | NEW |