| 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 4c3471fde722dc6d7b8a3d9a89cf588eeb55c98c..0351d549a5f7b888391351b502b4b1968c97a9ec 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
| @@ -1371,6 +1371,15 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
|
| bool is_mobile_optimized = IsMobileOptimizedFrame(frame_metadata);
|
| gesture_provider_.SetDoubleTapSupportForPageEnabled(!is_mobile_optimized);
|
|
|
| + float dip_scale = view_.GetDipScale();
|
| + float top_controls_pix = frame_metadata.top_controls_height * dip_scale;
|
| + float top_shown_pix =
|
| + top_controls_pix * frame_metadata.top_controls_shown_ratio;
|
| +
|
| + if (ime_adapter_android_)
|
| + ime_adapter_android_->UpdateFrameInfo(frame_metadata.selection.start,
|
| + dip_scale, top_shown_pix);
|
| +
|
| if (!content_view_core_)
|
| return;
|
|
|
| @@ -1397,22 +1406,17 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
|
| frame_metadata.top_controls_height *
|
| frame_metadata.top_controls_shown_ratio));
|
|
|
| - float dip_scale = view_.GetDipScale();
|
| - float top_controls_pix = frame_metadata.top_controls_height * dip_scale;
|
| - float top_shown_pix =
|
| - top_controls_pix * frame_metadata.top_controls_shown_ratio;
|
| bool top_changed = !FloatEquals(top_shown_pix, prev_top_shown_pix_);
|
| -
|
| - float bottom_controls_pix = frame_metadata.bottom_controls_height * dip_scale;
|
| - float bottom_shown_pix =
|
| - bottom_controls_pix * frame_metadata.bottom_controls_shown_ratio;
|
| - bool bottom_changed = !FloatEquals(bottom_shown_pix, prev_bottom_shown_pix_);
|
| -
|
| if (top_changed) {
|
| float translate = top_shown_pix - top_controls_pix;
|
| view_.OnTopControlsChanged(translate, top_shown_pix);
|
| prev_top_shown_pix_ = top_shown_pix;
|
| }
|
| +
|
| + float bottom_controls_pix = frame_metadata.bottom_controls_height * dip_scale;
|
| + float bottom_shown_pix =
|
| + bottom_controls_pix * frame_metadata.bottom_controls_shown_ratio;
|
| + bool bottom_changed = !FloatEquals(bottom_shown_pix, prev_bottom_shown_pix_);
|
| if (bottom_changed) {
|
| float translate = bottom_controls_pix - bottom_shown_pix;
|
| view_.OnBottomControlsChanged(translate, bottom_shown_pix);
|
| @@ -1421,16 +1425,12 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
|
|
|
| // All offsets and sizes are in CSS pixels.
|
| content_view_core_->UpdateFrameInfo(
|
| - frame_metadata.root_scroll_offset,
|
| - frame_metadata.page_scale_factor,
|
| + frame_metadata.root_scroll_offset, frame_metadata.page_scale_factor,
|
| gfx::Vector2dF(frame_metadata.min_page_scale_factor,
|
| frame_metadata.max_page_scale_factor),
|
| - frame_metadata.root_layer_size,
|
| - frame_metadata.scrollable_viewport_size,
|
| + frame_metadata.root_layer_size, frame_metadata.scrollable_viewport_size,
|
| frame_metadata.top_controls_height,
|
| - frame_metadata.top_controls_shown_ratio,
|
| - is_mobile_optimized,
|
| - frame_metadata.selection.start);
|
| + frame_metadata.top_controls_shown_ratio, is_mobile_optimized);
|
| }
|
|
|
| void RenderWidgetHostViewAndroid::ShowInternal() {
|
|
|