Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(53)

Side by Side Diff: chrome/browser/chromeos/chrome_browser_main_chromeos.cc

Issue 14522013: Separate cert loading code from CertLibrary and move to src/chromeos (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Rebase + Add comments / address nits Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "ash/ash_switches.h" 10 #include "ash/ash_switches.h"
(...skipping 15 matching lines...) Expand all
26 #include "chrome/browser/browser_process.h" 26 #include "chrome/browser/browser_process.h"
27 #include "chrome/browser/browser_process_platform_part_chromeos.h" 27 #include "chrome/browser/browser_process_platform_part_chromeos.h"
28 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" 28 #include "chrome/browser/chromeos/accessibility/accessibility_util.h"
29 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" 29 #include "chrome/browser/chromeos/accessibility/magnification_manager.h"
30 #include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h" 30 #include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h"
31 #include "chrome/browser/chromeos/app_mode/kiosk_app_launcher.h" 31 #include "chrome/browser/chromeos/app_mode/kiosk_app_launcher.h"
32 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" 32 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h"
33 #include "chrome/browser/chromeos/audio/audio_handler.h" 33 #include "chrome/browser/chromeos/audio/audio_handler.h"
34 #include "chrome/browser/chromeos/boot_times_loader.h" 34 #include "chrome/browser/chromeos/boot_times_loader.h"
35 #include "chrome/browser/chromeos/contacts/contact_manager.h" 35 #include "chrome/browser/chromeos/contacts/contact_manager.h"
36 #include "chrome/browser/chromeos/cros/cert_library.h"
36 #include "chrome/browser/chromeos/cros/cros_library.h" 37 #include "chrome/browser/chromeos/cros/cros_library.h"
37 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h" 38 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h"
38 #include "chrome/browser/chromeos/display/display_configuration_observer.h" 39 #include "chrome/browser/chromeos/display/display_configuration_observer.h"
39 #include "chrome/browser/chromeos/extensions/default_app_order.h" 40 #include "chrome/browser/chromeos/extensions/default_app_order.h"
40 #include "chrome/browser/chromeos/external_metrics.h" 41 #include "chrome/browser/chromeos/external_metrics.h"
41 #include "chrome/browser/chromeos/imageburner/burn_manager.h" 42 #include "chrome/browser/chromeos/imageburner/burn_manager.h"
42 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" 43 #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
43 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.h" 44 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.h"
44 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h" 45 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h"
45 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h" 46 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
97 #include "chromeos/chromeos_switches.h" 98 #include "chromeos/chromeos_switches.h"
98 #include "chromeos/cryptohome/async_method_caller.h" 99 #include "chromeos/cryptohome/async_method_caller.h"
99 #include "chromeos/cryptohome/cryptohome_library.h" 100 #include "chromeos/cryptohome/cryptohome_library.h"
100 #include "chromeos/dbus/dbus_thread_manager.h" 101 #include "chromeos/dbus/dbus_thread_manager.h"
101 #include "chromeos/dbus/power_manager_client.h" 102 #include "chromeos/dbus/power_manager_client.h"
102 #include "chromeos/dbus/session_manager_client.h" 103 #include "chromeos/dbus/session_manager_client.h"
103 #include "chromeos/disks/disk_mount_manager.h" 104 #include "chromeos/disks/disk_mount_manager.h"
104 #include "chromeos/ime/input_method_manager.h" 105 #include "chromeos/ime/input_method_manager.h"
105 #include "chromeos/ime/xkeyboard.h" 106 #include "chromeos/ime/xkeyboard.h"
106 #include "chromeos/login/login_state.h" 107 #include "chromeos/login/login_state.h"
108 #include "chromeos/network/cert_loader.h"
107 #include "chromeos/network/geolocation_handler.h" 109 #include "chromeos/network/geolocation_handler.h"
108 #include "chromeos/network/managed_network_configuration_handler.h" 110 #include "chromeos/network/managed_network_configuration_handler.h"
109 #include "chromeos/network/network_change_notifier_chromeos.h" 111 #include "chromeos/network/network_change_notifier_chromeos.h"
110 #include "chromeos/network/network_change_notifier_factory_chromeos.h" 112 #include "chromeos/network/network_change_notifier_factory_chromeos.h"
111 #include "chromeos/network/network_configuration_handler.h" 113 #include "chromeos/network/network_configuration_handler.h"
112 #include "chromeos/network/network_event_log.h" 114 #include "chromeos/network/network_event_log.h"
113 #include "chromeos/network/network_state_handler.h" 115 #include "chromeos/network/network_state_handler.h"
114 #include "content/public/browser/browser_thread.h" 116 #include "content/public/browser/browser_thread.h"
115 #include "content/public/browser/notification_service.h" 117 #include "content/public/browser/notification_service.h"
116 #include "content/public/browser/power_save_blocker.h" 118 #include "content/public/browser/power_save_blocker.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
262 } 264 }
263 } 265 }
264 266
265 void RunAutoLaunchKioskApp() { 267 void RunAutoLaunchKioskApp() {
266 // KioskAppLauncher deletes itself when done. 268 // KioskAppLauncher deletes itself when done.
267 (new KioskAppLauncher( 269 (new KioskAppLauncher(
268 KioskAppManager::Get()->GetAutoLaunchApp()))->Start(); 270 KioskAppManager::Get()->GetAutoLaunchApp()))->Start();
269 271
270 // Login screen is skipped but 'login-prompt-visible' signal is still needed. 272 // Login screen is skipped but 'login-prompt-visible' signal is still needed.
271 LOG(INFO) << "Kiosk app auto launch >> login-prompt-visible"; 273 LOG(INFO) << "Kiosk app auto launch >> login-prompt-visible";
272 chromeos::DBusThreadManager::Get()->GetSessionManagerClient()-> 274 DBusThreadManager::Get()->GetSessionManagerClient()->
273 EmitLoginPromptVisible(); 275 EmitLoginPromptVisible();
274 } 276 }
275 277
276 bool UseNewAudioHandler() { 278 bool UseNewAudioHandler() {
277 return !CommandLine::ForCurrentProcess()-> 279 return !CommandLine::ForCurrentProcess()->
278 HasSwitch(ash::switches::kAshDisableNewAudioHandler); 280 HasSwitch(ash::switches::kAshDisableNewAudioHandler);
279 } 281 }
280 282
281 } // namespace 283 } // namespace
282 284
283 namespace internal { 285 namespace internal {
284 286
285 // Wrapper class for initializing dbus related services and shutting them 287 // Wrapper class for initializing dbus related services and shutting them
286 // down. This gets instantiated in a scoped_ptr so that shutdown methods in the 288 // down. This gets instantiated in a scoped_ptr so that shutdown methods in the
287 // destructor will get called if and only if this has been instantiated. 289 // destructor will get called if and only if this has been instantiated.
288 class DBusServices { 290 class DBusServices {
pneubeck (no reviews) 2013/05/02 14:58:35 The name of this class and its comment don't match
stevenjb 2013/05/03 01:00:31 Agreed. I plan to do a cleanup pass soon after 28
289 public: 291 public:
290 explicit DBusServices(const content::MainFunctionParams& parameters) 292 explicit DBusServices(const content::MainFunctionParams& parameters)
291 : cros_initialized_(false) { 293 : cros_initialized_(false) {
292 // Initialize CrosLibrary only for the browser, unless running tests 294 // Initialize CrosLibrary only for the browser, unless running tests
293 // (which do their own CrosLibrary setup). 295 // (which do their own CrosLibrary setup).
294 if (!parameters.ui_task) { 296 if (!parameters.ui_task) {
295 const bool use_stub = !base::chromeos::IsRunningOnChromeOS(); 297 const bool use_stub = !base::chromeos::IsRunningOnChromeOS();
296 CrosLibrary::Initialize(use_stub); 298 CrosLibrary::Initialize(use_stub);
297 cros_initialized_ = true; 299 cros_initialized_ = true;
298 } 300 }
299 301
300 // Initialize DBusThreadManager for the browser. This must be done after 302 // Initialize DBusThreadManager for the browser. This must be done after
301 // the main message loop is started, as it uses the message loop. 303 // the main message loop is started, as it uses the message loop.
302 DBusThreadManager::Initialize(); 304 DBusThreadManager::Initialize();
303 CrosDBusService::Initialize(); 305 CrosDBusService::Initialize();
304 306
307 LoginState::Initialize();
308 CertLoader::Initialize();
309 CertLibrary::Initialize();
305 CryptohomeLibrary::Initialize(); 310 CryptohomeLibrary::Initialize();
306 311
307 // This function and SystemKeyEventListener use InputMethodManager. 312 // This function and SystemKeyEventListener use InputMethodManager.
308 chromeos::input_method::Initialize( 313 chromeos::input_method::Initialize(
309 content::BrowserThread::GetMessageLoopProxyForThread( 314 content::BrowserThread::GetMessageLoopProxyForThread(
310 content::BrowserThread::UI), 315 content::BrowserThread::UI),
311 content::BrowserThread::GetMessageLoopProxyForThread( 316 content::BrowserThread::GetMessageLoopProxyForThread(
312 content::BrowserThread::FILE)); 317 content::BrowserThread::FILE));
313 disks::DiskMountManager::Initialize(); 318 disks::DiskMountManager::Initialize();
314 cryptohome::AsyncMethodCaller::Initialize(); 319 cryptohome::AsyncMethodCaller::Initialize();
315 320
316 chromeos::LoginState::Initialize();
317
318 // Always initialize these handlers which should not conflict with 321 // Always initialize these handlers which should not conflict with
319 // NetworkLibrary. 322 // NetworkLibrary.
320 chromeos::network_event_log::Initialize(); 323 network_event_log::Initialize();
321 chromeos::GeolocationHandler::Initialize(); 324 GeolocationHandler::Initialize();
322 chromeos::NetworkStateHandler::Initialize(); 325 NetworkStateHandler::Initialize();
323 326
324 chromeos::NetworkConfigurationHandler::Initialize(); 327 NetworkConfigurationHandler::Initialize();
325 chromeos::ManagedNetworkConfigurationHandler::Initialize(); 328 ManagedNetworkConfigurationHandler::Initialize();
326 329
327 // Initialize the network change notifier for Chrome OS. The network 330 // Initialize the network change notifier for Chrome OS. The network
328 // change notifier starts to monitor changes from the power manager and 331 // change notifier starts to monitor changes from the power manager and
329 // the network manager. 332 // the network manager.
330 if (!CommandLine::ForCurrentProcess()->HasSwitch( 333 if (!CommandLine::ForCurrentProcess()->HasSwitch(
331 chromeos::switches::kDisableNewNetworkChangeNotifier)) { 334 chromeos::switches::kDisableNewNetworkChangeNotifier)) {
332 NetworkChangeNotifierFactoryChromeos::GetInstance()->Initialize(); 335 NetworkChangeNotifierFactoryChromeos::GetInstance()->Initialize();
333 } else { 336 } else {
334 CrosNetworkChangeNotifierFactory::GetInstance()->Init(); 337 CrosNetworkChangeNotifierFactory::GetInstance()->Init();
335 } 338 }
336 339
337 // Likewise, initialize the upgrade detector for Chrome OS. The upgrade 340 // Likewise, initialize the upgrade detector for Chrome OS. The upgrade
338 // detector starts to monitor changes from the update engine. 341 // detector starts to monitor changes from the update engine.
339 UpgradeDetectorChromeos::GetInstance()->Init(); 342 UpgradeDetectorChromeos::GetInstance()->Init();
340 343
341 if (base::chromeos::IsRunningOnChromeOS()) { 344 if (base::chromeos::IsRunningOnChromeOS()) {
342 // Disable Num Lock on X start up for http://crosbug.com/29169. 345 // Disable Num Lock on X start up for http://crosbug.com/29169.
343 input_method::GetInputMethodManager()->GetXKeyboard()-> 346 input_method::GetInputMethodManager()->GetXKeyboard()->
344 SetNumLockEnabled(false); 347 SetNumLockEnabled(false);
345 } 348 }
346 349
347 // Initialize the device settings service so that we'll take actions per 350 // Initialize the device settings service so that we'll take actions per
348 // signals sent from the session manager. This needs to happen before 351 // signals sent from the session manager. This needs to happen before
349 // g_browser_process initializes BrowserPolicyConnector. 352 // g_browser_process initializes BrowserPolicyConnector.
350 DeviceSettingsService::Initialize(); 353 DeviceSettingsService::Initialize();
351 DeviceSettingsService::Get()->SetSessionManager( 354 DeviceSettingsService::Get()->SetSessionManager(
352 DBusThreadManager::Get()->GetSessionManagerClient(), 355 DBusThreadManager::Get()->GetSessionManagerClient(),
353 OwnerKeyUtil::Create()); 356 OwnerKeyUtil::Create());
354 chromeos::ConnectivityStateHelper::Initialize(); 357 ConnectivityStateHelper::Initialize();
355 } 358 }
356 359
357 ~DBusServices() { 360 ~DBusServices() {
358 chromeos::ConnectivityStateHelper::Shutdown(); 361 ConnectivityStateHelper::Shutdown();
359 // CrosLibrary is shut down before DBusThreadManager even though it 362 // CrosLibrary is shut down before DBusThreadManager even though it
360 // is initialized first becuase some of its libraries depend on DBus 363 // is initialized first becuase some of its libraries depend on DBus
361 // clients. 364 // clients.
362 // TODO(hashimoto): Resolve this situation by removing CrosLibrary. 365 // TODO(hashimoto): Resolve this situation by removing CrosLibrary.
363 // (crosbug.com/26160) 366 // (crosbug.com/26160)
364 if (cros_initialized_ && CrosLibrary::Get()) 367 if (cros_initialized_ && CrosLibrary::Get())
365 CrosLibrary::Shutdown(); 368 CrosLibrary::Shutdown();
366 369
367 chromeos::ManagedNetworkConfigurationHandler::Shutdown(); 370 ManagedNetworkConfigurationHandler::Shutdown();
368 chromeos::NetworkConfigurationHandler::Shutdown(); 371 NetworkConfigurationHandler::Shutdown();
369 372
370 chromeos::NetworkStateHandler::Shutdown(); 373 NetworkStateHandler::Shutdown();
371 chromeos::GeolocationHandler::Shutdown(); 374 GeolocationHandler::Shutdown();
372 chromeos::network_event_log::Shutdown(); 375 network_event_log::Shutdown();
373 376
374 chromeos::LoginState::Shutdown(); 377 LoginState::Shutdown();
375 378
376 cryptohome::AsyncMethodCaller::Shutdown(); 379 cryptohome::AsyncMethodCaller::Shutdown();
377 disks::DiskMountManager::Shutdown(); 380 disks::DiskMountManager::Shutdown();
378 input_method::Shutdown(); 381 input_method::Shutdown();
379 CryptohomeLibrary::Shutdown(); 382 CryptohomeLibrary::Shutdown();
383 CertLibrary::Shutdown();
pneubeck (no reviews) 2013/05/02 14:58:35 Shutdown of CertLoader? Can you use the reverse o
stevenjb 2013/05/03 01:00:31 Done.
380 CrosDBusService::Shutdown(); 384 CrosDBusService::Shutdown();
381 // NOTE: This must only be called if Initialize() was called. 385 // NOTE: This must only be called if Initialize() was called.
382 DBusThreadManager::Shutdown(); 386 DBusThreadManager::Shutdown();
383 } 387 }
384 388
385 private: 389 private:
386 bool cros_initialized_; 390 bool cros_initialized_;
387 391
388 DISALLOW_COPY_AND_ASSIGN(DBusServices); 392 DISALLOW_COPY_AND_ASSIGN(DBusServices);
389 }; 393 };
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
501 505
502 // Listen for system key events so that the user will be able to adjust the 506 // Listen for system key events so that the user will be able to adjust the
503 // volume on the login screen, if Chrome is running on Chrome OS 507 // volume on the login screen, if Chrome is running on Chrome OS
504 // (i.e. not Linux desktop), and in non-test mode. 508 // (i.e. not Linux desktop), and in non-test mode.
505 // Note: SystemKeyEventListener depends on the DBus thread. 509 // Note: SystemKeyEventListener depends on the DBus thread.
506 if (base::chromeos::IsRunningOnChromeOS() && 510 if (base::chromeos::IsRunningOnChromeOS() &&
507 !parameters().ui_task) { // ui_task is non-NULL when running tests. 511 !parameters().ui_task) { // ui_task is non-NULL when running tests.
508 SystemKeyEventListener::Initialize(); 512 SystemKeyEventListener::Initialize();
509 } 513 }
510 514
511 chromeos::DeviceOAuth2TokenServiceFactory::Initialize(); 515 DeviceOAuth2TokenServiceFactory::Initialize();
512 516
513 ChromeBrowserMainPartsLinux::PreMainMessageLoopRun(); 517 ChromeBrowserMainPartsLinux::PreMainMessageLoopRun();
514 } 518 }
515 519
516 void ChromeBrowserMainPartsChromeos::PreProfileInit() { 520 void ChromeBrowserMainPartsChromeos::PreProfileInit() {
517 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() 521 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun()
518 // -- immediately before Profile creation(). 522 // -- immediately before Profile creation().
519 523
520 // Now that the file thread exists we can record our stats. 524 // Now that the file thread exists we can record our stats.
521 BootTimesLoader::Get()->RecordChromeMainStats(); 525 BootTimesLoader::Get()->RecordChromeMainStats();
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
586 user_manager->SessionStarted(); 590 user_manager->SessionStarted();
587 } 591 }
588 592
589 if (!app_order_loader_) { 593 if (!app_order_loader_) {
590 app_order_loader_.reset( 594 app_order_loader_.reset(
591 new default_app_order::ExternalLoader(true /* async */)); 595 new default_app_order::ExternalLoader(true /* async */));
592 } 596 }
593 597
594 // Initialize magnification manager before ash tray is created. And this must 598 // Initialize magnification manager before ash tray is created. And this must
595 // be placed after UserManager::SessionStarted(); 599 // be placed after UserManager::SessionStarted();
596 chromeos::MagnificationManager::Initialize(); 600 MagnificationManager::Initialize();
597 601
598 // Add observers for WallpaperManager. This depends on PowerManagerClient, 602 // Add observers for WallpaperManager. This depends on PowerManagerClient,
599 // TimezoneSettings and CrosSettings. 603 // TimezoneSettings and CrosSettings.
600 WallpaperManager::Get()->AddObservers(); 604 WallpaperManager::Get()->AddObservers();
601 605
602 #if defined(USE_LINUX_BREAKPAD) 606 #if defined(USE_LINUX_BREAKPAD)
603 cros_version_loader_.GetVersion(VersionLoader::VERSION_FULL, 607 cros_version_loader_.GetVersion(VersionLoader::VERSION_FULL,
604 base::Bind(&ChromeOSVersionCallback), 608 base::Bind(&ChromeOSVersionCallback),
605 &tracker_); 609 &tracker_);
606 #endif 610 #endif
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
749 BootTimesLoader::Get()->AddLogoutTimeMarker("UIMessageLoopEnded", true); 753 BootTimesLoader::Get()->AddLogoutTimeMarker("UIMessageLoopEnded", true);
750 754
751 g_browser_process->platform_part()->oom_priority_manager()->Stop(); 755 g_browser_process->platform_part()->oom_priority_manager()->Stop();
752 756
753 // Stops LoginUtils background fetchers. This is needed because IO thread is 757 // Stops LoginUtils background fetchers. This is needed because IO thread is
754 // going to stop soon after this function. The pending background jobs could 758 // going to stop soon after this function. The pending background jobs could
755 // cause it to crash during shutdown. 759 // cause it to crash during shutdown.
756 LoginUtils::Get()->StopBackgroundFetchers(); 760 LoginUtils::Get()->StopBackgroundFetchers();
757 761
758 // Stops all in-flight OAuth2 token fetchers before the IO thread stops. 762 // Stops all in-flight OAuth2 token fetchers before the IO thread stops.
759 chromeos::DeviceOAuth2TokenServiceFactory::Shutdown(); 763 DeviceOAuth2TokenServiceFactory::Shutdown();
760 764
761 // Shutdown the upgrade detector for Chrome OS. The upgrade detector 765 // Shutdown the upgrade detector for Chrome OS. The upgrade detector
762 // stops monitoring changes from the update engine. 766 // stops monitoring changes from the update engine.
763 if (UpgradeDetectorChromeos::GetInstance()) 767 if (UpgradeDetectorChromeos::GetInstance())
764 UpgradeDetectorChromeos::GetInstance()->Shutdown(); 768 UpgradeDetectorChromeos::GetInstance()->Shutdown();
765 769
766 // Shutdown the network change notifier for Chrome OS. The network 770 // Shutdown the network change notifier for Chrome OS. The network
767 // change notifier stops monitoring changes from the power manager and 771 // change notifier stops monitoring changes from the power manager and
768 // the network manager. 772 // the network manager.
769 if (CrosNetworkChangeNotifierFactory::GetInstance()) 773 if (CrosNetworkChangeNotifierFactory::GetInstance())
(...skipping 16 matching lines...) Expand all
786 suspend_observer_.reset(); 790 suspend_observer_.reset();
787 resume_observer_.reset(); 791 resume_observer_.reset();
788 brightness_observer_.reset(); 792 brightness_observer_.reset();
789 retail_mode_power_save_blocker_.reset(); 793 retail_mode_power_save_blocker_.reset();
790 peripheral_battery_observer_.reset(); 794 peripheral_battery_observer_.reset();
791 795
792 // The XInput2 event listener needs to be shut down earlier than when 796 // The XInput2 event listener needs to be shut down earlier than when
793 // Singletons are finally destroyed in AtExitManager. 797 // Singletons are finally destroyed in AtExitManager.
794 XInputHierarchyChangedEventListener::GetInstance()->Stop(); 798 XInputHierarchyChangedEventListener::GetInstance()->Stop();
795 799
796 // chromeos::SystemKeyEventListener::Shutdown() is always safe to call, 800 // SystemKeyEventListener::Shutdown() is always safe to call,
797 // even if Initialize() wasn't called. 801 // even if Initialize() wasn't called.
798 SystemKeyEventListener::Shutdown(); 802 SystemKeyEventListener::Shutdown();
799 imageburner::BurnManager::Shutdown(); 803 imageburner::BurnManager::Shutdown();
800 if (UseNewAudioHandler()) { 804 if (UseNewAudioHandler()) {
801 CrasAudioHandler::Shutdown(); 805 CrasAudioHandler::Shutdown();
802 } else { 806 } else {
803 AudioHandler::Shutdown(); 807 AudioHandler::Shutdown();
804 } 808 }
805 809
806 if (CommandLine::ForCurrentProcess()->HasSwitch( 810 if (CommandLine::ForCurrentProcess()->HasSwitch(
807 chromeos::switches::kEnableChromeAudioSwitching)) 811 chromeos::switches::kEnableChromeAudioSwitching))
808 CrasAudioSwitchHandler::Shutdown(); 812 CrasAudioSwitchHandler::Shutdown();
809 813
810 WebSocketProxyController::Shutdown(); 814 WebSocketProxyController::Shutdown();
811 815
812 // Let classes unregister themselves as observers of the ash::Shell singleton 816 // Let classes unregister themselves as observers of the ash::Shell singleton
813 // before the shell is destroyed. 817 // before the shell is destroyed.
814 user_activity_notifier_.reset(); 818 user_activity_notifier_.reset();
815 video_activity_notifier_.reset(); 819 video_activity_notifier_.reset();
816 display_configuration_observer_.reset(); 820 display_configuration_observer_.reset();
817 821
818 // Detach D-Bus clients before DBusThreadManager is shut down. 822 // Detach D-Bus clients before DBusThreadManager is shut down.
819 power_button_observer_.reset(); 823 power_button_observer_.reset();
820 screensaver_controller_.reset(); 824 screensaver_controller_.reset();
821 idle_action_warning_observer_.reset(); 825 idle_action_warning_observer_.reset();
822 826
823 // Delete ContactManager while |g_browser_process| is still alive. 827 // Delete ContactManager while |g_browser_process| is still alive.
824 contact_manager_.reset(); 828 contact_manager_.reset();
825 829
826 chromeos::MagnificationManager::Shutdown(); 830 MagnificationManager::Shutdown();
827 831
828 // Let the UserManager and WallpaperManager unregister itself as an observer 832 // Let the UserManager and WallpaperManager unregister itself as an observer
829 // of the CrosSettings singleton before it is destroyed. 833 // of the CrosSettings singleton before it is destroyed.
830 UserManager::Get()->Shutdown(); 834 UserManager::Get()->Shutdown();
831 WallpaperManager::Get()->Shutdown(); 835 WallpaperManager::Get()->Shutdown();
832 836
833 // Let the AutomaticRebootManager unregister itself as an observer of several 837 // Let the AutomaticRebootManager unregister itself as an observer of several
834 // subsystems. 838 // subsystems.
835 automatic_reboot_manager_.reset(); 839 automatic_reboot_manager_.reset();
836 840
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
891 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); 895 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0);
892 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); 896 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0);
893 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); 897 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0);
894 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); 898 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0);
895 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); 899 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0);
896 // This is necessary to start the experiment as a side effect. 900 // This is necessary to start the experiment as a side effect.
897 trial->group(); 901 trial->group();
898 } 902 }
899 903
900 } // namespace chromeos 904 } // namespace chromeos
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/chromeos/cros/cert_library.h » ('j') | chrome/browser/chromeos/cros/cert_library.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698