Index: chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
index 9ca796be6a113fea916955dfb194be654bacad8a..b10e37e54520106102b04ece8082214a530600e8 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/core_oobe_handler.cc |
@@ -44,6 +44,7 @@ |
#include "ui/display/screen.h" |
#include "ui/gfx/geometry/size.h" |
#include "ui/keyboard/keyboard_controller.h" |
+#include "ui/keyboard/keyboard_util.h" |
namespace { |
@@ -71,6 +72,10 @@ CoreOobeHandler::CoreOobeHandler(OobeUI* oobe_ui) |
} |
CoreOobeHandler::~CoreOobeHandler() { |
+ // Screen locker occasionally blocks the virtual keyboard from being shown for |
+ // the pin keyboard. Make sure this override is turned off when exiting the |
+ // screen locker. |
+ keyboard::SetForceDisableVirtualKeyboardForWebUi(false); |
} |
void CoreOobeHandler::SetDelegate(Delegate* delegate) { |
@@ -141,6 +146,8 @@ void CoreOobeHandler::RegisterMessages() { |
&CoreOobeHandler::HandleEnableLargeCursor); |
AddCallback("enableVirtualKeyboard", |
&CoreOobeHandler::HandleEnableVirtualKeyboard); |
+ AddCallback("setForceDisableVirtualKeyboard", |
+ &CoreOobeHandler::HandleSetForceDisableVirtualKeyboard); |
AddCallback("enableScreenMagnifier", |
&CoreOobeHandler::HandleEnableScreenMagnifier); |
AddCallback("enableSpokenFeedback", |
@@ -324,6 +331,10 @@ void CoreOobeHandler::HandleEnableVirtualKeyboard(bool enabled) { |
AccessibilityManager::Get()->EnableVirtualKeyboard(enabled); |
} |
+void CoreOobeHandler::HandleSetForceDisableVirtualKeyboard(bool disable) { |
+ keyboard::SetForceDisableVirtualKeyboardForWebUi(disable); |
+} |
+ |
void CoreOobeHandler::HandleEnableScreenMagnifier(bool enabled) { |
// TODO(nkostylev): Add support for partial screen magnifier. |
DCHECK(MagnificationManager::Get()); |