Index: ash/aura/wm_shell_aura.cc |
diff --git a/ash/aura/wm_shell_aura.cc b/ash/aura/wm_shell_aura.cc |
index 2d59990720296339935609efaafa94c635b8b13c..5f71ec40714db5e37d3edf5ef8e8d6ee61412f13 100644 |
--- a/ash/aura/wm_shell_aura.cc |
+++ b/ash/aura/wm_shell_aura.cc |
@@ -323,6 +323,15 @@ void WmShellAura::OnAttemptToReactivateWindow(aura::Window* request_active, |
} |
} |
+void WmShellAura::SessionStateChanged(session_manager::SessionState state) { |
+ // Create the shelf if necessary. |
+ WmShell::SessionStateChanged(state); |
+ |
+ // Recreate the keyboard after initial login and after multiprofile login. |
+ if (state == session_manager::SessionState::ACTIVE) |
+ Shell::GetInstance()->CreateKeyboard(); |
+} |
+ |
void WmShellAura::OnDisplayConfigurationChanging() { |
for (auto& observer : display_observers_) |
observer.OnDisplayConfigurationChanging(); |