Upstream version 7.36.149.0
[platform/framework/web/crosswalk.git] / src / chrome / browser / chromeos / login / login_display_host_impl.h
index 984172e..236e1f8 100644 (file)
@@ -8,6 +8,7 @@
 #include <string>
 #include <vector>
 
+#include "ash/shell_delegate.h"
 #include "base/compiler_specific.h"
 #include "base/memory/scoped_ptr.h"
 #include "base/memory/weak_ptr.h"
@@ -24,6 +25,7 @@
 #include "content/public/browser/notification_registrar.h"
 #include "content/public/browser/web_contents_observer.h"
 #include "ui/gfx/rect.h"
+#include "ui/keyboard/keyboard_controller_observer.h"
 
 class PrefService;
 
@@ -47,7 +49,9 @@ class LoginDisplayHostImpl : public LoginDisplayHost,
                              public content::NotificationObserver,
                              public content::WebContentsObserver,
                              public chromeos::SessionManagerClient::Observer,
-                             public chromeos::CrasAudioHandler::AudioObserver {
+                             public chromeos::CrasAudioHandler::AudioObserver,
+                             public ash::VirtualKeyboardStateObserver,
+                             public keyboard::KeyboardControllerObserver {
  public:
   explicit LoginDisplayHostImpl(const gfx::Rect& background_bounds);
   virtual ~LoginDisplayHostImpl();
@@ -119,6 +123,12 @@ class LoginDisplayHostImpl : public LoginDisplayHost,
   // Overridden from chromeos::CrasAudioHandler::AudioObserver:
   virtual void OnActiveOutputNodeChanged() OVERRIDE;
 
+  // Overridden from ash::KeyboardStateObserver:
+  virtual void OnVirtualKeyboardStateChanged(bool activated) OVERRIDE;
+
+  // Overridden from keyboard::KeyboardControllerObserver:
+  virtual void OnKeyboardBoundsChanging(const gfx::Rect& new_bounds) OVERRIDE;
+
  private:
   // Way to restore if renderer have crashed.
   enum RestorePath {
@@ -293,6 +303,12 @@ class LoginDisplayHostImpl : public LoginDisplayHost,
   // in any case.
   bool startup_sound_honors_spoken_feedback_;
 
+  // True is subscribed as keyboard controller observer.
+  bool is_observing_keyboard_;
+
+  // The bounds of the virtual keyboard.
+  gfx::Rect keyboard_bounds_;
+
   DISALLOW_COPY_AND_ASSIGN(LoginDisplayHostImpl);
 };