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

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

Issue 608283003: Remove retail mode. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years 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
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 22 matching lines...) Expand all
33 #include "chrome/browser/chromeos/dbus/chrome_console_service_provider_delegate. h" 33 #include "chrome/browser/chromeos/dbus/chrome_console_service_provider_delegate. h"
34 #include "chrome/browser/chromeos/dbus/chrome_display_power_service_provider_del egate.h" 34 #include "chrome/browser/chromeos/dbus/chrome_display_power_service_provider_del egate.h"
35 #include "chrome/browser/chromeos/dbus/chrome_proxy_resolver_delegate.h" 35 #include "chrome/browser/chromeos/dbus/chrome_proxy_resolver_delegate.h"
36 #include "chrome/browser/chromeos/dbus/printer_service_provider.h" 36 #include "chrome/browser/chromeos/dbus/printer_service_provider.h"
37 #include "chrome/browser/chromeos/dbus/screen_lock_service_provider.h" 37 #include "chrome/browser/chromeos/dbus/screen_lock_service_provider.h"
38 #include "chrome/browser/chromeos/device/input_service_proxy.h" 38 #include "chrome/browser/chromeos/device/input_service_proxy.h"
39 #include "chrome/browser/chromeos/events/event_rewriter.h" 39 #include "chrome/browser/chromeos/events/event_rewriter.h"
40 #include "chrome/browser/chromeos/events/event_rewriter_controller.h" 40 #include "chrome/browser/chromeos/events/event_rewriter_controller.h"
41 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h" 41 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h"
42 #include "chrome/browser/chromeos/extensions/default_app_order.h" 42 #include "chrome/browser/chromeos/extensions/default_app_order.h"
43 #include "chrome/browser/chromeos/extensions/extension_system_event_observer.h"
44 #include "chrome/browser/chromeos/external_metrics.h" 43 #include "chrome/browser/chromeos/external_metrics.h"
45 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" 44 #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
46 #include "chrome/browser/chromeos/input_method/input_method_util.h" 45 #include "chrome/browser/chromeos/input_method/input_method_util.h"
47 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_settings.h"
48 #include "chrome/browser/chromeos/language_preferences.h" 46 #include "chrome/browser/chromeos/language_preferences.h"
49 #include "chrome/browser/chromeos/login/helper.h" 47 #include "chrome/browser/chromeos/login/helper.h"
50 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 48 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
51 #include "chrome/browser/chromeos/login/login_wizard.h" 49 #include "chrome/browser/chromeos/login/login_wizard.h"
52 #include "chrome/browser/chromeos/login/session/user_session_manager.h" 50 #include "chrome/browser/chromeos/login/session/user_session_manager.h"
53 #include "chrome/browser/chromeos/login/startup_utils.h" 51 #include "chrome/browser/chromeos/login/startup_utils.h"
54 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" 52 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
55 #include "chrome/browser/chromeos/login/wizard_controller.h" 53 #include "chrome/browser/chromeos/login/wizard_controller.h"
56 #include "chrome/browser/chromeos/memory/oom_priority_manager.h" 54 #include "chrome/browser/chromeos/memory/oom_priority_manager.h"
57 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h" 55 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h"
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
112 #include "chromeos/network/network_handler.h" 110 #include "chromeos/network/network_handler.h"
113 #include "chromeos/system/statistics_provider.h" 111 #include "chromeos/system/statistics_provider.h"
114 #include "chromeos/tpm/tpm_token_loader.h" 112 #include "chromeos/tpm/tpm_token_loader.h"
115 #include "components/metrics/metrics_service.h" 113 #include "components/metrics/metrics_service.h"
116 #include "components/ownership/owner_key_util.h" 114 #include "components/ownership/owner_key_util.h"
117 #include "components/session_manager/core/session_manager.h" 115 #include "components/session_manager/core/session_manager.h"
118 #include "components/user_manager/user.h" 116 #include "components/user_manager/user.h"
119 #include "components/user_manager/user_manager.h" 117 #include "components/user_manager/user_manager.h"
120 #include "content/public/browser/browser_thread.h" 118 #include "content/public/browser/browser_thread.h"
121 #include "content/public/browser/notification_service.h" 119 #include "content/public/browser/notification_service.h"
122 #include "content/public/browser/power_save_blocker.h"
123 #include "content/public/common/main_function_params.h" 120 #include "content/public/common/main_function_params.h"
124 #include "media/audio/sounds/sounds_manager.h" 121 #include "media/audio/sounds/sounds_manager.h"
125 #include "net/base/network_change_notifier.h" 122 #include "net/base/network_change_notifier.h"
126 #include "net/socket/ssl_server_socket.h" 123 #include "net/socket/ssl_server_socket.h"
127 #include "net/url_request/url_request.h" 124 #include "net/url_request/url_request.h"
128 #include "net/url_request/url_request_context_getter.h" 125 #include "net/url_request/url_request_context_getter.h"
129 #include "ui/base/ime/chromeos/ime_keyboard.h" 126 #include "ui/base/ime/chromeos/ime_keyboard.h"
130 #include "ui/base/ime/chromeos/input_method_manager.h" 127 #include "ui/base/ime/chromeos/input_method_manager.h"
131 #include "ui/base/touch/touch_device.h" 128 #include "ui/base/touch/touch_device.h"
132 #include "ui/events/event_utils.h" 129 #include "ui/events/event_utils.h"
133 130
134 // Exclude X11 dependents for ozone 131 // Exclude X11 dependents for ozone
135 #if defined(USE_X11) 132 #if defined(USE_X11)
136 #include "chrome/browser/chromeos/device_uma.h" 133 #include "chrome/browser/chromeos/device_uma.h"
137 #include "chrome/browser/chromeos/events/system_key_event_listener.h" 134 #include "chrome/browser/chromeos/events/system_key_event_listener.h"
138 #include "chrome/browser/chromeos/events/xinput_hierarchy_changed_event_listener .h" 135 #include "chrome/browser/chromeos/events/xinput_hierarchy_changed_event_listener .h"
139 #endif 136 #endif
140 137
141 #if !defined(USE_ATHENA) 138 #if !defined(USE_ATHENA)
142 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_idle_logout.h"
143 #include "chrome/browser/chromeos/kiosk_mode/kiosk_mode_screensaver.h"
144 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 139 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
145 #endif 140 #endif
146 141
147 namespace chromeos { 142 namespace chromeos {
148 143
149 namespace { 144 namespace {
150 145
151 void ChromeOSVersionCallback(const std::string& version) { 146 void ChromeOSVersionCallback(const std::string& version) {
152 base::SetLinuxDistro(std::string("CrOS ") + version); 147 base::SetLinuxDistro(std::string("CrOS ") + version);
153 } 148 }
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
264 } // namespace internal 259 } // namespace internal
265 260
266 // ChromeBrowserMainPartsChromeos ---------------------------------------------- 261 // ChromeBrowserMainPartsChromeos ----------------------------------------------
267 262
268 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos( 263 ChromeBrowserMainPartsChromeos::ChromeBrowserMainPartsChromeos(
269 const content::MainFunctionParams& parameters) 264 const content::MainFunctionParams& parameters)
270 : ChromeBrowserMainPartsLinux(parameters) { 265 : ChromeBrowserMainPartsLinux(parameters) {
271 } 266 }
272 267
273 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() { 268 ChromeBrowserMainPartsChromeos::~ChromeBrowserMainPartsChromeos() {
274 #if !defined(USE_ATHENA)
275 if (KioskModeSettings::Get()->IsKioskModeEnabled())
276 ShutdownKioskModeScreensaver();
277 #endif
278
279 // To be precise, logout (browser shutdown) is not yet done, but the 269 // To be precise, logout (browser shutdown) is not yet done, but the
280 // remaining work is negligible, hence we say LogoutDone here. 270 // remaining work is negligible, hence we say LogoutDone here.
281 BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false); 271 BootTimesLoader::Get()->AddLogoutTimeMarker("LogoutDone", false);
282 BootTimesLoader::Get()->WriteLogoutTimes(); 272 BootTimesLoader::Get()->WriteLogoutTimes();
283 } 273 }
284 274
285 // content::BrowserMainParts and ChromeBrowserMainExtraParts overrides --------- 275 // content::BrowserMainParts and ChromeBrowserMainExtraParts overrides ---------
286 276
287 void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() { 277 void ChromeBrowserMainPartsChromeos::PreEarlyInitialization() {
288 CommandLine* singleton_command_line = CommandLine::ForCurrentProcess(); 278 CommandLine* singleton_command_line = CommandLine::ForCurrentProcess();
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
388 LoginEventRecorder::Get()->SetDelegate(BootTimesLoader::Get()); 378 LoginEventRecorder::Get()->SetDelegate(BootTimesLoader::Get());
389 379
390 // Trigger prefetching of ownership status. 380 // Trigger prefetching of ownership status.
391 DeviceSettingsService::Get()->Load(); 381 DeviceSettingsService::Get()->Load();
392 382
393 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() 383 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun()
394 // -- just before CreateProfile(). 384 // -- just before CreateProfile().
395 385
396 g_browser_process->platform_part()->InitializeChromeUserManager(); 386 g_browser_process->platform_part()->InitializeChromeUserManager();
397 387
398 #if defined(USE_ATHENA)
399 ScreenLocker::InitClass(); 388 ScreenLocker::InitClass();
400 #else
401 // Initialize the screen locker now so that it can receive
402 // LOGIN_USER_CHANGED notification from UserManager.
403 if (KioskModeSettings::Get()->IsKioskModeEnabled())
404 KioskModeIdleLogout::Initialize();
405 else
406 ScreenLocker::InitClass();
407 #endif
408 389
409 // This forces the ProfileManager to be created and register for the 390 // This forces the ProfileManager to be created and register for the
410 // notification it needs to track the logged in user. 391 // notification it needs to track the logged in user.
411 g_browser_process->profile_manager(); 392 g_browser_process->profile_manager();
412 393
413 // AccessibilityManager and SystemKeyEventListener use InputMethodManager. 394 // AccessibilityManager and SystemKeyEventListener use InputMethodManager.
414 input_method::Initialize(); 395 input_method::Initialize();
415 396
416 // ProfileHelper has to be initialized after UserManager instance is created. 397 // ProfileHelper has to be initialized after UserManager instance is created.
417 ProfileHelper::Get()->Initialize(); 398 ProfileHelper::Get()->Initialize();
(...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after
595 bool is_running_test = parameters().ui_task != NULL; 576 bool is_running_test = parameters().ui_task != NULL;
596 g_browser_process->platform_part()->InitializeSessionManager( 577 g_browser_process->platform_part()->InitializeSessionManager(
597 parsed_command_line(), profile(), is_running_test); 578 parsed_command_line(), profile(), is_running_test);
598 g_browser_process->platform_part()->SessionManager()->Start(); 579 g_browser_process->platform_part()->SessionManager()->Start();
599 580
600 // Guest user profile is never initialized with locale settings, 581 // Guest user profile is never initialized with locale settings,
601 // so we need special handling for Guest session. 582 // so we need special handling for Guest session.
602 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) 583 if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
603 SetGuestLocale(profile()); 584 SetGuestLocale(profile());
604 585
605 // These observers must be initialized after the profile because
606 // they use the profile to dispatch extension events.
607 extension_system_event_observer_.reset(new ExtensionSystemEventObserver());
608 if (KioskModeSettings::Get()->IsKioskModeEnabled()) {
609 retail_mode_power_save_blocker_ = content::PowerSaveBlocker::Create(
610 content::PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep,
611 "Retail mode");
612 }
613
614 peripheral_battery_observer_.reset(new PeripheralBatteryObserver()); 586 peripheral_battery_observer_.reset(new PeripheralBatteryObserver());
615 587
616 renderer_freezer_.reset( 588 renderer_freezer_.reset(
617 new RendererFreezer(scoped_ptr<RendererFreezer::Delegate>( 589 new RendererFreezer(scoped_ptr<RendererFreezer::Delegate>(
618 new FreezerCgroupProcessManager()))); 590 new FreezerCgroupProcessManager())));
619 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets)) 591 if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kWakeOnPackets))
620 light_bar_.reset(new LightBar()); 592 light_bar_.reset(new LightBar());
621 593
622 g_browser_process->platform_part()->InitializeAutomaticRebootManager(); 594 g_browser_process->platform_part()->InitializeAutomaticRebootManager();
623 g_browser_process->platform_part()->InitializeDeviceDisablingManager(); 595 g_browser_process->platform_part()->InitializeDeviceDisablingManager();
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
724 // depend on. 696 // depend on.
725 data_promo_notification_.reset(); 697 data_promo_notification_.reset();
726 698
727 // Tell DeviceSettingsService to stop talking to session_manager. Do not 699 // Tell DeviceSettingsService to stop talking to session_manager. Do not
728 // shutdown DeviceSettingsService yet, it might still be accessed by 700 // shutdown DeviceSettingsService yet, it might still be accessed by
729 // BrowserPolicyConnector (owned by g_browser_process). 701 // BrowserPolicyConnector (owned by g_browser_process).
730 DeviceSettingsService::Get()->UnsetSessionManager(); 702 DeviceSettingsService::Get()->UnsetSessionManager();
731 703
732 // We should remove observers attached to D-Bus clients before 704 // We should remove observers attached to D-Bus clients before
733 // DBusThreadManager is shut down. 705 // DBusThreadManager is shut down.
734 extension_system_event_observer_.reset();
735 retail_mode_power_save_blocker_.reset();
736 peripheral_battery_observer_.reset(); 706 peripheral_battery_observer_.reset();
737 power_prefs_.reset(); 707 power_prefs_.reset();
738 renderer_freezer_.reset(); 708 renderer_freezer_.reset();
739 light_bar_.reset(); 709 light_bar_.reset();
740 wake_on_wifi_manager_.reset(); 710 wake_on_wifi_manager_.reset();
741 711 ScreenLocker::ShutDownClass();
742 // Let the ScreenLocker unregister itself from SessionManagerClient before
743 // DBusThreadManager is shut down.
744 if (!KioskModeSettings::Get()->IsKioskModeEnabled())
745 ScreenLocker::ShutDownClass();
746
747 keyboard_event_rewriters_.reset(); 712 keyboard_event_rewriters_.reset();
748 #if defined(USE_X11) 713 #if defined(USE_X11)
749 // The XInput2 event listener needs to be shut down earlier than when 714 // The XInput2 event listener needs to be shut down earlier than when
750 // Singletons are finally destroyed in AtExitManager. 715 // Singletons are finally destroyed in AtExitManager.
751 XInputHierarchyChangedEventListener::GetInstance()->Stop(); 716 XInputHierarchyChangedEventListener::GetInstance()->Stop();
752 717
753 DeviceUMA::GetInstance()->Stop(); 718 DeviceUMA::GetInstance()->Stop();
754 719
755 // SystemKeyEventListener::Shutdown() is always safe to call, 720 // SystemKeyEventListener::Shutdown() is always safe to call,
756 // even if Initialize() wasn't called. 721 // even if Initialize() wasn't called.
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
824 // Destroy DBus services immediately after threads are stopped. 789 // Destroy DBus services immediately after threads are stopped.
825 dbus_services_.reset(); 790 dbus_services_.reset();
826 791
827 ChromeBrowserMainPartsLinux::PostDestroyThreads(); 792 ChromeBrowserMainPartsLinux::PostDestroyThreads();
828 793
829 // Destroy DeviceSettingsService after g_browser_process. 794 // Destroy DeviceSettingsService after g_browser_process.
830 DeviceSettingsService::Shutdown(); 795 DeviceSettingsService::Shutdown();
831 } 796 }
832 797
833 } // namespace chromeos 798 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/chrome_browser_main_chromeos.h ('k') | chrome/browser/chromeos/extensions/echo_private_api.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698