| Index: chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
|
| diff --git a/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc b/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
|
| index 3b758870627d57a375d1b940e14188be4e39a545..943f58d01485afdbc8f905564342097f3e386ee1 100644
|
| --- a/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
|
| +++ b/chrome/browser/extensions/api/virtual_keyboard_private/chrome_virtual_keyboard_delegate.cc
|
| @@ -72,7 +72,10 @@ bool ChromeVirtualKeyboardDelegate::GetKeyboardConfig(
|
| base::DictionaryValue* results) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| results->SetString("layout", keyboard::GetKeyboardLayout());
|
| + // TODO(bshe): Consolidate a11y, hotrod and normal mode into a mode enum. See
|
| + // crbug.com/529474.
|
| results->SetBoolean("a11ymode", keyboard::GetAccessibilityKeyboardEnabled());
|
| + results->SetBoolean("hotrodmode", keyboard::GetHotrodKeyboardEnabled());
|
| scoped_ptr<base::ListValue> features(new base::ListValue());
|
| features->AppendString(GenerateFeatureFlag(
|
| "floatingvirtualkeyboard", keyboard::IsFloatingVirtualKeyboardEnabled()));
|
| @@ -117,6 +120,18 @@ bool ChromeVirtualKeyboardDelegate::OnKeyboardLoaded() {
|
| return true;
|
| }
|
|
|
| +void ChromeVirtualKeyboardDelegate::SetHotrodKeyboard(bool enable) {
|
| + if (keyboard::GetHotrodKeyboardEnabled() == enable)
|
| + return;
|
| +
|
| + keyboard::SetHotrodKeyboardEnabled(enable);
|
| + // This reloads virtual keyboard even if it exists. This ensures virtual
|
| + // keyboard gets the correct state of the hotrod keyboard through
|
| + // chrome.virtualKeyboardPrivate.getKeyboardConfig.
|
| + if (enable && keyboard::IsKeyboardEnabled())
|
| + ash::Shell::GetInstance()->CreateKeyboard();
|
| +}
|
| +
|
| bool ChromeVirtualKeyboardDelegate::LockKeyboard(bool state) {
|
| DCHECK_CURRENTLY_ON(content::BrowserThread::UI);
|
| keyboard::KeyboardController* controller =
|
|
|