| 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 46129fb5a079b2235d222acac76b54d3aa5a26c3..6846f0373a675a9e94ade03f8bc45522af60220b 100644
|
| --- a/content/browser/renderer_host/render_widget_host_view_android.cc
|
| +++ b/content/browser/renderer_host/render_widget_host_view_android.cc
|
| @@ -633,6 +633,14 @@ float RenderWidgetHostViewAndroid::GetTopControlsHeight() const {
|
| return content_view_core_->GetTopControlsHeightDip();
|
| }
|
|
|
| +float RenderWidgetHostViewAndroid::GetBottomControlsHeight() const {
|
| + if (!content_view_core_)
|
| + return 0.f;
|
| +
|
| + // The height of the top controls.
|
| + return content_view_core_->GetBottomControlsHeightDip();
|
| +}
|
| +
|
| void RenderWidgetHostViewAndroid::UpdateCursor(const WebCursor& cursor) {
|
| // There are no cursors on Android.
|
| }
|
| @@ -1000,8 +1008,8 @@ void RenderWidgetHostViewAndroid::SubmitCompositorFrame(
|
| }
|
| if (surface_id_.is_null() ||
|
| texture_size_in_layer_ != current_surface_size_ ||
|
| - location_bar_content_translation_ !=
|
| - frame.metadata.location_bar_content_translation ||
|
| + top_bar_shown_ratio_ != frame.metadata.top_controls_shown_ratio ||
|
| + bottom_bar_shown_ratio_ != frame.metadata.bottom_controls_shown_ratio ||
|
| current_viewport_selection_ != frame.metadata.selection) {
|
| RemoveLayers();
|
| if (!surface_id_.is_null())
|
| @@ -1013,8 +1021,8 @@ void RenderWidgetHostViewAndroid::SubmitCompositorFrame(
|
| DCHECK(layer_);
|
|
|
| current_surface_size_ = texture_size_in_layer_;
|
| - location_bar_content_translation_ =
|
| - frame.metadata.location_bar_content_translation;
|
| + top_bar_shown_ratio_ = frame.metadata.top_controls_shown_ratio;
|
| + bottom_bar_shown_ratio_ = frame.metadata.bottom_controls_shown_ratio;
|
| current_viewport_selection_ = frame.metadata.selection;
|
| AttachLayers();
|
| }
|
| @@ -1253,10 +1261,9 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
|
| // Set parameters for adaptive handle orientation.
|
| gfx::SizeF viewport_size(frame_metadata.scrollable_viewport_size);
|
| viewport_size.Scale(frame_metadata.page_scale_factor);
|
| - gfx::RectF viewport_rect(
|
| - frame_metadata.location_bar_content_translation.x(),
|
| - frame_metadata.location_bar_content_translation.y(),
|
| - viewport_size.width(), viewport_size.height());
|
| + gfx::RectF viewport_rect(0.0f, frame_metadata.top_controls_height.y() *
|
| + frame_metadata.top_controls_shown_ratio,
|
| + viewport_size.width(), viewport_size.height());
|
| selection_controller_->OnViewportChanged(viewport_rect);
|
| }
|
|
|
| @@ -1270,8 +1277,10 @@ void RenderWidgetHostViewAndroid::OnFrameMetadataUpdated(
|
| frame_metadata.max_page_scale_factor),
|
| frame_metadata.root_layer_size,
|
| frame_metadata.scrollable_viewport_size,
|
| - frame_metadata.location_bar_offset,
|
| - frame_metadata.location_bar_content_translation,
|
| + frame_metadata.top_controls_height,
|
| + frame_metadata.top_controls_shown_ratio,
|
| + frame_metadata.bottom_controls_height,
|
| + frame_metadata.bottom_controls_shown_ratio,
|
| is_mobile_optimized,
|
| frame_metadata.selection.start);
|
| #if defined(VIDEO_HOLE)
|
|
|