diff options
Diffstat (limited to 'chrome/browser/chrome_browser_main_aura.cc')
-rw-r--r-- | chrome/browser/chrome_browser_main_aura.cc | 33 |
1 files changed, 31 insertions, 2 deletions
diff --git a/chrome/browser/chrome_browser_main_aura.cc b/chrome/browser/chrome_browser_main_aura.cc index 3f1927f..90c6fa3 100644 --- a/chrome/browser/chrome_browser_main_aura.cc +++ b/chrome/browser/chrome_browser_main_aura.cc @@ -6,18 +6,47 @@ #include "base/logging.h" +#if defined(OS_CHROMEOS) +#include "base/command_line.h" +#include "chrome/browser/chromeos/cros/cros_library.h" +#include "chrome/browser/chromeos/dbus/dbus_thread_manager.h" +#include "chrome/common/chrome_switches.h" +#include "content/common/main_function_params.h" +#endif + ChromeBrowserMainPartsAura::ChromeBrowserMainPartsAura( const MainFunctionParams& parameters) - : ChromeBrowserMainParts(parameters) { + : ChromeBrowserMainParts(parameters) { NOTIMPLEMENTED(); } +ChromeBrowserMainPartsAura::~ChromeBrowserMainPartsAura() { +#if defined(OS_CHROMEOS) + chromeos::DBusThreadManager::Shutdown(); + if (!parameters().ui_task && chromeos::CrosLibrary::Get()) + chromeos::CrosLibrary::Shutdown(); +#endif +} + void ChromeBrowserMainPartsAura::PreEarlyInitialization() { NOTIMPLEMENTED(); } +void ChromeBrowserMainPartsAura::PreMainMessageLoopStart() { +#if defined(OS_CHROMEOS) + if (!parameters().ui_task) { + bool use_stub = parameters().command_line_.HasSwitch(switches::kStubCros); + chromeos::CrosLibrary::Initialize(use_stub); + } +#endif +} + void ChromeBrowserMainPartsAura::PostMainMessageLoopStart() { - NOTIMPLEMENTED(); +#if defined(OS_CHROMEOS) + // Initialize DBusThreadManager for the browser. This must be done after + // the main message loop is started, as it uses the message loop. + chromeos::DBusThreadManager::Initialize(); +#endif } void ShowMissingLocaleMessageBox() { |