| OLD | NEW |
| 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/shell.h" | 10 #include "ash/shell.h" |
| 11 #include "base/bind.h" | 11 #include "base/bind.h" |
| 12 #include "base/callback.h" | 12 #include "base/callback.h" |
| 13 #include "base/chromeos/chromeos_version.h" | 13 #include "base/chromeos/chromeos_version.h" |
| 14 #include "base/command_line.h" | 14 #include "base/command_line.h" |
| 15 #include "base/file_util.h" | 15 #include "base/file_util.h" |
| 16 #include "base/lazy_instance.h" | 16 #include "base/lazy_instance.h" |
| 17 #include "base/linux_util.h" | 17 #include "base/linux_util.h" |
| 18 #include "base/message_loop.h" | 18 #include "base/message_loop.h" |
| 19 #include "base/path_service.h" | 19 #include "base/path_service.h" |
| 20 #include "base/prefs/pref_service.h" | 20 #include "base/prefs/pref_service.h" |
| 21 #include "base/strings/string_number_conversions.h" | 21 #include "base/strings/string_number_conversions.h" |
| 22 #include "base/strings/string_split.h" | 22 #include "base/strings/string_split.h" |
| 23 #include "base/time/default_tick_clock.h" | 23 #include "base/time/default_tick_clock.h" |
| 24 #include "base/time/tick_clock.h" | 24 #include "base/time/tick_clock.h" |
| 25 #include "chrome/browser/browser_process.h" | 25 #include "chrome/browser/browser_process.h" |
| 26 #include "chrome/browser/chromeos/accessibility/accessibility_util.h" | 26 #include "chrome/browser/chromeos/accessibility/accessibility_manager.h" |
| 27 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" | 27 #include "chrome/browser/chromeos/accessibility/magnification_manager.h" |
| 28 #include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h" | 28 #include "chrome/browser/chromeos/app_mode/kiosk_app_launch_error.h" |
| 29 #include "chrome/browser/chromeos/app_mode/kiosk_app_launcher.h" | 29 #include "chrome/browser/chromeos/app_mode/kiosk_app_launcher.h" |
| 30 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" | 30 #include "chrome/browser/chromeos/app_mode/kiosk_app_manager.h" |
| 31 #include "chrome/browser/chromeos/audio/audio_handler.h" | 31 #include "chrome/browser/chromeos/audio/audio_handler.h" |
| 32 #include "chrome/browser/chromeos/boot_times_loader.h" | 32 #include "chrome/browser/chromeos/boot_times_loader.h" |
| 33 #include "chrome/browser/chromeos/contacts/contact_manager.h" | 33 #include "chrome/browser/chromeos/contacts/contact_manager.h" |
| 34 #include "chrome/browser/chromeos/cros/cros_library.h" | 34 #include "chrome/browser/chromeos/cros/cros_library.h" |
| 35 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h" | 35 #include "chrome/browser/chromeos/dbus/cros_dbus_service.h" |
| 36 #include "chrome/browser/chromeos/display/display_configuration_observer.h" | 36 #include "chrome/browser/chromeos/display/display_configuration_observer.h" |
| (...skipping 528 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 565 user_manager->SessionStarted(); | 565 user_manager->SessionStarted(); |
| 566 } | 566 } |
| 567 | 567 |
| 568 if (!app_order_loader_) { | 568 if (!app_order_loader_) { |
| 569 app_order_loader_.reset( | 569 app_order_loader_.reset( |
| 570 new default_app_order::ExternalLoader(true /* async */)); | 570 new default_app_order::ExternalLoader(true /* async */)); |
| 571 } | 571 } |
| 572 | 572 |
| 573 // Initialize magnification manager before ash tray is created. And this must | 573 // Initialize magnification manager before ash tray is created. And this must |
| 574 // be placed after UserManager::SessionStarted(); | 574 // be placed after UserManager::SessionStarted(); |
| 575 chromeos::AccessibilityManager::Initialize(); |
| 575 chromeos::MagnificationManager::Initialize(); | 576 chromeos::MagnificationManager::Initialize(); |
| 576 | 577 |
| 577 // Add observers for WallpaperManager. This depends on PowerManagerClient, | 578 // Add observers for WallpaperManager. This depends on PowerManagerClient, |
| 578 // TimezoneSettings and CrosSettings. | 579 // TimezoneSettings and CrosSettings. |
| 579 WallpaperManager::Get()->AddObservers(); | 580 WallpaperManager::Get()->AddObservers(); |
| 580 | 581 |
| 581 #if defined(USE_LINUX_BREAKPAD) | 582 #if defined(USE_LINUX_BREAKPAD) |
| 582 cros_version_loader_.GetVersion(VersionLoader::VERSION_FULL, | 583 cros_version_loader_.GetVersion(VersionLoader::VERSION_FULL, |
| 583 base::Bind(&ChromeOSVersionCallback), | 584 base::Bind(&ChromeOSVersionCallback), |
| 584 &tracker_); | 585 &tracker_); |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 647 if (CommandLine::ForCurrentProcess()->HasSwitch( | 648 if (CommandLine::ForCurrentProcess()->HasSwitch( |
| 648 switches::kEnableScreensaverExtensions)) { | 649 switches::kEnableScreensaverExtensions)) { |
| 649 screensaver_controller_.reset(new ScreensaverController()); | 650 screensaver_controller_.reset(new ScreensaverController()); |
| 650 } | 651 } |
| 651 suspend_observer_.reset(new SuspendObserver()); | 652 suspend_observer_.reset(new SuspendObserver()); |
| 652 if (KioskModeSettings::Get()->IsKioskModeEnabled()) { | 653 if (KioskModeSettings::Get()->IsKioskModeEnabled()) { |
| 653 retail_mode_power_save_blocker_ = content::PowerSaveBlocker::Create( | 654 retail_mode_power_save_blocker_ = content::PowerSaveBlocker::Create( |
| 654 content::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, | 655 content::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, |
| 655 "Retail mode"); | 656 "Retail mode"); |
| 656 } | 657 } |
| 657 chromeos::accessibility::Initialize(); | |
| 658 | 658 |
| 659 peripheral_battery_observer_.reset(new PeripheralBatteryObserver()); | 659 peripheral_battery_observer_.reset(new PeripheralBatteryObserver()); |
| 660 | 660 |
| 661 storage_monitor_->Init(); | 661 storage_monitor_->Init(); |
| 662 | 662 |
| 663 // Initialize the network portal detector for Chrome OS. The network | 663 // Initialize the network portal detector for Chrome OS. The network |
| 664 // portal detector starts to listen for notifications from | 664 // portal detector starts to listen for notifications from |
| 665 // NetworkLibrary about changes in the NetworkManager and initiates | 665 // NetworkLibrary about changes in the NetworkManager and initiates |
| 666 // captive portal detection for active networks. | 666 // captive portal detection for active networks. |
| 667 NetworkPortalDetector* detector = NetworkPortalDetector::GetInstance(); | 667 NetworkPortalDetector* detector = NetworkPortalDetector::GetInstance(); |
| (...skipping 120 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 788 | 788 |
| 789 // Detach D-Bus clients before DBusThreadManager is shut down. | 789 // Detach D-Bus clients before DBusThreadManager is shut down. |
| 790 power_button_observer_.reset(); | 790 power_button_observer_.reset(); |
| 791 screensaver_controller_.reset(); | 791 screensaver_controller_.reset(); |
| 792 idle_action_warning_observer_.reset(); | 792 idle_action_warning_observer_.reset(); |
| 793 | 793 |
| 794 // Delete ContactManager while |g_browser_process| is still alive. | 794 // Delete ContactManager while |g_browser_process| is still alive. |
| 795 contact_manager_.reset(); | 795 contact_manager_.reset(); |
| 796 | 796 |
| 797 chromeos::MagnificationManager::Shutdown(); | 797 chromeos::MagnificationManager::Shutdown(); |
| 798 chromeos::AccessibilityManager::Shutdown(); |
| 798 | 799 |
| 799 // Let the UserManager and WallpaperManager unregister itself as an observer | 800 // Let the UserManager and WallpaperManager unregister itself as an observer |
| 800 // of the CrosSettings singleton before it is destroyed. | 801 // of the CrosSettings singleton before it is destroyed. |
| 801 UserManager::Get()->Shutdown(); | 802 UserManager::Get()->Shutdown(); |
| 802 WallpaperManager::Get()->Shutdown(); | 803 WallpaperManager::Get()->Shutdown(); |
| 803 | 804 |
| 804 // Let the AutomaticRebootManager unregister itself as an observer of several | 805 // Let the AutomaticRebootManager unregister itself as an observer of several |
| 805 // subsystems. | 806 // subsystems. |
| 806 automatic_reboot_manager_.reset(); | 807 automatic_reboot_manager_.reset(); |
| 807 | 808 |
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 862 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); | 863 trial->AppendGroup("4GB_RAM_4GB_swap", zram_group == '4' ? 1 : 0); |
| 863 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); | 864 trial->AppendGroup("4GB_RAM_6GB_swap", zram_group == '5' ? 1 : 0); |
| 864 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); | 865 trial->AppendGroup("snow_no_swap", zram_group == '6' ? 1 : 0); |
| 865 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); | 866 trial->AppendGroup("snow_1GB_swap", zram_group == '7' ? 1 : 0); |
| 866 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); | 867 trial->AppendGroup("snow_2GB_swap", zram_group == '8' ? 1 : 0); |
| 867 // This is necessary to start the experiment as a side effect. | 868 // This is necessary to start the experiment as a side effect. |
| 868 trial->group(); | 869 trial->group(); |
| 869 } | 870 } |
| 870 | 871 |
| 871 } // namespace chromeos | 872 } // namespace chromeos |
| OLD | NEW |