Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(322)

Unified Diff: content/browser/android/content_view_core_impl.h

Issue 2752113005: Let ImeAdapterAndroid have the same lifecycle as its Java peer (Closed)
Patch Set: background rwhva Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: content/browser/android/content_view_core_impl.h
diff --git a/content/browser/android/content_view_core_impl.h b/content/browser/android/content_view_core_impl.h
index 867f969879b97f98c4a893bcfc23d9b12a14a721..c87cfcb5fd248544d3950f750ae495b2949ed264 100644
--- a/content/browser/android/content_view_core_impl.h
+++ b/content/browser/android/content_view_core_impl.h
@@ -49,6 +49,7 @@ class ContentViewCoreImpl : public ContentViewCore,
JNIEnv* env,
const base::android::JavaRef<jobject>& obj,
WebContents* web_contents,
+ ImeAdapterAndroid* ime_adapter,
float dpi_scale,
const base::android::JavaRef<jobject>& java_bridge_retained_object_set);
@@ -173,8 +174,6 @@ class ContentViewCoreImpl : public ContentViewCore,
const base::android::JavaParamRef<jobject>& obj,
jboolean enabled);
- long GetNativeImeAdapter(JNIEnv* env,
- const base::android::JavaParamRef<jobject>& obj);
void SetFocus(JNIEnv* env,
const base::android::JavaParamRef<jobject>& obj,
jboolean focused);
@@ -267,9 +266,7 @@ class ContentViewCoreImpl : public ContentViewCore,
bool is_mobile_optimized_hint,
const gfx::SelectionBound& selection_start);
- void ForceUpdateImeAdapter(long native_ime_adapter);
- void UpdateImeAdapter(long native_ime_adapter,
- int text_input_type,
+ void UpdateImeAdapter(int text_input_type,
int text_input_flags,
int text_input_mode,
const std::string& text,
@@ -333,6 +330,8 @@ class ContentViewCoreImpl : public ContentViewCore,
void OnShowUnhandledTapUIIfNeeded(int x_dip, int y_dip);
void OnTouchDown(const base::android::ScopedJavaLocalRef<jobject>& event);
+ ImeAdapterAndroid* ime_adapter() { return ime_adapter_.get(); }
+
ui::ViewAndroid* GetViewAndroid() const;
private:
@@ -345,6 +344,8 @@ class ContentViewCoreImpl : public ContentViewCore,
void RenderViewReady() override;
void RenderViewHostChanged(RenderViewHost* old_host,
RenderViewHost* new_host) override;
+ void DidAttachInterstitialPage() override;
+ void DidDetachInterstitialPage() override;
void WebContentsDestroyed() override;
// --------------------------------------------------------------------------
@@ -385,12 +386,18 @@ class ContentViewCoreImpl : public ContentViewCore,
// display in the ContentViewCore.
WebContentsImpl* web_contents_;
+ std::unique_ptr<ImeAdapterAndroid> ime_adapter_;
+
// Page scale factor.
float page_scale_;
// Device scale factor.
float dpi_scale_;
+ // The active RenderWidgetHostViewAndroid that is attached to IME adapter
+ // instance. Can also point to interstitial page if one is showing.
+ RenderWidgetHostViewAndroid* active_rwhva_;
+
// Observer to notify of lifecyle changes.
base::ObserverList<ContentViewCoreImplObserver> observer_list_;

Powered by Google App Engine
This is Rietveld 408576698