Index: content/browser/android/ime_adapter_android.h |
diff --git a/content/browser/renderer_host/ime_adapter_android.h b/content/browser/android/ime_adapter_android.h |
similarity index 75% |
rename from content/browser/renderer_host/ime_adapter_android.h |
rename to content/browser/android/ime_adapter_android.h |
index 72ab6d3ed3298b683e3aef302472a424f4de310f..d230f265de19772ad587fe6848490e4dc23d5146 100644 |
--- a/content/browser/renderer_host/ime_adapter_android.h |
+++ b/content/browser/android/ime_adapter_android.h |
@@ -2,8 +2,8 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#ifndef CONTENT_BROWSER_RENDERER_HOST_IME_ADAPTER_ANDROID_H_ |
-#define CONTENT_BROWSER_RENDERER_HOST_IME_ADAPTER_ANDROID_H_ |
+#ifndef CONTENT_BROWSER_ANDROID_IME_ADAPTER_ANDROID_H_ |
+#define CONTENT_BROWSER_ANDROID_IME_ADAPTER_ANDROID_H_ |
#include <jni.h> |
@@ -12,6 +12,7 @@ |
#include "base/android/jni_weak_ref.h" |
#include "base/strings/string16.h" |
#include "content/common/content_export.h" |
+#include "content/public/browser/web_contents_observer.h" |
#include "ui/gfx/geometry/rect_f.h" |
namespace blink { |
@@ -31,10 +32,12 @@ class RenderWidgetHostViewAndroid; |
// corresponding host view. |
// Ownership of these objects remains on the native side (see |
// RenderWidgetHostViewAndroid). |
-class CONTENT_EXPORT ImeAdapterAndroid { |
+class CONTENT_EXPORT ImeAdapterAndroid : public WebContentsObserver { |
public: |
- explicit ImeAdapterAndroid(RenderWidgetHostViewAndroid* rwhva); |
- ~ImeAdapterAndroid(); |
+ ImeAdapterAndroid(JNIEnv* env, |
+ const base::android::JavaParamRef<jobject>& obj, |
+ WebContents* web_contents); |
+ ~ImeAdapterAndroid() override; |
// Called from java -> native |
bool SendKeyEvent( |
@@ -60,9 +63,6 @@ class CONTENT_EXPORT ImeAdapterAndroid { |
int relative_cursor_pos); |
void FinishComposingText(JNIEnv* env, |
const base::android::JavaParamRef<jobject>&); |
- void AttachImeAdapter( |
- JNIEnv*, |
- const base::android::JavaParamRef<jobject>& java_object); |
void SetEditableSelectionOffsets(JNIEnv*, |
const base::android::JavaParamRef<jobject>&, |
int start, |
@@ -80,9 +80,10 @@ class CONTENT_EXPORT ImeAdapterAndroid { |
const base::android::JavaParamRef<jobject>&, |
int before, |
int after); |
- void ResetImeAdapter(JNIEnv*, const base::android::JavaParamRef<jobject>&); |
- void RequestCursorUpdate(JNIEnv*, const base::android::JavaParamRef<jobject>&, |
- bool immediateRequest, bool monitorRequest); |
+ void RequestCursorUpdate(JNIEnv*, |
+ const base::android::JavaParamRef<jobject>&, |
+ bool immediateRequest, |
+ bool monitorRequest); |
bool RequestTextInputStateUpdate(JNIEnv*, |
const base::android::JavaParamRef<jobject>&); |
@@ -96,6 +97,14 @@ class CONTENT_EXPORT ImeAdapterAndroid { |
return java_ime_adapter_.get(env); |
} |
+ // WebContentsObserver implementation. |
+ void RenderViewReady() override; |
+ void RenderViewHostChanged(RenderViewHost* old_host, |
+ RenderViewHost* new_host) override; |
+ void DidAttachInterstitialPage() override; |
+ void DidDetachInterstitialPage() override; |
+ void WebContentsDestroyed() override; |
+ |
private: |
RenderWidgetHostImpl* GetFocusedWidget(); |
RenderFrameHost* GetFocusedFrame(); |
@@ -104,6 +113,8 @@ class CONTENT_EXPORT ImeAdapterAndroid { |
const base::android::JavaParamRef<jobject>& obj, |
const base::android::JavaParamRef<jobject>& text, |
const base::string16& text16); |
+ RenderWidgetHostViewAndroid* GetRenderWidgetHostViewAndroid() const; |
+ void UpdateRenderProcessConnection(RenderWidgetHostViewAndroid* new_rwhva); |
RenderWidgetHostViewAndroid* rwhva_; |
JavaObjectWeakGlobalRef java_ime_adapter_; |
@@ -113,4 +124,4 @@ bool RegisterImeAdapter(JNIEnv* env); |
} // namespace content |
-#endif // CONTENT_BROWSER_RENDERER_HOST_IME_ADAPTER_ANDROID_H_ |
+#endif // CONTENT_BROWSER_ANDROID_IME_ADAPTER_ANDROID_H_ |