| Index: ui/keyboard/keyboard_util.cc
|
| diff --git a/ui/keyboard/keyboard_util.cc b/ui/keyboard/keyboard_util.cc
|
| index ebc987ffa3aaf86038bb39206293f230f0d0a0a7..de9e2e4e1d79cdb5624fb42f61eecf0c9fa7217c 100644
|
| --- a/ui/keyboard/keyboard_util.cc
|
| +++ b/ui/keyboard/keyboard_util.cc
|
| @@ -47,6 +47,9 @@ bool g_touch_keyboard_enabled = false;
|
| keyboard::KeyboardOverscrolOverride g_keyboard_overscroll_override =
|
| keyboard::KEYBOARD_OVERSCROLL_OVERRIDE_NONE;
|
|
|
| +keyboard::KeyboardShowOverride g_keyboard_show_override =
|
| + keyboard::KEYBOARD_SHOW_OVERRIDE_NONE;
|
| +
|
| } // namespace
|
|
|
| namespace keyboard {
|
| @@ -97,11 +100,18 @@ std::string GetKeyboardLayout() {
|
| }
|
|
|
| bool IsKeyboardEnabled() {
|
| - return g_accessibility_keyboard_enabled ||
|
| - CommandLine::ForCurrentProcess()->HasSwitch(
|
| - switches::kEnableVirtualKeyboard) ||
|
| - IsKeyboardUsabilityExperimentEnabled() ||
|
| - g_touch_keyboard_enabled;
|
| + // Accessibility setting prioritized over policy setting.
|
| + if (g_accessibility_keyboard_enabled)
|
| + return true;
|
| + // Policy strictly disables showing a virtual keyboard.
|
| + if (g_keyboard_show_override == keyboard::KEYBOARD_SHOW_OVERRIDE_DISABLED)
|
| + return false;
|
| + // Check if any of the flags are enabled.
|
| + return CommandLine::ForCurrentProcess()->HasSwitch(
|
| + switches::kEnableVirtualKeyboard) ||
|
| + IsKeyboardUsabilityExperimentEnabled() ||
|
| + g_touch_keyboard_enabled ||
|
| + (g_keyboard_show_override == keyboard::KEYBOARD_SHOW_OVERRIDE_ENABLED);
|
| }
|
|
|
| bool IsKeyboardUsabilityExperimentEnabled() {
|
| @@ -136,6 +146,10 @@ void SetKeyboardOverscrollOverride(KeyboardOverscrolOverride override) {
|
| g_keyboard_overscroll_override = override;
|
| }
|
|
|
| +void SetKeyboardShowOverride(KeyboardShowOverride override) {
|
| + g_keyboard_show_override = override;
|
| +}
|
| +
|
| bool IsInputViewEnabled() {
|
| if (CommandLine::ForCurrentProcess()->HasSwitch(switches::kEnableInputView))
|
| return true;
|
|
|