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/chromeos/chromeos_version.h" | 9 #include "base/chromeos/chromeos_version.h" |
10 #include "base/command_line.h" | 10 #include "base/command_line.h" |
11 #include "base/lazy_instance.h" | 11 #include "base/lazy_instance.h" |
12 #include "base/message_loop.h" | 12 #include "base/message_loop.h" |
13 #include "base/string_number_conversions.h" | 13 #include "base/string_number_conversions.h" |
| 14 #include "base/string_split.h" |
14 #include "chrome/browser/browser_process_impl.h" | 15 #include "chrome/browser/browser_process_impl.h" |
15 #include "chrome/browser/chromeos/audio/audio_handler.h" | 16 #include "chrome/browser/chromeos/audio/audio_handler.h" |
16 #include "chrome/browser/chromeos/background/desktop_background_observer.h" | 17 #include "chrome/browser/chromeos/background/desktop_background_observer.h" |
17 #include "chrome/browser/chromeos/boot_times_loader.h" | 18 #include "chrome/browser/chromeos/boot_times_loader.h" |
18 #include "chrome/browser/chromeos/cros/cros_library.h" | 19 #include "chrome/browser/chromeos/cros/cros_library.h" |
19 #include "chrome/browser/chromeos/cryptohome/async_method_caller.h" | 20 #include "chrome/browser/chromeos/cryptohome/async_method_caller.h" |
20 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h" | 21 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h" |
21 #include "chrome/browser/chromeos/disks/disk_mount_manager.h" | 22 #include "chrome/browser/chromeos/disks/disk_mount_manager.h" |
22 #include "chrome/browser/chromeos/external_metrics.h" | 23 #include "chrome/browser/chromeos/external_metrics.h" |
23 #include "chrome/browser/chromeos/imageburner/burn_manager.h" | 24 #include "chrome/browser/chromeos/imageburner/burn_manager.h" |
(...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
200 chromeos::disks::DiskMountManager::Shutdown(); | 201 chromeos::disks::DiskMountManager::Shutdown(); |
201 | 202 |
202 // CrosLibrary is shut down before DBusThreadManager even though the former | 203 // CrosLibrary is shut down before DBusThreadManager even though the former |
203 // is initialized before the latter becuase some of its libraries depend | 204 // is initialized before the latter becuase some of its libraries depend |
204 // on DBus clients. | 205 // on DBus clients. |
205 // TODO(hashimoto): Resolve this situation by removing CrosLibrary. | 206 // TODO(hashimoto): Resolve this situation by removing CrosLibrary. |
206 // (crosbug.com/26160) | 207 // (crosbug.com/26160) |
207 if (!parameters().ui_task && chromeos::CrosLibrary::Get()) | 208 if (!parameters().ui_task && chromeos::CrosLibrary::Get()) |
208 chromeos::CrosLibrary::Shutdown(); | 209 chromeos::CrosLibrary::Shutdown(); |
209 | 210 |
| 211 chromeos::input_method::InputMethodManager::Shutdown(); |
| 212 |
210 chromeos::CrosDBusService::Shutdown(); | 213 chromeos::CrosDBusService::Shutdown(); |
211 chromeos::DBusThreadManager::Shutdown(); | 214 chromeos::DBusThreadManager::Shutdown(); |
212 | 215 |
213 // To be precise, logout (browser shutdown) is not yet done, but the | 216 // To be precise, logout (browser shutdown) is not yet done, but the |
214 // remaining work is negligible, hence we say LogoutDone here. | 217 // remaining work is negligible, hence we say LogoutDone here. |
215 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", | 218 chromeos::BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", |
216 false); | 219 false); |
217 chromeos::BootTimesLoader::Get()->WriteLogoutTimes(); | 220 chromeos::BootTimesLoader::Get()->WriteLogoutTimes(); |
218 } | 221 } |
219 | 222 |
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
264 | 267 |
265 // Initialize the network change notifier for Chrome OS. The network | 268 // Initialize the network change notifier for Chrome OS. The network |
266 // change notifier starts to monitor changes from the power manager and | 269 // change notifier starts to monitor changes from the power manager and |
267 // the network manager. | 270 // the network manager. |
268 chromeos::CrosNetworkChangeNotifierFactory::GetInstance()->Init(); | 271 chromeos::CrosNetworkChangeNotifierFactory::GetInstance()->Init(); |
269 | 272 |
270 // Likewise, initialize the upgrade detector for Chrome OS. The upgrade | 273 // Likewise, initialize the upgrade detector for Chrome OS. The upgrade |
271 // detector starts to monitor changes from the update engine. | 274 // detector starts to monitor changes from the update engine. |
272 UpgradeDetectorChromeos::GetInstance()->Init(); | 275 UpgradeDetectorChromeos::GetInstance()->Init(); |
273 | 276 |
| 277 // This function and SystemKeyEventListener use InputMethodManager. |
| 278 chromeos::input_method::InputMethodManager::Initialize(); |
| 279 |
274 if (base::chromeos::IsRunningOnChromeOS()) { | 280 if (base::chromeos::IsRunningOnChromeOS()) { |
275 // Enable Num Lock on X start up for http://crosbug.com/p/5795 and | 281 // Enable Num Lock on X start up for http://crosbug.com/p/5795 and |
276 // http://crosbug.com/p/6245. We don't do this for Chromium OS since many | 282 // http://crosbug.com/p/6245. We don't do this for Chromium OS since many |
277 // netbooks do not work as intended when Num Lock is on (e.g. On a netbook | 283 // netbooks do not work as intended when Num Lock is on (e.g. On a netbook |
278 // with a small keyboard, u, i, o, p, ... keys might be repurposed as | 284 // with a small keyboard, u, i, o, p, ... keys might be repurposed as |
279 // cursor keys when Num Lock is on). | 285 // cursor keys when Num Lock is on). |
280 #if defined(GOOGLE_CHROME_BUILD) | 286 #if defined(GOOGLE_CHROME_BUILD) |
281 chromeos::input_method::InputMethodManager::GetInstance()-> | 287 chromeos::input_method::InputMethodManager::GetInstance()-> |
282 GetXKeyboard()->SetNumLockEnabled(true); | 288 GetXKeyboard()->SetNumLockEnabled(true); |
283 #endif | 289 #endif |
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
487 | 493 |
488 // Let VideoPropertyWriter unregister itself as an observer of the ash::Shell | 494 // Let VideoPropertyWriter unregister itself as an observer of the ash::Shell |
489 // singleton before the shell is destroyed. | 495 // singleton before the shell is destroyed. |
490 video_property_writer_.reset(); | 496 video_property_writer_.reset(); |
491 // Remove PowerButtonObserver attached to a D-Bus client before | 497 // Remove PowerButtonObserver attached to a D-Bus client before |
492 // DBusThreadManager is shut down. | 498 // DBusThreadManager is shut down. |
493 power_button_observer_.reset(); | 499 power_button_observer_.reset(); |
494 | 500 |
495 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); | 501 ChromeBrowserMainPartsLinux::PostMainMessageLoopRun(); |
496 } | 502 } |
OLD | NEW |