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

Unified Diff: content/browser/renderer_host/render_widget_host_view_android.cc

Issue 2827263006: Revert "Refactor ContentViewClient (6/6)" (Closed)
Patch Set: Revert "Let ImeAdapterAndroid have the same lifecycle as its Java peer" Created 3 years, 8 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/renderer_host/render_widget_host_view_android.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index d0a2b5f0feabe4e1b94aa6d1db0f0ef9c222d17c..4f1608dbfd68116aed9283a9da8389d14bd617fb 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -40,7 +40,6 @@
#include "content/browser/accessibility/browser_accessibility_manager_android.h"
#include "content/browser/android/composited_touch_handle_drawable.h"
#include "content/browser/android/content_view_core_impl.h"
-#include "content/browser/android/ime_adapter_android.h"
#include "content/browser/android/overscroll_controller_android.h"
#include "content/browser/android/synchronous_compositor_host.h"
#include "content/browser/compositor/surface_utils.h"
@@ -449,7 +448,7 @@ RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid(
is_window_activity_started_(true),
is_in_vr_(false),
content_view_core_(nullptr),
- ime_adapter_android_(nullptr),
+ ime_adapter_android_(this),
background_color_(SK_ColorWHITE),
cached_background_color_(SK_ColorWHITE),
view_(this),
@@ -496,8 +495,6 @@ RenderWidgetHostViewAndroid::~RenderWidgetHostViewAndroid() {
if (content_view_core_)
content_view_core_->RemoveObserver(this);
SetContentViewCore(NULL);
- if (ime_adapter_android_)
- ime_adapter_android_ = nullptr;
DCHECK(ack_callbacks_.empty());
DCHECK(!delegated_frame_host_);
}
@@ -646,13 +643,11 @@ gfx::Rect RenderWidgetHostViewAndroid::GetViewBounds() const {
if (!content_view_core_)
return default_bounds_;
- gfx::Size size(content_view_core_->GetViewSize());
if (base::CommandLine::ForCurrentProcess()->HasSwitch(
- switches::kEnableOSKOverscroll)) {
- size.Enlarge(0, view_.GetSystemWindowInsetBottom() / view_.GetDipScale());
- }
+ switches::kEnableOSKOverscroll))
+ return gfx::Rect(content_view_core_->GetViewSizeWithOSKHidden());
- return gfx::Rect(size);
+ return gfx::Rect(content_view_core_->GetViewSize());
}
gfx::Size RenderWidgetHostViewAndroid::GetVisibleViewportSize() const {
@@ -706,6 +701,10 @@ void RenderWidgetHostViewAndroid::SetIsLoading(bool is_loading) {
// is TabContentsDelegate.
}
+long RenderWidgetHostViewAndroid::GetNativeImeAdapter() {
+ return reinterpret_cast<intptr_t>(&ime_adapter_android_);
+}
+
// -----------------------------------------------------------------------------
// TextInputManager::Observer implementations.
void RenderWidgetHostViewAndroid::OnUpdateTextInputStateCalled(
@@ -720,10 +719,14 @@ void RenderWidgetHostViewAndroid::OnUpdateTextInputStateCalled(
? *GetTextInputManager()->GetTextInputState()
: TextInputState();
- if (!ime_adapter_android_ || is_in_vr_)
+ if (!content_view_core_ || is_in_vr_)
return;
- ime_adapter_android_->UpdateState(state);
+ content_view_core_->UpdateImeAdapter(
+ GetNativeImeAdapter(), static_cast<int>(state.type), state.flags,
+ state.mode, state.value, state.selection_start, state.selection_end,
+ state.composition_start, state.composition_end, state.show_ime_if_needed,
+ state.reply_to_request);
}
void RenderWidgetHostViewAndroid::OnImeCompositionRangeChanged(
@@ -739,16 +742,14 @@ void RenderWidgetHostViewAndroid::OnImeCompositionRangeChanged(
for (const gfx::Rect& rect : info->character_bounds)
character_bounds.emplace_back(rect);
- if (ime_adapter_android_)
- ime_adapter_android_->SetCharacterBounds(character_bounds);
+ ime_adapter_android_.SetCharacterBounds(character_bounds);
}
void RenderWidgetHostViewAndroid::OnImeCancelComposition(
TextInputManager* text_input_manager,
RenderWidgetHostViewBase* updated_view) {
DCHECK_EQ(text_input_manager_, text_input_manager);
- if (ime_adapter_android_)
- ime_adapter_android_->CancelComposition();
+ ime_adapter_android_.CancelComposition();
}
void RenderWidgetHostViewAndroid::OnTextSelectionChanged(
@@ -905,11 +906,6 @@ bool RenderWidgetHostViewAndroid::TransformPointToCoordSpaceForView(
transformed_point);
}
-base::WeakPtr<RenderWidgetHostViewAndroid>
-RenderWidgetHostViewAndroid::GetWeakPtrAndroid() {
- return weak_ptr_factory_.GetWeakPtr();
-}
-
bool RenderWidgetHostViewAndroid::OnTouchEvent(
const ui::MotionEvent& event) {
if (!host_ || !host_->delegate())
@@ -1001,8 +997,7 @@ void RenderWidgetHostViewAndroid::SetMultiTouchZoomSupportEnabled(
void RenderWidgetHostViewAndroid::FocusedNodeChanged(
bool is_editable_node,
const gfx::Rect& node_bounds_in_screen) {
- if (ime_adapter_android_)
- ime_adapter_android_->FocusedNodeChanged(is_editable_node);
+ ime_adapter_android_.FocusedNodeChanged(is_editable_node);
}
void RenderWidgetHostViewAndroid::RenderProcessGone(
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_android.h ('k') | content/browser/site_per_process_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698