| OLD | NEW |
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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 "ash/shell.h" | 5 #include "ash/shell.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 #include <string> | 8 #include <string> |
| 9 #include <utility> | 9 #include <utility> |
| 10 | 10 |
| (...skipping 345 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 356 RootWindowControllerList controllers = GetAllRootWindowControllers(); | 356 RootWindowControllerList controllers = GetAllRootWindowControllers(); |
| 357 for (RootWindowControllerList::iterator iter = controllers.begin(); | 357 for (RootWindowControllerList::iterator iter = controllers.begin(); |
| 358 iter != controllers.end(); ++iter) { | 358 iter != controllers.end(); ++iter) { |
| 359 (*iter)->DeactivateKeyboard(keyboard::KeyboardController::GetInstance()); | 359 (*iter)->DeactivateKeyboard(keyboard::KeyboardController::GetInstance()); |
| 360 } | 360 } |
| 361 } | 361 } |
| 362 keyboard::KeyboardController::ResetInstance(nullptr); | 362 keyboard::KeyboardController::ResetInstance(nullptr); |
| 363 } | 363 } |
| 364 | 364 |
| 365 bool Shell::ShouldSaveDisplaySettings() { | 365 bool Shell::ShouldSaveDisplaySettings() { |
| 366 DCHECK(!shell_port_->IsRunningInMash()); | 366 DCHECK(GetAshConfig() != Config::MASH); |
| 367 return !( | 367 return !( |
| 368 screen_orientation_controller_->ignore_display_configuration_updates() || | 368 screen_orientation_controller_->ignore_display_configuration_updates() || |
| 369 resolution_notification_controller_->DoesNotificationTimeout()); | 369 resolution_notification_controller_->DoesNotificationTimeout()); |
| 370 } | 370 } |
| 371 | 371 |
| 372 ShelfModel* Shell::shelf_model() { | 372 ShelfModel* Shell::shelf_model() { |
| 373 return shelf_controller_->model(); | 373 return shelf_controller_->model(); |
| 374 } | 374 } |
| 375 | 375 |
| 376 aura::client::ActivationClient* Shell::activation_client() { | 376 aura::client::ActivationClient* Shell::activation_client() { |
| (...skipping 187 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 564 app_list_(base::MakeUnique<app_list::AppList>()), | 564 app_list_(base::MakeUnique<app_list::AppList>()), |
| 565 link_handler_model_factory_(nullptr), | 565 link_handler_model_factory_(nullptr), |
| 566 tray_bluetooth_helper_(base::MakeUnique<TrayBluetoothHelper>()), | 566 tray_bluetooth_helper_(base::MakeUnique<TrayBluetoothHelper>()), |
| 567 display_configurator_(new display::DisplayConfigurator()), | 567 display_configurator_(new display::DisplayConfigurator()), |
| 568 native_cursor_manager_(nullptr), | 568 native_cursor_manager_(nullptr), |
| 569 simulate_modal_window_open_for_testing_(false), | 569 simulate_modal_window_open_for_testing_(false), |
| 570 is_touch_hud_projection_enabled_(false) { | 570 is_touch_hud_projection_enabled_(false) { |
| 571 // TODO(sky): better refactor cash/mash dependencies. Perhaps put all cash | 571 // TODO(sky): better refactor cash/mash dependencies. Perhaps put all cash |
| 572 // state on ShellPortClassic. http://crbug.com/671246. | 572 // state on ShellPortClassic. http://crbug.com/671246. |
| 573 | 573 |
| 574 if (!shell_port_->IsRunningInMash()) { | 574 // Don't use Shell::GetAshConfig() as |instance_| has not yet been set. |
| 575 if (shell_port_->GetAshConfig() != Config::MASH) { |
| 575 gpu_support_.reset(shell_delegate_->CreateGPUSupport()); | 576 gpu_support_.reset(shell_delegate_->CreateGPUSupport()); |
| 576 display_manager_.reset(ScreenAsh::CreateDisplayManager()); | 577 display_manager_.reset(ScreenAsh::CreateDisplayManager()); |
| 577 window_tree_host_manager_.reset(new WindowTreeHostManager); | 578 window_tree_host_manager_.reset(new WindowTreeHostManager); |
| 578 user_metrics_recorder_.reset(new UserMetricsRecorder); | 579 user_metrics_recorder_.reset(new UserMetricsRecorder); |
| 579 } | 580 } |
| 580 | 581 |
| 581 PowerStatus::Initialize(); | 582 PowerStatus::Initialize(); |
| 582 | 583 |
| 583 session_controller_->AddSessionStateObserver(this); | 584 session_controller_->AddSessionStateObserver(this); |
| 584 } | 585 } |
| (...skipping 177 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 762 session_controller_->RemoveSessionStateObserver(this); | 763 session_controller_->RemoveSessionStateObserver(this); |
| 763 wallpaper_delegate_.reset(); | 764 wallpaper_delegate_.reset(); |
| 764 pref_service_ = nullptr; | 765 pref_service_ = nullptr; |
| 765 shell_delegate_.reset(); | 766 shell_delegate_.reset(); |
| 766 | 767 |
| 767 DCHECK(instance_ == this); | 768 DCHECK(instance_ == this); |
| 768 instance_ = nullptr; | 769 instance_ = nullptr; |
| 769 } | 770 } |
| 770 | 771 |
| 771 void Shell::Init(const ShellInitParams& init_params) { | 772 void Shell::Init(const ShellInitParams& init_params) { |
| 772 const bool is_mash = shell_port_->IsRunningInMash(); | |
| 773 const Config config = shell_port_->GetAshConfig(); | 773 const Config config = shell_port_->GetAshConfig(); |
| 774 | 774 |
| 775 blocking_pool_ = init_params.blocking_pool; | 775 blocking_pool_ = init_params.blocking_pool; |
| 776 | 776 |
| 777 wallpaper_delegate_ = shell_delegate_->CreateWallpaperDelegate(); | 777 wallpaper_delegate_ = shell_delegate_->CreateWallpaperDelegate(); |
| 778 | 778 |
| 779 // Can be null in tests. | 779 // Can be null in tests. |
| 780 if (shell_port_->IsRunningInMash() && shell_delegate_->GetShellConnector()) { | 780 if (config == Config::MASH && shell_delegate_->GetShellConnector()) { |
| 781 prefs::ConnectToPrefService( | 781 prefs::ConnectToPrefService( |
| 782 shell_delegate_->GetShellConnector(), | 782 shell_delegate_->GetShellConnector(), |
| 783 make_scoped_refptr(new PrefRegistrySimple()), | 783 make_scoped_refptr(new PrefRegistrySimple()), |
| 784 std::vector<PrefValueStore::PrefStoreType>(), | 784 std::vector<PrefValueStore::PrefStoreType>(), |
| 785 base::Bind(&Shell::OnPrefServiceInitialized, base::Unretained(this)), | 785 base::Bind(&Shell::OnPrefServiceInitialized, base::Unretained(this)), |
| 786 prefs::mojom::kForwarderServiceName); | 786 prefs::mojom::kForwarderServiceName); |
| 787 } | 787 } |
| 788 | 788 |
| 789 // Some delegates access ShellPort during their construction. Create them here | 789 // Some delegates access ShellPort during their construction. Create them here |
| 790 // instead of the ShellPort constructor. | 790 // instead of the ShellPort constructor. |
| (...skipping 13 matching lines...) Expand all Loading... |
| 804 auto dom_backend = base::MakeUnique<devtools::AshDevToolsDOMAgent>(); | 804 auto dom_backend = base::MakeUnique<devtools::AshDevToolsDOMAgent>(); |
| 805 auto css_backend = | 805 auto css_backend = |
| 806 base::MakeUnique<devtools::AshDevToolsCSSAgent>(dom_backend.get()); | 806 base::MakeUnique<devtools::AshDevToolsCSSAgent>(dom_backend.get()); |
| 807 auto devtools_client = base::MakeUnique<ui::devtools::UiDevToolsClient>( | 807 auto devtools_client = base::MakeUnique<ui::devtools::UiDevToolsClient>( |
| 808 "Ash", devtools_server_.get()); | 808 "Ash", devtools_server_.get()); |
| 809 devtools_client->AddAgent(std::move(dom_backend)); | 809 devtools_client->AddAgent(std::move(dom_backend)); |
| 810 devtools_client->AddAgent(std::move(css_backend)); | 810 devtools_client->AddAgent(std::move(css_backend)); |
| 811 devtools_server_->AttachClient(std::move(devtools_client)); | 811 devtools_server_->AttachClient(std::move(devtools_client)); |
| 812 } | 812 } |
| 813 | 813 |
| 814 if (is_mash) | 814 if (config == Config::MASH) |
| 815 app_list_delegate_impl_ = base::MakeUnique<AppListDelegateImpl>(); | 815 app_list_delegate_impl_ = base::MakeUnique<AppListDelegateImpl>(); |
| 816 | 816 |
| 817 // TODO(sky): move creation to ShellPort. | 817 // TODO(sky): move creation to ShellPort. |
| 818 if (!is_mash) | 818 if (config != Config::MASH) |
| 819 immersive_handler_factory_ = base::MakeUnique<ImmersiveHandlerFactoryAsh>(); | 819 immersive_handler_factory_ = base::MakeUnique<ImmersiveHandlerFactoryAsh>(); |
| 820 | 820 |
| 821 scoped_overview_animation_settings_factory_.reset( | 821 scoped_overview_animation_settings_factory_.reset( |
| 822 new ScopedOverviewAnimationSettingsFactoryAura); | 822 new ScopedOverviewAnimationSettingsFactoryAura); |
| 823 window_positioner_ = base::MakeUnique<WindowPositioner>(); | 823 window_positioner_ = base::MakeUnique<WindowPositioner>(); |
| 824 | 824 |
| 825 if (config == Config::CLASSIC) { | 825 if (config == Config::CLASSIC) { |
| 826 // TODO: needs to work in mus. http://crbug.com/705592. | 826 // TODO: needs to work in mus. http://crbug.com/705592. |
| 827 native_cursor_manager_ = new AshNativeCursorManager; | 827 native_cursor_manager_ = new AshNativeCursorManager; |
| 828 cursor_manager_.reset( | 828 cursor_manager_.reset( |
| (...skipping 75 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 904 // FocusController takes ownership of AshFocusRules. | 904 // FocusController takes ownership of AshFocusRules. |
| 905 focus_controller_ = | 905 focus_controller_ = |
| 906 base::MakeUnique<::wm::FocusController>(new wm::AshFocusRules()); | 906 base::MakeUnique<::wm::FocusController>(new wm::AshFocusRules()); |
| 907 focus_controller_->AddObserver(this); | 907 focus_controller_->AddObserver(this); |
| 908 | 908 |
| 909 screen_position_controller_.reset(new ScreenPositionController); | 909 screen_position_controller_.reset(new ScreenPositionController); |
| 910 | 910 |
| 911 shell_port_->CreatePrimaryHost(); | 911 shell_port_->CreatePrimaryHost(); |
| 912 root_window_for_new_windows_ = WmWindow::Get(GetPrimaryRootWindow()); | 912 root_window_for_new_windows_ = WmWindow::Get(GetPrimaryRootWindow()); |
| 913 | 913 |
| 914 if (!is_mash) { | 914 if (config != Config::MASH) { |
| 915 resolution_notification_controller_.reset( | 915 resolution_notification_controller_.reset( |
| 916 new ResolutionNotificationController); | 916 new ResolutionNotificationController); |
| 917 } | 917 } |
| 918 | 918 |
| 919 if (cursor_manager_) { | 919 if (cursor_manager_) { |
| 920 cursor_manager_->SetDisplay( | 920 cursor_manager_->SetDisplay( |
| 921 display::Screen::GetScreen()->GetPrimaryDisplay()); | 921 display::Screen::GetScreen()->GetPrimaryDisplay()); |
| 922 } | 922 } |
| 923 | 923 |
| 924 accelerator_controller_ = shell_port_->CreateAcceleratorController(); | 924 accelerator_controller_ = shell_port_->CreateAcceleratorController(); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 950 std::unique_ptr<::wm::AcceleratorDelegate>(new AcceleratorDelegate), | 950 std::unique_ptr<::wm::AcceleratorDelegate>(new AcceleratorDelegate), |
| 951 accelerator_controller_->accelerator_history())); | 951 accelerator_controller_->accelerator_history())); |
| 952 AddPreTargetHandler(accelerator_filter_.get()); | 952 AddPreTargetHandler(accelerator_filter_.get()); |
| 953 | 953 |
| 954 event_transformation_handler_.reset(new EventTransformationHandler); | 954 event_transformation_handler_.reset(new EventTransformationHandler); |
| 955 AddPreTargetHandler(event_transformation_handler_.get()); | 955 AddPreTargetHandler(event_transformation_handler_.get()); |
| 956 | 956 |
| 957 toplevel_window_event_handler_ = | 957 toplevel_window_event_handler_ = |
| 958 base::MakeUnique<ToplevelWindowEventHandler>(); | 958 base::MakeUnique<ToplevelWindowEventHandler>(); |
| 959 | 959 |
| 960 if (!is_mash) { | 960 if (config != Config::MASH) { |
| 961 system_gesture_filter_.reset(new SystemGestureEventFilter); | 961 system_gesture_filter_.reset(new SystemGestureEventFilter); |
| 962 AddPreTargetHandler(system_gesture_filter_.get()); | 962 AddPreTargetHandler(system_gesture_filter_.get()); |
| 963 } | 963 } |
| 964 | 964 |
| 965 sticky_keys_controller_.reset(new StickyKeysController); | 965 sticky_keys_controller_.reset(new StickyKeysController); |
| 966 screen_pinning_controller_ = base::MakeUnique<ScreenPinningController>(); | 966 screen_pinning_controller_ = base::MakeUnique<ScreenPinningController>(); |
| 967 | 967 |
| 968 lock_state_controller_ = | 968 lock_state_controller_ = |
| 969 base::MakeUnique<LockStateController>(shutdown_controller_.get()); | 969 base::MakeUnique<LockStateController>(shutdown_controller_.get()); |
| 970 power_button_controller_.reset( | 970 power_button_controller_.reset( |
| 971 new PowerButtonController(lock_state_controller_.get())); | 971 new PowerButtonController(lock_state_controller_.get())); |
| 972 // Pass the initial display state to PowerButtonController. | 972 // Pass the initial display state to PowerButtonController. |
| 973 power_button_controller_->OnDisplayModeChanged( | 973 power_button_controller_->OnDisplayModeChanged( |
| 974 display_configurator_->cached_displays()); | 974 display_configurator_->cached_displays()); |
| 975 | 975 |
| 976 AddShellObserver(lock_state_controller_.get()); | 976 AddShellObserver(lock_state_controller_.get()); |
| 977 | 977 |
| 978 // The connector is unavailable in some tests. | 978 // The connector is unavailable in some tests. |
| 979 if (is_mash && shell_delegate_->GetShellConnector()) { | 979 if (config == Config::MASH && shell_delegate_->GetShellConnector()) { |
| 980 ui::mojom::UserActivityMonitorPtr user_activity_monitor; | 980 ui::mojom::UserActivityMonitorPtr user_activity_monitor; |
| 981 shell_delegate_->GetShellConnector()->BindInterface(ui::mojom::kServiceName, | 981 shell_delegate_->GetShellConnector()->BindInterface(ui::mojom::kServiceName, |
| 982 &user_activity_monitor); | 982 &user_activity_monitor); |
| 983 user_activity_forwarder_ = base::MakeUnique<aura::UserActivityForwarder>( | 983 user_activity_forwarder_ = base::MakeUnique<aura::UserActivityForwarder>( |
| 984 std::move(user_activity_monitor), user_activity_detector_.get()); | 984 std::move(user_activity_monitor), user_activity_detector_.get()); |
| 985 } | 985 } |
| 986 | 986 |
| 987 drag_drop_controller_.reset(new DragDropController); | 987 drag_drop_controller_.reset(new DragDropController); |
| 988 // |screenshot_controller_| needs to be created (and prepended as a | 988 // |screenshot_controller_| needs to be created (and prepended as a |
| 989 // pre-target handler) at this point, because |mouse_cursor_filter_| needs to | 989 // pre-target handler) at this point, because |mouse_cursor_filter_| needs to |
| (...skipping 43 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1033 SetSystemTrayDelegate( | 1033 SetSystemTrayDelegate( |
| 1034 base::WrapUnique(shell_delegate_->CreateSystemTrayDelegate())); | 1034 base::WrapUnique(shell_delegate_->CreateSystemTrayDelegate())); |
| 1035 | 1035 |
| 1036 // May trigger initialization of the Bluetooth adapter. | 1036 // May trigger initialization of the Bluetooth adapter. |
| 1037 tray_bluetooth_helper_->Initialize(); | 1037 tray_bluetooth_helper_->Initialize(); |
| 1038 | 1038 |
| 1039 // Create AshTouchTransformController before | 1039 // Create AshTouchTransformController before |
| 1040 // WindowTreeHostManager::InitDisplays() | 1040 // WindowTreeHostManager::InitDisplays() |
| 1041 // since AshTouchTransformController listens on | 1041 // since AshTouchTransformController listens on |
| 1042 // WindowTreeHostManager::Observer::OnDisplaysInitialized(). | 1042 // WindowTreeHostManager::Observer::OnDisplaysInitialized(). |
| 1043 if (!is_mash) { | 1043 if (config != Config::MASH) { |
| 1044 touch_transformer_controller_.reset(new AshTouchTransformController( | 1044 touch_transformer_controller_.reset(new AshTouchTransformController( |
| 1045 display_configurator_.get(), display_manager_.get())); | 1045 display_configurator_.get(), display_manager_.get())); |
| 1046 } | 1046 } |
| 1047 | 1047 |
| 1048 keyboard_ui_ = shell_port_->CreateKeyboardUI(); | 1048 keyboard_ui_ = shell_port_->CreateKeyboardUI(); |
| 1049 | 1049 |
| 1050 shell_port_->InitHosts(init_params); | 1050 shell_port_->InitHosts(init_params); |
| 1051 | 1051 |
| 1052 // Needs to be created after InitDisplays() since it may cause the virtual | 1052 // Needs to be created after InitDisplays() since it may cause the virtual |
| 1053 // keyboard to be deployed. | 1053 // keyboard to be deployed. |
| 1054 if (!is_mash) | 1054 if (config != Config::MASH) |
| 1055 virtual_keyboard_controller_.reset(new VirtualKeyboardController); | 1055 virtual_keyboard_controller_.reset(new VirtualKeyboardController); |
| 1056 | 1056 |
| 1057 audio_a11y_controller_.reset(new chromeos::AudioA11yController); | 1057 audio_a11y_controller_.reset(new chromeos::AudioA11yController); |
| 1058 | 1058 |
| 1059 // Initialize the wallpaper after the RootWindowController has been created, | 1059 // Initialize the wallpaper after the RootWindowController has been created, |
| 1060 // otherwise the widget will not paint when restoring after a browser crash. | 1060 // otherwise the widget will not paint when restoring after a browser crash. |
| 1061 // Also, initialize after display initialization to ensure correct sizing. | 1061 // Also, initialize after display initialization to ensure correct sizing. |
| 1062 wallpaper_delegate_->InitializeWallpaper(); | 1062 wallpaper_delegate_->InitializeWallpaper(); |
| 1063 | 1063 |
| 1064 if (cursor_manager_) { | 1064 if (cursor_manager_) { |
| 1065 if (initially_hide_cursor_) | 1065 if (initially_hide_cursor_) |
| 1066 cursor_manager_->HideCursor(); | 1066 cursor_manager_->HideCursor(); |
| 1067 cursor_manager_->SetCursor(ui::kCursorPointer); | 1067 cursor_manager_->SetCursor(ui::kCursorPointer); |
| 1068 } | 1068 } |
| 1069 | 1069 |
| 1070 power_event_observer_.reset(new PowerEventObserver()); | 1070 power_event_observer_.reset(new PowerEventObserver()); |
| 1071 user_activity_notifier_.reset( | 1071 user_activity_notifier_.reset( |
| 1072 new ui::UserActivityPowerManagerNotifier(user_activity_detector_.get())); | 1072 new ui::UserActivityPowerManagerNotifier(user_activity_detector_.get())); |
| 1073 video_activity_notifier_.reset( | 1073 video_activity_notifier_.reset( |
| 1074 new VideoActivityNotifier(video_detector_.get())); | 1074 new VideoActivityNotifier(video_detector_.get())); |
| 1075 bluetooth_notification_controller_.reset(new BluetoothNotificationController); | 1075 bluetooth_notification_controller_.reset(new BluetoothNotificationController); |
| 1076 if (!is_mash) { | 1076 if (config != Config::MASH) { |
| 1077 screen_orientation_controller_.reset(new ScreenOrientationController()); | 1077 screen_orientation_controller_.reset(new ScreenOrientationController()); |
| 1078 screen_layout_observer_.reset(new ScreenLayoutObserver()); | 1078 screen_layout_observer_.reset(new ScreenLayoutObserver()); |
| 1079 } | 1079 } |
| 1080 sms_observer_.reset(new SmsObserver()); | 1080 sms_observer_.reset(new SmsObserver()); |
| 1081 | 1081 |
| 1082 // The compositor thread and main message loop have to be running in | 1082 // The compositor thread and main message loop have to be running in |
| 1083 // order to create mirror window. Run it after the main message loop | 1083 // order to create mirror window. Run it after the main message loop |
| 1084 // is started. | 1084 // is started. |
| 1085 if (!is_mash) | 1085 if (config != Config::MASH) |
| 1086 display_manager_->CreateMirrorWindowAsyncIfAny(); | 1086 display_manager_->CreateMirrorWindowAsyncIfAny(); |
| 1087 | 1087 |
| 1088 for (auto& observer : shell_observers_) | 1088 for (auto& observer : shell_observers_) |
| 1089 observer.OnShellInitialized(); | 1089 observer.OnShellInitialized(); |
| 1090 | 1090 |
| 1091 if (!is_mash) | 1091 if (config != Config::MASH) |
| 1092 user_metrics_recorder_->OnShellInitialized(); | 1092 user_metrics_recorder_->OnShellInitialized(); |
| 1093 } | 1093 } |
| 1094 | 1094 |
| 1095 void Shell::InitKeyboard() { | 1095 void Shell::InitKeyboard() { |
| 1096 if (keyboard::IsKeyboardEnabled()) { | 1096 if (keyboard::IsKeyboardEnabled()) { |
| 1097 if (keyboard::KeyboardController::GetInstance()) { | 1097 if (keyboard::KeyboardController::GetInstance()) { |
| 1098 RootWindowControllerList controllers = GetAllRootWindowControllers(); | 1098 RootWindowControllerList controllers = GetAllRootWindowControllers(); |
| 1099 for (RootWindowControllerList::iterator iter = controllers.begin(); | 1099 for (RootWindowControllerList::iterator iter = controllers.begin(); |
| 1100 iter != controllers.end(); ++iter) { | 1100 iter != controllers.end(); ++iter) { |
| 1101 (*iter)->DeactivateKeyboard( | 1101 (*iter)->DeactivateKeyboard( |
| (...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1213 if (gained_active_wm) | 1213 if (gained_active_wm) |
| 1214 root_window_for_new_windows_ = gained_active_wm->GetRootWindow(); | 1214 root_window_for_new_windows_ = gained_active_wm->GetRootWindow(); |
| 1215 } | 1215 } |
| 1216 | 1216 |
| 1217 void Shell::SessionStateChanged(session_manager::SessionState state) { | 1217 void Shell::SessionStateChanged(session_manager::SessionState state) { |
| 1218 // Create the shelf when a session becomes active. It's safe to do this | 1218 // Create the shelf when a session becomes active. It's safe to do this |
| 1219 // multiple times (e.g. initial login vs. multiprofile add session). | 1219 // multiple times (e.g. initial login vs. multiprofile add session). |
| 1220 if (state == session_manager::SessionState::ACTIVE) { | 1220 if (state == session_manager::SessionState::ACTIVE) { |
| 1221 CreateShelfView(); | 1221 CreateShelfView(); |
| 1222 | 1222 |
| 1223 if (!shell_port_->IsRunningInMash()) { | 1223 if (GetAshConfig() != Config::MASH) { |
| 1224 // Recreate the keyboard after initial login and after multiprofile login. | 1224 // Recreate the keyboard after initial login and after multiprofile login. |
| 1225 CreateKeyboard(); | 1225 CreateKeyboard(); |
| 1226 } | 1226 } |
| 1227 } | 1227 } |
| 1228 } | 1228 } |
| 1229 | 1229 |
| 1230 void Shell::LoginStatusChanged(LoginStatus login_status) { | 1230 void Shell::LoginStatusChanged(LoginStatus login_status) { |
| 1231 UpdateAfterLoginStatusChange(login_status); | 1231 UpdateAfterLoginStatusChange(login_status); |
| 1232 | 1232 |
| 1233 // TODO(xiyuan): Update OnLoginStateChanged -> OnLoginStatusChanged. | 1233 // TODO(xiyuan): Update OnLoginStateChanged -> OnLoginStatusChanged. |
| (...skipping 19 matching lines...) Expand all Loading... |
| 1253 | 1253 |
| 1254 void Shell::OnPrefServiceInitialized( | 1254 void Shell::OnPrefServiceInitialized( |
| 1255 std::unique_ptr<::PrefService> pref_service) { | 1255 std::unique_ptr<::PrefService> pref_service) { |
| 1256 if (!instance_) | 1256 if (!instance_) |
| 1257 return; | 1257 return; |
| 1258 DCHECK(pref_service); | 1258 DCHECK(pref_service); |
| 1259 pref_service_ = std::move(pref_service); | 1259 pref_service_ = std::move(pref_service); |
| 1260 } | 1260 } |
| 1261 | 1261 |
| 1262 } // namespace ash | 1262 } // namespace ash |
| OLD | NEW |