Commit 5e383d52 authored by Ted Choc's avatar Ted Choc Committed by Commit Bot

Revert "viz: Remove unused bottom-controls data from compositor frame."

This reverts commit f8030cb2.

Reason for revert: crbug.com/1028641 - Breaks bottom toolbar hiding for the Duet experiment on Android.

Original change's description:
> viz: Remove unused bottom-controls data from compositor frame.
> 
> The bottom_controls_height and bottom_controls_shown_ratio fields
> in CompositorFrameMetadata are currently unused. Their usage has been
> replaced by the same fields in RenderFrameMetadata. So remove these
> fields.
> 
> BUG=none
> 
> Change-Id: I96af75cc5f933821cfb486fdeb1e314daa2a7030
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1927973
> Auto-Submit: Sadrul Chowdhury <sadrul@chromium.org>
> Reviewed-by: Daniel Cheng <dcheng@chromium.org>
> Commit-Queue: Sadrul Chowdhury <sadrul@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#717874}

TBR=sadrul@chromium.org,dcheng@chromium.org

# Not skipping CQ checks because original CL landed > 1 day ago.

Bug: none
Change-Id: If66edb5c9184b8041c79dc9215bd725eb9f2cece
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1940490Reviewed-by: default avatarTed Choc <tedchoc@chromium.org>
Commit-Queue: Ted Choc <tedchoc@chromium.org>
Cr-Commit-Position: refs/heads/master@{#719782}
parent a65a603e
......@@ -2190,6 +2190,10 @@ RenderFrameMetadata LayerTreeHostImpl::MakeRenderFrameMetadata(
metadata.top_controls_shown_ratio =
browser_controls_offset_manager_->TopControlsShownRatio();
#if defined(OS_ANDROID)
metadata.bottom_controls_height =
browser_controls_offset_manager_->BottomControlsHeight();
metadata.bottom_controls_shown_ratio =
browser_controls_offset_manager_->BottomControlsShownRatio();
metadata.scrollable_viewport_size = active_tree_->ScrollableViewportSize();
metadata.min_page_scale_factor = active_tree_->min_page_scale_factor();
metadata.max_page_scale_factor = active_tree_->max_page_scale_factor();
......@@ -2244,6 +2248,10 @@ RenderFrameMetadata LayerTreeHostImpl::MakeRenderFrameMetadata(
metadata.top_controls_height ||
last_draw_render_frame_metadata_->top_controls_shown_ratio !=
metadata.top_controls_shown_ratio ||
last_draw_render_frame_metadata_->bottom_controls_height !=
metadata.bottom_controls_height ||
last_draw_render_frame_metadata_->bottom_controls_shown_ratio !=
metadata.bottom_controls_shown_ratio ||
last_draw_render_frame_metadata_->selection != metadata.selection ||
last_draw_render_frame_metadata_->has_transparent_background !=
metadata.has_transparent_background);
......
......@@ -138,6 +138,13 @@ class VIZ_COMMON_EXPORT CompositorFrameMetadata {
float top_controls_height = 0.f;
float top_controls_shown_ratio = 0.f;
#if defined(OS_ANDROID)
// Used to position Android bottom bar, whose position is computed by the
// renderer compositor.
float bottom_controls_height = 0.f;
float bottom_controls_shown_ratio = 0.f;
#endif
// The time at which the LocalSurfaceId used to submit this CompositorFrame
// was allocated.
base::TimeTicks local_surface_id_allocation_time;
......
......@@ -40,6 +40,10 @@ bool StructTraits<viz::mojom::CompositorFrameMetadataDataView,
out->min_page_scale_factor = data.min_page_scale_factor();
out->top_controls_height = data.top_controls_height();
out->top_controls_shown_ratio = data.top_controls_shown_ratio();
#if defined(OS_ANDROID)
out->bottom_controls_height = data.bottom_controls_height();
out->bottom_controls_shown_ratio = data.bottom_controls_shown_ratio();
#endif
return data.ReadLatencyInfo(&out->latency_info) &&
data.ReadReferencedSurfaces(&out->referenced_surfaces) &&
......
......@@ -103,6 +103,18 @@ struct StructTraits<viz::mojom::CompositorFrameMetadataDataView,
return metadata.top_controls_shown_ratio;
}
#if defined(OS_ANDROID)
static float bottom_controls_height(
const viz::CompositorFrameMetadata& metadata) {
return metadata.bottom_controls_height;
}
static float bottom_controls_shown_ratio(
const viz::CompositorFrameMetadata& metadata) {
return metadata.bottom_controls_shown_ratio;
}
#endif // defined(OS_ANDROID)
static base::TimeTicks local_surface_id_allocation_time(
const viz::CompositorFrameMetadata& metadata) {
DCHECK(!metadata.local_surface_id_allocation_time.is_null());
......
......@@ -36,6 +36,12 @@ struct CompositorFrameMetadata {
float top_controls_shown_ratio;
[EnableIf=is_android]
float bottom_controls_height;
[EnableIf=is_android]
float bottom_controls_shown_ratio;
mojo_base.mojom.TimeTicks local_surface_id_allocation_time;
// Specifies the interval at which the client's content is updated. This can
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment