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

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

Issue 2444383008: session_manager: Create ChromeSessionManager early (Closed)
Patch Set: for #4 Created 4 years, 1 month 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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <string> 9 #include <string>
10 #include <utility> 10 #include <utility>
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
46 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h" 46 #include "chrome/browser/chromeos/events/keyboard_driven_event_rewriter.h"
47 #include "chrome/browser/chromeos/extensions/default_app_order.h" 47 #include "chrome/browser/chromeos/extensions/default_app_order.h"
48 #include "chrome/browser/chromeos/extensions/extension_volume_observer.h" 48 #include "chrome/browser/chromeos/extensions/extension_volume_observer.h"
49 #include "chrome/browser/chromeos/external_metrics.h" 49 #include "chrome/browser/chromeos/external_metrics.h"
50 #include "chrome/browser/chromeos/input_method/input_method_configuration.h" 50 #include "chrome/browser/chromeos/input_method/input_method_configuration.h"
51 #include "chrome/browser/chromeos/input_method/input_method_util.h" 51 #include "chrome/browser/chromeos/input_method/input_method_util.h"
52 #include "chrome/browser/chromeos/language_preferences.h" 52 #include "chrome/browser/chromeos/language_preferences.h"
53 #include "chrome/browser/chromeos/login/helper.h" 53 #include "chrome/browser/chromeos/login/helper.h"
54 #include "chrome/browser/chromeos/login/lock/screen_locker.h" 54 #include "chrome/browser/chromeos/login/lock/screen_locker.h"
55 #include "chrome/browser/chromeos/login/login_wizard.h" 55 #include "chrome/browser/chromeos/login/login_wizard.h"
56 #include "chrome/browser/chromeos/login/session/chrome_session_manager.h"
56 #include "chrome/browser/chromeos/login/session/user_session_manager.h" 57 #include "chrome/browser/chromeos/login/session/user_session_manager.h"
57 #include "chrome/browser/chromeos/login/startup_utils.h" 58 #include "chrome/browser/chromeos/login/startup_utils.h"
58 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h" 59 #include "chrome/browser/chromeos/login/users/chrome_user_manager.h"
59 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" 60 #include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h"
60 #include "chrome/browser/chromeos/login/wizard_controller.h" 61 #include "chrome/browser/chromeos/login/wizard_controller.h"
61 #include "chrome/browser/chromeos/net/network_connect_delegate_chromeos.h" 62 #include "chrome/browser/chromeos/net/network_connect_delegate_chromeos.h"
62 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h" 63 #include "chrome/browser/chromeos/net/network_portal_detector_impl.h"
63 #include "chrome/browser/chromeos/net/wake_on_wifi_manager.h" 64 #include "chrome/browser/chromeos/net/wake_on_wifi_manager.h"
64 #include "chrome/browser/chromeos/options/cert_library.h" 65 #include "chrome/browser/chromeos/options/cert_library.h"
65 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact ory.h" 66 #include "chrome/browser/chromeos/ownership/owner_settings_service_chromeos_fact ory.h"
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
429 BootTimesRecorder::Get()->RecordChromeMainStats(); 430 BootTimesRecorder::Get()->RecordChromeMainStats();
430 LoginEventRecorder::Get()->SetDelegate(BootTimesRecorder::Get()); 431 LoginEventRecorder::Get()->SetDelegate(BootTimesRecorder::Get());
431 432
432 // Trigger prefetching of ownership status. 433 // Trigger prefetching of ownership status.
433 DeviceSettingsService::Get()->Load(); 434 DeviceSettingsService::Get()->Load();
434 435
435 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun() 436 // -- This used to be in ChromeBrowserMainParts::PreMainMessageLoopRun()
436 // -- just before CreateProfile(). 437 // -- just before CreateProfile().
437 438
438 g_browser_process->platform_part()->InitializeChromeUserManager(); 439 g_browser_process->platform_part()->InitializeChromeUserManager();
440 g_browser_process->platform_part()->InitializeSessionManager();
439 441
440 ScreenLocker::InitClass(); 442 ScreenLocker::InitClass();
441 443
442 // This forces the ProfileManager to be created and register for the 444 // This forces the ProfileManager to be created and register for the
443 // notification it needs to track the logged in user. 445 // notification it needs to track the logged in user.
444 g_browser_process->profile_manager(); 446 g_browser_process->profile_manager();
445 447
446 // AccessibilityManager and SystemKeyEventListener use InputMethodManager. 448 // AccessibilityManager and SystemKeyEventListener use InputMethodManager.
447 input_method::Initialize(); 449 input_method::Initialize();
448 450
(...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after
628 // possible when we are restoring session or skipping login screen for some 630 // possible when we are restoring session or skipping login screen for some
629 // other reason. 631 // other reason.
630 chromeos::ProfileHelper::GetSigninProfile(); 632 chromeos::ProfileHelper::GetSigninProfile();
631 } 633 }
632 634
633 BootTimesRecorder::Get()->OnChromeProcessStart(); 635 BootTimesRecorder::Get()->OnChromeProcessStart();
634 636
635 // Initialize the network portal detector for Chrome OS. The network 637 // Initialize the network portal detector for Chrome OS. The network
636 // portal detector starts to listen for notifications from 638 // portal detector starts to listen for notifications from
637 // NetworkStateHandler and initiates captive portal detection for 639 // NetworkStateHandler and initiates captive portal detection for
638 // active networks. Should be called before call to CreateSessionManager, 640 // active networks. Should be called before call to initialize
639 // because it depends on NetworkPortalDetector. 641 // ChromeSessionManager because it depends on NetworkPortalDetector.
640 InitializeNetworkPortalDetector(); 642 InitializeNetworkPortalDetector();
641 { 643 {
642 #if defined(GOOGLE_CHROME_BUILD) 644 #if defined(GOOGLE_CHROME_BUILD)
643 bool is_official_build = true; 645 bool is_official_build = true;
644 #else 646 #else
645 bool is_official_build = false; 647 bool is_official_build = false;
646 #endif 648 #endif
647 // Enable portal detector if EULA was previously accepted or if 649 // Enable portal detector if EULA was previously accepted or if
648 // this is an unofficial build. 650 // this is an unofficial build.
649 if (!is_official_build || StartupUtils::IsEulaAccepted()) 651 if (!is_official_build || StartupUtils::IsEulaAccepted())
650 network_portal_detector::GetInstance()->Enable(true); 652 network_portal_detector::GetInstance()->Enable(true);
651 } 653 }
652 654
653 // Initialize input methods. 655 // Initialize input methods.
654 input_method::InputMethodManager* manager = 656 input_method::InputMethodManager* manager =
655 input_method::InputMethodManager::Get(); 657 input_method::InputMethodManager::Get();
656 UserSessionManager* session_manager = UserSessionManager::GetInstance(); 658 UserSessionManager* session_manager = UserSessionManager::GetInstance();
657 DCHECK(manager); 659 DCHECK(manager);
658 DCHECK(session_manager); 660 DCHECK(session_manager);
659 661
660 manager->SetState(session_manager->GetDefaultIMEState(profile())); 662 manager->SetState(session_manager->GetDefaultIMEState(profile()));
661 663
662 bool is_running_test = parameters().ui_task != nullptr; 664 bool is_running_test = parameters().ui_task != nullptr;
663 g_browser_process->platform_part()->InitializeSessionManager( 665 g_browser_process->platform_part()->session_manager()->Initialize(
664 parsed_command_line(), profile(), is_running_test); 666 parsed_command_line(), profile(), is_running_test);
665 g_browser_process->platform_part()->SessionManager()->Start();
666 667
667 // Guest user profile is never initialized with locale settings, 668 // Guest user profile is never initialized with locale settings,
668 // so we need special handling for Guest session. 669 // so we need special handling for Guest session.
669 if (user_manager::UserManager::Get()->IsLoggedInAsGuest()) 670 if (user_manager::UserManager::Get()->IsLoggedInAsGuest())
670 SetGuestLocale(profile()); 671 SetGuestLocale(profile());
671 672
672 // This observer uses the intialized profile to dispatch extension events. 673 // This observer uses the intialized profile to dispatch extension events.
673 extension_volume_observer_ = base::MakeUnique<ExtensionVolumeObserver>(); 674 extension_volume_observer_ = base::MakeUnique<ExtensionVolumeObserver>();
674 675
675 peripheral_battery_observer_ = base::MakeUnique<PeripheralBatteryObserver>(); 676 peripheral_battery_observer_ = base::MakeUnique<PeripheralBatteryObserver>();
(...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after
870 CrasAudioHandler::Shutdown(); 871 CrasAudioHandler::Shutdown();
871 872
872 quirks::QuirksManager::Shutdown(); 873 quirks::QuirksManager::Shutdown();
873 874
874 // Called after 875 // Called after
875 // ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() to be 876 // ChromeBrowserMainPartsLinux::PostMainMessageLoopRun() to be
876 // executed after execution of chrome::CloseAsh(), because some 877 // executed after execution of chrome::CloseAsh(), because some
877 // parts of WebUI depends on NetworkPortalDetector. 878 // parts of WebUI depends on NetworkPortalDetector.
878 network_portal_detector::Shutdown(); 879 network_portal_detector::Shutdown();
879 880
881 g_browser_process->platform_part()->ShutdownSessionManager();
880 g_browser_process->platform_part()->DestroyChromeUserManager(); 882 g_browser_process->platform_part()->DestroyChromeUserManager();
881
882 g_browser_process->platform_part()->ShutdownSessionManager();
883 } 883 }
884 884
885 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() { 885 void ChromeBrowserMainPartsChromeos::PostDestroyThreads() {
886 // Destroy DBus services immediately after threads are stopped. 886 // Destroy DBus services immediately after threads are stopped.
887 dbus_services_.reset(); 887 dbus_services_.reset();
888 888
889 ChromeBrowserMainPartsLinux::PostDestroyThreads(); 889 ChromeBrowserMainPartsLinux::PostDestroyThreads();
890 890
891 // Destroy DeviceSettingsService after g_browser_process. 891 // Destroy DeviceSettingsService after g_browser_process.
892 DeviceSettingsService::Shutdown(); 892 DeviceSettingsService::Shutdown();
893 } 893 }
894 894
895 } // namespace chromeos 895 } // namespace chromeos
OLDNEW
« no previous file with comments | « chrome/browser/chromeos/BUILD.gn ('k') | chrome/browser/chromeos/login/session/chrome_session_manager.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698