| Index: blimp/engine/session/blimp_engine_session.h | 
| diff --git a/blimp/engine/session/blimp_engine_session.h b/blimp/engine/session/blimp_engine_session.h | 
| index ae527e5fcd7eb87f53a38a28ac05ec7d6fe3b7b4..5bde15e2ecbe8b6b429df751ad24dc0cfceda76a 100644 | 
| --- a/blimp/engine/session/blimp_engine_session.h | 
| +++ b/blimp/engine/session/blimp_engine_session.h | 
| @@ -19,6 +19,7 @@ | 
| #include "content/public/browser/web_contents_delegate.h" | 
| #include "content/public/browser/web_contents_observer.h" | 
| #include "net/base/completion_callback.h" | 
| +#include "ui/base/ime/input_method_observer.h" | 
| #include "ui/gfx/geometry/size.h" | 
|  | 
| namespace aura { | 
| @@ -69,6 +70,7 @@ class BlimpEngineSession | 
| : public BlimpMessageProcessor, | 
| public content::WebContentsDelegate, | 
| public content::WebContentsObserver, | 
| +      public ui::InputMethodObserver, | 
| public EngineRenderWidgetFeature::RenderWidgetMessageDelegate { | 
| public: | 
| BlimpEngineSession(scoped_ptr<BlimpBrowserContext> browser_context, | 
| @@ -137,6 +139,15 @@ class BlimpEngineSession | 
| void NavigationStateChanged(content::WebContents* source, | 
| content::InvalidateTypes changed_flags) override; | 
|  | 
| +  // ui::InputMethodObserver overrides. | 
| +  void OnTextInputTypeChanged(const ui::TextInputClient* client) override; | 
| +  void OnFocus() override; | 
| +  void OnBlur() override; | 
| +  void OnCaretBoundsChanged(const ui::TextInputClient* client) override; | 
| +  void OnTextInputStateChanged(const ui::TextInputClient* client) override; | 
| +  void OnInputMethodDestroyed(const ui::InputMethod* input_method) override; | 
| +  void OnShowImeIfNeeded() override; | 
| + | 
| // content::WebContentsObserver implementation. | 
| void RenderViewCreated(content::RenderViewHost* render_view_host) override; | 
| void RenderViewHostChanged(content::RenderViewHost* old_host, | 
|  |