Chromium Code Reviews| Index: ui/keyboard/keyboard_controller_proxy.cc |
| diff --git a/ui/keyboard/keyboard_controller_proxy.cc b/ui/keyboard/keyboard_controller_proxy.cc |
| index 2d1bb4b537b703a50a68aef536320e56cabbff35..467fbee04358610b9cbd971f2618d2efcafe8627 100644 |
| --- a/ui/keyboard/keyboard_controller_proxy.cc |
| +++ b/ui/keyboard/keyboard_controller_proxy.cc |
| @@ -71,6 +71,15 @@ class KeyboardContentsDelegate : public content::WebContentsDelegate, |
| return source; |
| } |
| + virtual bool IsPopupOrPanel(const content::WebContents* source) const { |
| + return true; |
| + } |
| + |
| + virtual void MoveContents( |
| + content::WebContents* source, const gfx::Rect& pos) { |
| + proxy_->SetKeyboardHeight(pos.height()); |
| + } |
| + |
| // Overridden from content::WebContentsDelegate: |
| virtual void RequestMediaAccessPermission(content::WebContents* web_contents, |
| const content::MediaStreamRequest& request, |
| @@ -94,7 +103,7 @@ class KeyboardContentsDelegate : public content::WebContentsDelegate, |
| namespace keyboard { |
| KeyboardControllerProxy::KeyboardControllerProxy() |
| - : default_url_(kKeyboardWebUIURL) { |
| + : default_url_(kKeyboardWebUIURL), keyboard_resizer_(NULL) { |
| } |
| KeyboardControllerProxy::~KeyboardControllerProxy() { |
| @@ -112,6 +121,16 @@ void KeyboardControllerProxy::SetOverrideContentUrl(const GURL& url) { |
| ReloadContents(); |
| } |
| +void KeyboardControllerProxy::SetKeyboardResizer(KeyboardResizer* resizer) { |
| + keyboard_resizer_ = resizer; |
| +} |
| + |
| +void KeyboardControllerProxy::SetKeyboardHeight(int height) { |
| + if (keyboard_resizer_) { |
| + keyboard_resizer_->SetKeyboardHeight(height); |
| + } |
| +} |
| + |
| void KeyboardControllerProxy::ReloadContents() { |
| if (keyboard_contents_) { |
| content::OpenURLParams params( |
| @@ -139,11 +158,13 @@ aura::Window* KeyboardControllerProxy::GetKeyboardWindow() { |
| } |
| void KeyboardControllerProxy::ShowKeyboardContainer(aura::Window* container) { |
| + GetKeyboardWindow()->Show(); |
|
kevers
2013/11/29 20:26:05
Is it necessary to show/hide the keyboard window,
Shu Chen
2013/12/02 03:54:40
It is necessary, otherwise it won't trigger the vi
|
| container->Show(); |
| } |
| void KeyboardControllerProxy::HideKeyboardContainer(aura::Window* container) { |
| container->Hide(); |
| + GetKeyboardWindow()->Hide(); |
| } |
| void KeyboardControllerProxy::SetUpdateInputType(ui::TextInputType type) { |