diff options
author | bryeung@chromium.org <bryeung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-29 20:52:48 +0000 |
---|---|---|
committer | bryeung@chromium.org <bryeung@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2013-04-29 20:52:48 +0000 |
commit | 5416f28fdc1761075f31678b4893b14b8c426dd7 (patch) | |
tree | badf29574f11eb6eb80fa23e8b2be96e05740d5f /ui/keyboard/keyboard_controller.h | |
parent | e9b8ca8230f9f5f0238289952a8ff54efac7edd9 (diff) | |
download | chromium_src-5416f28fdc1761075f31678b4893b14b8c426dd7.zip chromium_src-5416f28fdc1761075f31678b4893b14b8c426dd7.tar.gz chromium_src-5416f28fdc1761075f31678b4893b14b8c426dd7.tar.bz2 |
Partial fix for keyboard occlusion.
This fixes three aspects of keyboard occlusion. When the keyboard is
showing:
- full-screen windows are resized to still be 100% visible
- panels are moved above the keyboard
- the shelf is hidden
This CL does not address:
- moving focused text fields into view in web pages
BUG=235157
Review URL: https://chromiumcodereview.appspot.com/14477010
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@197129 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'ui/keyboard/keyboard_controller.h')
-rw-r--r-- | ui/keyboard/keyboard_controller.h | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/ui/keyboard/keyboard_controller.h b/ui/keyboard/keyboard_controller.h index ca7d0ad..cb21b1d 100644 --- a/ui/keyboard/keyboard_controller.h +++ b/ui/keyboard/keyboard_controller.h @@ -7,6 +7,7 @@ #include "base/basictypes.h" #include "base/memory/scoped_ptr.h" +#include "base/observer_list.h" #include "ui/aura/window_observer.h" #include "ui/base/ime/input_method_observer.h" #include "ui/keyboard/keyboard_export.h" @@ -14,7 +15,9 @@ namespace aura { class Window; } - +namespace gfx { +class Rect; +} namespace ui { class InputMethod; class TextInputClient; @@ -22,6 +25,7 @@ class TextInputClient; namespace keyboard { +class KeyboardControllerObserver; class KeyboardControllerProxy; class KeyboardLayoutManager; @@ -38,6 +42,10 @@ class KEYBOARD_EXPORT KeyboardController : public ui::InputMethodObserver, // It is the responsibility of the caller to Show() the returned window. aura::Window* GetContainerWindow(); + // Management of the observer list. + virtual void AddObserver(KeyboardControllerObserver* observer); + virtual void RemoveObserver(KeyboardControllerObserver* observer); + private: // For access to Observer methods for simulation. friend class KeyboardControllerTest; @@ -57,6 +65,8 @@ class KEYBOARD_EXPORT KeyboardController : public ui::InputMethodObserver, aura::Window* container_; ui::InputMethod* input_method_; + ObserverList<KeyboardControllerObserver> observer_list_; + DISALLOW_COPY_AND_ASSIGN(KeyboardController); }; |