Index: content/browser/web_contents/web_contents_impl.h |
diff --git a/content/browser/web_contents/web_contents_impl.h b/content/browser/web_contents/web_contents_impl.h |
index 92919be4ea74b72d27e8cfb3f6e86fcb829f79f6..69bb5ea491f5173b9824ab19fefe2c369cdaa902 100644 |
--- a/content/browser/web_contents/web_contents_impl.h |
+++ b/content/browser/web_contents/web_contents_impl.h |
@@ -73,6 +73,7 @@ class SavePackage; |
class ScreenOrientationDispatcherHost; |
class SiteInstance; |
class TestWebContents; |
+class TextInputManager; |
class WakeLockServiceContext; |
class WebContentsAudioMuter; |
class WebContentsDelegate; |
@@ -630,6 +631,7 @@ class CONTENT_EXPORT WebContentsImpl |
const std::vector<uint8_t>& proto) override; |
void OnRenderFrameProxyVisibilityChanged(bool visible) override; |
void SendScreenRects() override; |
+ TextInputManager* GetTextInputManager() override; |
// RenderFrameHostManager::Delegate ------------------------------------------ |
@@ -1375,6 +1377,14 @@ private: |
bool page_scale_factor_is_one_; |
+ // TextInputManager tracks the IME-related state for all the |
+ // RenderWidgetHostViews on this WebContents. Only exists on the outermost |
+ // WebContents and is automatically destroyed when a WebContents becomes an |
+ // inner WebContents by attaching to an outer WebContents. Then the |
+ // IME-related state for RenderWidgetHosts on the inner WebContents is tracked |
+ // by the TextInputManager in the outer WebContents. |
+ std::unique_ptr<TextInputManager> text_input_manager_; |
+ |
base::WeakPtrFactory<WebContentsImpl> loading_weak_factory_; |
base::WeakPtrFactory<WebContentsImpl> weak_factory_; |