Chromium Code Reviews| 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/ash_switches.h" | 10 #include "ash/ash_switches.h" |
| (...skipping 22 matching lines...) Expand all Loading... | |
| 33 #include "chrome/browser/chromeos/device/input_service_proxy.h" | 33 #include "chrome/browser/chromeos/device/input_service_proxy.h" |
| 34 #include "chrome/browser/chromeos/events/event_rewriter.h" | 34 #include "chrome/browser/chromeos/events/event_rewriter.h" |
| 35 #include "chrome/browser/chromeos/events/event_rewriter_controller.h" | 35 #include "chrome/browser/chromeos/events/event_rewriter_controller.h" |
| 36 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h" | 36 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h" |
| 37 #include "chrome/browser/chromeos/extensions/default_app_order.h" | 37 #include "chrome/browser/chromeos/extensions/default_app_order.h" |
| 38 #include "chrome/browser/chromeos/extensions/extension_system_event_observer.h" | 38 #include "chrome/browser/chromeos/extensions/extension_system_event_observer.h" |
| 39 #include "chrome/browser/chromeos/external_metrics.h" | 39 #include "chrome/browser/chromeos/external_metrics.h" |
| 40 #include "chrome/browser/chromeos/imageburner/burn_manager.h" | 40 #include "chrome/browser/chromeos/imageburner/burn_manager.h" |
| 41 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" | 41 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" |
| 42 #include "chrome/browser/chromeos/input_method/input_method_util.h" | 42 #include "chrome/browser/chromeos/input_method/input_method_util.h" |
| 43 #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_settings.h" | |
| 46 #include "chrome/browser/chromeos/language_preferences.h" | 43 #include "chrome/browser/chromeos/language_preferences.h" |
| 47 #include "chrome/browser/chromeos/login/helper.h" | 44 #include "chrome/browser/chromeos/login/helper.h" |
| 48 #include "chrome/browser/chromeos/login/lock/screen_locker.h" | 45 #include "chrome/browser/chromeos/login/lock/screen_locker.h" |
| 49 #include "chrome/browser/chromeos/login/login_wizard.h" | 46 #include "chrome/browser/chromeos/login/login_wizard.h" |
| 50 #include "chrome/browser/chromeos/login/session/user_session_manager.h" | 47 #include "chrome/browser/chromeos/login/session/user_session_manager.h" |
| 51 #include "chrome/browser/chromeos/login/startup_utils.h" | 48 #include "chrome/browser/chromeos/login/startup_utils.h" |
| 52 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" | 49 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" |
| 53 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" | 50 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
| 54 #include "chrome/browser/chromeos/login/wizard_controller.h" | 51 #include "chrome/browser/chromeos/login/wizard_controller.h" |
| 55 #include "chrome/browser/chromeos/memory/oom_priority_manager.h" | 52 #include "chrome/browser/chromeos/memory/oom_priority_manager.h" |
| (...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 105 #include "chromeos/network/network_handler.h" | 102 #include "chromeos/network/network_handler.h" |
| 106 #include "chromeos/system/statistics_provider.h" | 103 #include "chromeos/system/statistics_provider.h" |
| 107 #include "chromeos/tpm_token_loader.h" | 104 #include "chromeos/tpm_token_loader.h" |
| 108 #include "components/metrics/metrics_service.h" | 105 #include "components/metrics/metrics_service.h" |
| 109 #include "components/ownership/owner_key_util.h" | 106 #include "components/ownership/owner_key_util.h" |
| 110 #include "components/session_manager/core/session_manager.h" | 107 #include "components/session_manager/core/session_manager.h" |
| 111 #include "components/user_manager/user.h" | 108 #include "components/user_manager/user.h" |
| 112 #include "components/user_manager/user_manager.h" | 109 #include "components/user_manager/user_manager.h" |
| 113 #include "content/public/browser/browser_thread.h" | 110 #include "content/public/browser/browser_thread.h" |
| 114 #include "content/public/browser/notification_service.h" | 111 #include "content/public/browser/notification_service.h" |
| 115 #include "content/public/browser/power_save_blocker.h" | 112 #include "content/public/browser/power_save_blocker.h" |
|
bartfab (slow)
2014/10/15 09:52:20
Nit: No longer used.
rkc
2014/11/20 21:06:33
Done.
| |
| 116 #include "content/public/common/main_function_params.h" | 113 #include "content/public/common/main_function_params.h" |
| 117 #include "media/audio/sounds/sounds_manager.h" | 114 #include "media/audio/sounds/sounds_manager.h" |
| 118 #include "net/base/network_change_notifier.h" | 115 #include "net/base/network_change_notifier.h" |
| 119 #include "net/url_request/url_request.h" | 116 #include "net/url_request/url_request.h" |
| 120 #include "net/url_request/url_request_context_getter.h" | 117 #include "net/url_request/url_request_context_getter.h" |
| 121 #include "ui/base/touch/touch_device.h" | 118 #include "ui/base/touch/touch_device.h" |
| 122 #include "ui/events/event_utils.h" | 119 #include "ui/events/event_utils.h" |
| 123 | 120 |
| 124 // Exclude X11 dependents for ozone | 121 // Exclude X11 dependents for ozone |
| 125 #if defined(USE_X11) | 122 #if defined(USE_X11) |
| (...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 221 } // namespace internal | 218 } // namespace internal |
| 222 | 219 |
| 223 // ChromeBrowserMainPartsChromeos ---------------------------------------------- | 220 // ChromeBrowserMainPartsChromeos ---------------------------------------------- |
| 224 | 221 |
| 225 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( | 222 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( |
| 226 const content::MainFunctionParams& parameters) | 223 const content::MainFunctionParams& parameters) |
| 227 : ChromeBrowserMainPartsLinux(parameters) { | 224 : ChromeBrowserMainPartsLinux(parameters) { |
| 228 } | 225 } |
| 229 | 226 |
| 230 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { | 227 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { |
| 231 if (KioskModeSettings::Get()->IsKioskModeEnabled()) | |
| 232 ShutdownKioskModeScreensaver(); | |
| 233 | |
| 234 // To be precise, logout (browser shutdown) is not yet done, but the | 228 // To be precise, logout (browser shutdown) is not yet done, but the |
| 235 // remaining work is negligible, hence we say LogoutDone here. | 229 // remaining work is negligible, hence we say LogoutDone here. |
| 236 BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false); | 230 BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false); |
| 237 BootTimesLoader::Get()->WriteLogoutTimes(); | 231 BootTimesLoader::Get()->WriteLogoutTimes(); |
| 238 } | 232 } |
| 239 | 233 |
| 240 // content::BrowserMainParts and ChromeBrowserMainExtraParts overrides --------- | 234 // content::BrowserMainParts and ChromeBrowserMainExtraParts overrides --------- |
| 241 | 235 |
| 242 void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() { | 236 void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() { |
| 243 CommandLine* singleton_command_line = CommandLine::ForCurrentProcess(); | 237 CommandLine* singleton_command_line = CommandLine::ForCurrentProcess(); |
| (...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 341 // Trigger prefetching of ownership status. | 335 // Trigger prefetching of ownership status. |
| 342 DeviceSettingsService::Get()->Load(); | 336 DeviceSettingsService::Get()->Load(); |
| 343 | 337 |
| 344 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() | 338 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() |
| 345 // -- just before CreateProfile(). | 339 // -- just before CreateProfile(). |
| 346 | 340 |
| 347 g_browser_process->platform_part()->InitializeChromeUserManager(); | 341 g_browser_process->platform_part()->InitializeChromeUserManager(); |
| 348 | 342 |
| 349 // Initialize the screen locker now so that it can receive | 343 // Initialize the screen locker now so that it can receive |
| 350 // LOGIN_USER_CHANGED notification from UserManager. | 344 // LOGIN_USER_CHANGED notification from UserManager. |
| 351 if (KioskModeSettings::Get()->IsKioskModeEnabled()) | 345 ScreenLocker::InitClass(); |
| 352 KioskModeIdleLogout::Initialize(); | |
| 353 else | |
| 354 ScreenLocker::InitClass(); | |
| 355 | 346 |
| 356 // This forces the ProfileManager to be created and register for the | 347 // This forces the ProfileManager to be created and register for the |
| 357 // notification it needs to track the logged in user. | 348 // notification it needs to track the logged in user. |
| 358 g_browser_process->profile_manager(); | 349 g_browser_process->profile_manager(); |
| 359 | 350 |
| 360 // AccessibilityManager and SystemKeyEventListener use InputMethodManager. | 351 // AccessibilityManager and SystemKeyEventListener use InputMethodManager. |
| 361 input_method::Initialize(); | 352 input_method::Initialize(); |
| 362 | 353 |
| 363 // ProfileHelper has to be initialized after UserManager instance is created. | 354 // ProfileHelper has to be initialized after UserManager instance is created. |
| 364 ProfileHelper::Get()->Initialize(); | 355 ProfileHelper::Get()->Initialize(); |
| (...skipping 183 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 548 g_browser_process->platform_part()->SessionManager()->Start(); | 539 g_browser_process->platform_part()->SessionManager()->Start(); |
| 549 | 540 |
| 550 // Guest user profile is never initialized with locale settings, | 541 // Guest user profile is never initialized with locale settings, |
| 551 // so we need special handling for Guest session. | 542 // so we need special handling for Guest session. |
| 552 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) | 543 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) |
| 553 SetGuestLocale(profile()); | 544 SetGuestLocale(profile()); |
| 554 | 545 |
| 555 // These observers must be initialized after the profile because | 546 // These observers must be initialized after the profile because |
| 556 // they use the profile to dispatch extension events. | 547 // they use the profile to dispatch extension events. |
| 557 extension_system_event_observer_.reset(new ExtensionSystemEventObserver()); | 548 extension_system_event_observer_.reset(new ExtensionSystemEventObserver()); |
| 558 if (KioskModeSettings::Get()->IsKioskModeEnabled()) { | |
| 559 retail_mode_power_save_blocker_ = content::PowerSaveBlocker::Create( | |
|
bartfab (slow)
2014/10/15 09:52:19
Remove the |retail_mode_power_save_blocker_| membe
rkc
2014/11/20 21:06:33
Done.
| |
| 560 content::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, | |
| 561 "Retail mode"); | |
| 562 } | |
| 563 | 549 |
| 564 peripheral_battery_observer_.reset(new PeripheralBatteryObserver()); | 550 peripheral_battery_observer_.reset(new PeripheralBatteryObserver()); |
| 565 | 551 |
| 566 renderer_freezer_.reset( | 552 renderer_freezer_.reset( |
| 567 new RendererFreezer(scoped_ptr<RendererFreezer::Delegate>( | 553 new RendererFreezer(scoped_ptr<RendererFreezer::Delegate>( |
| 568 new FreezerCgroupProcessManager()))); | 554 new FreezerCgroupProcessManager()))); |
| 569 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets)) | 555 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets)) |
| 570 light_bar_.reset(new LightBar()); | 556 light_bar_.reset(new LightBar()); |
| 571 | 557 |
| 572 g_browser_process->platform_part()->InitializeAutomaticRebootManager(); | 558 g_browser_process->platform_part()->InitializeAutomaticRebootManager(); |
| (...skipping 109 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 682 // DBusThreadManager is shut down. | 668 // DBusThreadManager is shut down. |
| 683 extension_system_event_observer_.reset(); | 669 extension_system_event_observer_.reset(); |
| 684 retail_mode_power_save_blocker_.reset(); | 670 retail_mode_power_save_blocker_.reset(); |
| 685 peripheral_battery_observer_.reset(); | 671 peripheral_battery_observer_.reset(); |
| 686 power_prefs_.reset(); | 672 power_prefs_.reset(); |
| 687 renderer_freezer_.reset(); | 673 renderer_freezer_.reset(); |
| 688 light_bar_.reset(); | 674 light_bar_.reset(); |
| 689 | 675 |
| 690 // Let the ScreenLocker unregister itself from SessionManagerClient before | 676 // Let the ScreenLocker unregister itself from SessionManagerClient before |
| 691 // DBusThreadManager is shut down. | 677 // DBusThreadManager is shut down. |
| 692 if (!KioskModeSettings::Get()->IsKioskModeEnabled()) | 678 ScreenLocker::ShutDownClass(); |
| 693 ScreenLocker::ShutDownClass(); | |
| 694 | 679 |
| 695 keyboard_event_rewriters_.reset(); | 680 keyboard_event_rewriters_.reset(); |
| 696 #if defined(USE_X11) | 681 #if defined(USE_X11) |
| 697 // The XInput2 event listener needs to be shut down earlier than when | 682 // The XInput2 event listener needs to be shut down earlier than when |
| 698 // Singletons are finally destroyed in AtExitManager. | 683 // Singletons are finally destroyed in AtExitManager. |
| 699 XInputHierarchyChangedEventListener::GetInstance()->Stop(); | 684 XInputHierarchyChangedEventListener::GetInstance()->Stop(); |
| 700 | 685 |
| 701 DeviceUMA::GetInstance()->Stop(); | 686 DeviceUMA::GetInstance()->Stop(); |
| 702 | 687 |
| 703 // SystemKeyEventListener::Shutdown() is always safe to call, | 688 // SystemKeyEventListener::Shutdown() is always safe to call, |
| (...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 766 // Destroy DBus services immediately after threads are stopped. | 751 // Destroy DBus services immediately after threads are stopped. |
| 767 dbus_services_.reset(); | 752 dbus_services_.reset(); |
| 768 | 753 |
| 769 ChromeBrowserMainPartsLinux::PostDestroyThreads(); | 754 ChromeBrowserMainPartsLinux::PostDestroyThreads(); |
| 770 | 755 |
| 771 // Destroy DeviceSettingsService after g_browser_process. | 756 // Destroy DeviceSettingsService after g_browser_process. |
| 772 DeviceSettingsService::Shutdown(); | 757 DeviceSettingsService::Shutdown(); |
| 773 } | 758 } |
| 774 | 759 |
| 775 } // namespace chromeos | 760 } // namespace chromeos |
| OLD | NEW |