Index: ui/keyboard/scoped_keyboard_disabler.h |
diff --git a/ui/keyboard/scoped_keyboard_disabler.h b/ui/keyboard/scoped_keyboard_disabler.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..bc042e1c819768c8acf30cdbd5b3976cec142257 |
--- /dev/null |
+++ b/ui/keyboard/scoped_keyboard_disabler.h |
@@ -0,0 +1,37 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef UI_KEYBOARD_SCOPED_KEYBOARD_DISABLER_H_ |
+#define UI_KEYBOARD_SCOPED_KEYBOARD_DISABLER_H_ |
+ |
+#include "base/macros.h" |
+#include "ui/keyboard/keyboard_export.h" |
+ |
+namespace keyboard { |
+ |
+// Saves the force disable keyboard state, and restores the state when going out |
+// of scope. |
+class KEYBOARD_EXPORT ScopedKeyboardDisabler { |
+ public: |
+ ScopedKeyboardDisabler(); |
+ ~ScopedKeyboardDisabler(); |
+ |
+ // Blocks the keyboard from showing up. This should only be used for cases |
+ // where the focus needs to be passed around without poping up the keyboard. |
+ // It needs to be turned off or this object needs to go out of scope when done |
+ // with, otherwise the keyboard will not pop up again. |
+ void SetForceDisableVirtualKeyboard(bool disable); |
+ |
+ // Return true if keyboard has been blocked from showing up. |
+ static bool GetForceDisableVirtualKeyboard(); |
+ |
+ private: |
+ const bool force_disable_keyboard_state_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(ScopedKeyboardDisabler); |
+}; |
+ |
+} // namespace keyboard |
+ |
+#endif // UI_KEYBOARD_SCOPED_KEYBOARD_DISABLER_H_ |