Remove pass-through methods on LayerTreeView
These methods simply call to the underlying LayerTreeHost. Expose the
LayerTreeHost directly on RenderWidget and in frame_test_helpers
(instead of through LayerTreeView) and have these callers call to the
LayerTreeHost instead of calling it through LayerTreeView.
[email protected]
Bug: 994926
Change-Id: I07326b55e6c2de1a70df798689c0685df5525a2a
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1812912
Reviewed-by: Avi Drissman <[email protected]>
Reviewed-by: Philip Rogers <[email protected]>
Commit-Queue: danakj <[email protected]>
Cr-Commit-Position: refs/heads/master@{#698485}
diff --git a/content/renderer/render_widget.cc b/content/renderer/render_widget.cc
index 33bb95b..560408d 100644
--- a/content/renderer/render_widget.cc
+++ b/content/renderer/render_widget.cc
@@ -851,7 +851,7 @@
}
}
- layer_tree_view_->layer_tree_host()->SetBrowserControlsHeight(
+ layer_tree_host_->SetBrowserControlsHeight(
visual_properties.top_controls_height,
visual_properties.bottom_controls_height,
visual_properties.browser_controls_shrink_blink_size);
@@ -900,7 +900,7 @@
// the visual properties here. While blink doesn't need to know this
// page scale factor outside the main frame, the compositor does in
// order to produce its output at the correct scale.
- layer_tree_view_->SetExternalPageScaleFactor(
+ layer_tree_host_->SetExternalPageScaleFactor(
visual_properties.page_scale_factor,
visual_properties.is_pinch_gesture_active);
// Store the value to give to any new RenderFrameProxy that is
@@ -1029,7 +1029,7 @@
SetHidden(false);
if (record_tab_switch_time_request) {
- layer_tree_view_->layer_tree_host()->RequestPresentationTimeForNextFrame(
+ layer_tree_host_->RequestPresentationTimeForNextFrame(
tab_switch_time_recorder_.TabWasShown(
false /* has_saved_frames */,
record_tab_switch_time_request.value(), show_request_timestamp));
@@ -1055,9 +1055,8 @@
}
void RenderWidget::RequestPresentation(PresentationTimeCallback callback) {
- layer_tree_view_->layer_tree_host()->RequestPresentationTimeForNextFrame(
- std::move(callback));
- layer_tree_view_->layer_tree_host()->SetNeedsCommitWithForcedRedraw();
+ layer_tree_host_->RequestPresentationTimeForNextFrame(std::move(callback));
+ layer_tree_host_->SetNeedsCommitWithForcedRedraw();
}
void RenderWidget::DidPresentForceDrawFrame(
@@ -1072,7 +1071,7 @@
}
bool RenderWidget::HasPendingPageScaleAnimation() const {
- return layer_tree_view_->layer_tree_host()->HasPendingPageScaleAnimation();
+ return layer_tree_host_->HasPendingPageScaleAnimation();
}
bool RenderWidget::HandleInputEvent(
@@ -1263,7 +1262,7 @@
std::make_unique<RenderFrameMetadataObserverImpl>(
observer_remote.InitWithNewPipeAndPassReceiver(),
std::move(client_remote));
- layer_tree_view_->SetRenderFrameObserver(
+ layer_tree_host_->SetRenderFrameObserver(
std::move(render_frame_metadata_observer));
GURL url = GetWebWidget()->GetURLForDebugTrace();
// The |url| is not always available, fallback to a fixed string.
@@ -1313,75 +1312,68 @@
void RenderWidget::SetLayerTreeMutator(
std::unique_ptr<cc::LayerTreeMutator> mutator) {
- layer_tree_view_->layer_tree_host()->SetLayerTreeMutator(std::move(mutator));
+ layer_tree_host_->SetLayerTreeMutator(std::move(mutator));
}
void RenderWidget::SetPaintWorkletLayerPainterClient(
std::unique_ptr<cc::PaintWorkletLayerPainter> client) {
- layer_tree_view_->layer_tree_host()->SetPaintWorkletLayerPainter(
- std::move(client));
+ layer_tree_host_->SetPaintWorkletLayerPainter(std::move(client));
}
void RenderWidget::SetRootLayer(scoped_refptr<cc::Layer> layer) {
- layer_tree_view_->layer_tree_host()->SetRootLayer(std::move(layer));
+ layer_tree_host_->SetRootLayer(std::move(layer));
}
void RenderWidget::ScheduleAnimation() {
// This call is not needed in single thread mode for tests without a
// scheduler, but they override this method in order to schedule a synchronous
// composite task themselves.
- layer_tree_view_->SetNeedsBeginFrame();
+ layer_tree_host_->SetNeedsAnimate();
}
void RenderWidget::SetShowFPSCounter(bool show) {
- cc::LayerTreeHost* host = layer_tree_view_->layer_tree_host();
- cc::LayerTreeDebugState debug_state = host->GetDebugState();
+ cc::LayerTreeDebugState debug_state = layer_tree_host_->GetDebugState();
debug_state.show_fps_counter = show;
- host->SetDebugState(debug_state);
+ layer_tree_host_->SetDebugState(debug_state);
}
void RenderWidget::SetShowLayoutShiftRegions(bool show) {
- cc::LayerTreeHost* host = layer_tree_view_->layer_tree_host();
- cc::LayerTreeDebugState debug_state = host->GetDebugState();
+ cc::LayerTreeDebugState debug_state = layer_tree_host_->GetDebugState();
debug_state.show_layout_shift_regions = show;
- host->SetDebugState(debug_state);
+ layer_tree_host_->SetDebugState(debug_state);
}
void RenderWidget::SetShowPaintRects(bool show) {
- cc::LayerTreeHost* host = layer_tree_view_->layer_tree_host();
- cc::LayerTreeDebugState debug_state = host->GetDebugState();
+ cc::LayerTreeDebugState debug_state = layer_tree_host_->GetDebugState();
debug_state.show_paint_rects = show;
- host->SetDebugState(debug_state);
+ layer_tree_host_->SetDebugState(debug_state);
}
void RenderWidget::SetShowDebugBorders(bool show) {
- cc::LayerTreeHost* host = layer_tree_view_->layer_tree_host();
- cc::LayerTreeDebugState debug_state = host->GetDebugState();
+ cc::LayerTreeDebugState debug_state = layer_tree_host_->GetDebugState();
if (show)
debug_state.show_debug_borders.set();
else
debug_state.show_debug_borders.reset();
- host->SetDebugState(debug_state);
+ layer_tree_host_->SetDebugState(debug_state);
}
void RenderWidget::SetShowScrollBottleneckRects(bool show) {
- cc::LayerTreeHost* host = layer_tree_view_->layer_tree_host();
- cc::LayerTreeDebugState debug_state = host->GetDebugState();
+ cc::LayerTreeDebugState debug_state = layer_tree_host_->GetDebugState();
debug_state.show_touch_event_handler_rects = show;
debug_state.show_wheel_event_handler_rects = show;
debug_state.show_non_fast_scrollable_rects = show;
- host->SetDebugState(debug_state);
+ layer_tree_host_->SetDebugState(debug_state);
}
void RenderWidget::SetShowHitTestBorders(bool show) {
- cc::LayerTreeHost* host = layer_tree_view_->layer_tree_host();
- cc::LayerTreeDebugState debug_state = host->GetDebugState();
+ cc::LayerTreeDebugState debug_state = layer_tree_host_->GetDebugState();
debug_state.show_hit_test_borders = show;
- host->SetDebugState(debug_state);
+ layer_tree_host_->SetDebugState(debug_state);
}
void RenderWidget::SetBackgroundColor(SkColor color) {
- layer_tree_view_->layer_tree_host()->set_background_color(color);
+ layer_tree_host_->set_background_color(color);
}
void RenderWidget::UpdateVisualState() {
@@ -1639,7 +1631,7 @@
// new RenderFrameMetadata, as the IME will need this info to be updated.
// TODO(ericrk): Consider folding the above IPC into RenderFrameMetadata.
// https://crbug.com/912309
- layer_tree_view_->RequestForceSendMetadata();
+ layer_tree_host_->RequestForceSendMetadata();
#endif
}
}
@@ -1696,7 +1688,7 @@
}
gfx::Rect RenderWidget::CompositorViewportRect() const {
- return layer_tree_view_->layer_tree_host()->device_viewport_rect();
+ return layer_tree_host_->device_viewport_rect();
}
void RenderWidget::UpdateZoom(double zoom_level) {
@@ -1822,10 +1814,9 @@
std::unique_ptr<cc::SwapPromise> swap_promise =
QueueMessageImpl(std::move(msg), frame_swap_message_queue_.get(),
RenderThreadImpl::current()->sync_message_filter(),
- layer_tree_view_->GetSourceFrameNumber());
+ layer_tree_host_->SourceFrameNumber());
if (swap_promise) {
- layer_tree_view_->layer_tree_host()->QueueSwapPromise(
- std::move(swap_promise));
+ layer_tree_host_->QueueSwapPromise(std::move(swap_promise));
}
}
@@ -1894,6 +1885,7 @@
page_properties_->GetScreenInfo().rect.size(),
page_properties_->GetDeviceScaleFactor()),
compositor_deps_->CreateUkmRecorderFactory());
+ layer_tree_host_ = layer_tree_view_->layer_tree_host();
UpdateSurfaceAndScreenInfo(local_surface_id_allocation_from_parent_,
CompositorViewportRect(),
@@ -1934,7 +1926,7 @@
// but we don't expect to use this RenderWidget again until some possible
// future navigation. This brings us a bit closer to emulating deleting the
// RenderWidget instead of just stopping the compositor.
- layer_tree_view_->ReleaseLayerTreeFrameSink();
+ layer_tree_host_->ReleaseLayerTreeFrameSink();
} else if (is_hidden_) {
layer_tree_view_->SetVisible(false);
} else {
@@ -2291,14 +2283,14 @@
// Note carefully that the DSF specified in |new_screen_info| is not the
// DSF used by the compositor during device emulation!
- layer_tree_view_->SetViewportRectAndScale(
+ layer_tree_host_->SetViewportRectAndScale(
compositor_viewport_pixel_rect,
GetOriginalScreenInfo().device_scale_factor,
local_surface_id_allocation_from_parent_);
// The ViewportVisibleRect derives from the LayerTreeView's viewport size,
// which is set above.
- layer_tree_view_->SetViewportVisibleRect(ViewportVisibleRect());
- layer_tree_view_->SetRasterColorSpace(
+ layer_tree_host_->SetViewportVisibleRect(ViewportVisibleRect());
+ layer_tree_host_->SetRasterColorSpace(
page_properties_->GetScreenInfo().color_space.GetRasterColorSpace());
if (orientation_changed)
@@ -2334,7 +2326,7 @@
local_surface_id_allocation_from_parent_;
// We are resizing the window from the renderer, so allocate a new
// viz::LocalSurfaceId to avoid surface invariants violations in tests.
- layer_tree_view_->RequestNewLocalSurfaceId();
+ layer_tree_host_->RequestNewLocalSurfaceId();
SynchronizeVisualProperties(visual_properties);
widget_screen_rect_ = new_window_rect;
@@ -2371,7 +2363,7 @@
compositor_visible_rect_ = compositor_visible_rect;
frame_widget->SetRemoteViewportIntersection(viewport_intersection,
occlusion_state);
- layer_tree_view_->SetViewportVisibleRect(ViewportVisibleRect());
+ layer_tree_host_->SetViewportVisibleRect(ViewportVisibleRect());
}
}
@@ -2724,7 +2716,7 @@
// |size_| from the compositor's viewport size. Also note that the
// calculation of |new_compositor_viewport_pixel_rect| does not appear to
// take into account device emulation.
- layer_tree_view_->RequestNewLocalSurfaceId();
+ layer_tree_host_->RequestNewLocalSurfaceId();
gfx::Rect new_compositor_viewport_pixel_rect =
gfx::Rect(gfx::ScaleToCeiledSize(
size_, page_properties_->GetDeviceScaleFactor()));
@@ -2845,7 +2837,7 @@
#endif
input_handler_->DidOverscrollFromBlink(
overscroll_delta, accumulated_overscroll, position, velocity,
- layer_tree_view_->layer_tree_host()->overscroll_behavior());
+ layer_tree_host_->overscroll_behavior());
}
void RenderWidget::InjectGestureScrollEvent(
@@ -2860,7 +2852,7 @@
void RenderWidget::SetOverscrollBehavior(
const cc::OverscrollBehavior& behavior) {
- layer_tree_view_->layer_tree_host()->SetOverscrollBehavior(behavior);
+ layer_tree_host_->SetOverscrollBehavior(behavior);
}
// static
@@ -3340,8 +3332,7 @@
}
void RenderWidget::SetHaveScrollEventHandlers(bool have_handlers) {
- layer_tree_view_->layer_tree_host()->SetHaveScrollEventHandlers(
- have_handlers);
+ layer_tree_host_->SetHaveScrollEventHandlers(have_handlers);
}
void RenderWidget::SetNeedsLowLatencyInput(bool needs_low_latency) {
@@ -3372,11 +3363,11 @@
}
void RenderWidget::RegisterViewportLayers(const cc::ViewportLayers& layers) {
- layer_tree_view_->layer_tree_host()->RegisterViewportLayers(layers);
+ layer_tree_host_->RegisterViewportLayers(layers);
}
void RenderWidget::RegisterSelection(const cc::LayerSelection& selection) {
- layer_tree_view_->layer_tree_host()->RegisterSelection(selection);
+ layer_tree_host_->RegisterSelection(selection);
}
void RenderWidget::FallbackCursorModeLockCursor(bool left,
@@ -3392,16 +3383,15 @@
}
void RenderWidget::SetAllowGpuRasterization(bool allow_gpu_raster) {
- layer_tree_view_->layer_tree_host()->SetHasGpuRasterizationTrigger(
- allow_gpu_raster);
+ layer_tree_host_->SetHasGpuRasterizationTrigger(allow_gpu_raster);
}
void RenderWidget::SetPageScaleStateAndLimits(float page_scale_factor,
bool is_pinch_gesture_active,
float minimum,
float maximum) {
- layer_tree_view_->layer_tree_host()->SetPageScaleFactorAndLimits(
- page_scale_factor, minimum, maximum);
+ layer_tree_host_->SetPageScaleFactorAndLimits(page_scale_factor, minimum,
+ maximum);
// Only continue if this is a mainframe, or something's actually changed.
if (!delegate() ||
@@ -3434,18 +3424,17 @@
bool use_anchor,
float new_page_scale,
base::TimeDelta duration) {
- layer_tree_view_->layer_tree_host()->StartPageScaleAnimation(
- target_offset, use_anchor, new_page_scale, duration);
+ layer_tree_host_->StartPageScaleAnimation(target_offset, use_anchor,
+ new_page_scale, duration);
}
void RenderWidget::ForceRecalculateRasterScales() {
- layer_tree_view_->layer_tree_host()->SetNeedsRecalculateRasterScales();
+ layer_tree_host_->SetNeedsRecalculateRasterScales();
}
void RenderWidget::RequestDecode(const cc::PaintImage& image,
base::OnceCallback<void(bool)> callback) {
- layer_tree_view_->layer_tree_host()->QueueImageDecode(image,
- std::move(callback));
+ layer_tree_host_->QueueImageDecode(image, std::move(callback));
}
// Enables measuring and reporting both presentation times and swap times in
@@ -3582,47 +3571,44 @@
void RenderWidget::SetEventListenerProperties(
cc::EventListenerClass event_class,
cc::EventListenerProperties properties) {
- layer_tree_view_->layer_tree_host()->SetEventListenerProperties(event_class,
- properties);
+ layer_tree_host_->SetEventListenerProperties(event_class, properties);
}
cc::EventListenerProperties RenderWidget::EventListenerProperties(
cc::EventListenerClass event_class) const {
- return layer_tree_view_->layer_tree_host()->event_listener_properties(
- event_class);
+ return layer_tree_host_->event_listener_properties(event_class);
}
std::unique_ptr<cc::ScopedDeferMainFrameUpdate>
RenderWidget::DeferMainFrameUpdate() {
- return layer_tree_view_->layer_tree_host()->DeferMainFrameUpdate();
+ return layer_tree_host_->DeferMainFrameUpdate();
}
void RenderWidget::StartDeferringCommits(base::TimeDelta timeout) {
- layer_tree_view_->layer_tree_host()->StartDeferringCommits(timeout);
+ layer_tree_host_->StartDeferringCommits(timeout);
}
void RenderWidget::StopDeferringCommits(cc::PaintHoldingCommitTrigger trigger) {
- layer_tree_view_->layer_tree_host()->StopDeferringCommits(trigger);
+ layer_tree_host_->StopDeferringCommits(trigger);
}
void RenderWidget::RequestBeginMainFrameNotExpected(bool request) {
- layer_tree_view_->layer_tree_host()->RequestBeginMainFrameNotExpected(
- request);
+ layer_tree_host_->RequestBeginMainFrameNotExpected(request);
}
int RenderWidget::GetLayerTreeId() const {
- return layer_tree_view_->layer_tree_host()->GetId();
+ return layer_tree_host_->GetId();
}
void RenderWidget::SetBrowserControlsShownRatio(float ratio) {
- layer_tree_view_->layer_tree_host()->SetBrowserControlsShownRatio(ratio);
+ layer_tree_host_->SetBrowserControlsShownRatio(ratio);
}
void RenderWidget::SetBrowserControlsHeight(float top_height,
float bottom_height,
bool shrink_viewport) {
- layer_tree_view_->layer_tree_host()->SetBrowserControlsHeight(
- top_height, bottom_height, shrink_viewport);
+ layer_tree_host_->SetBrowserControlsHeight(top_height, bottom_height,
+ shrink_viewport);
}
viz::FrameSinkId RenderWidget::GetFrameSinkId() {
@@ -3632,12 +3618,11 @@
void RenderWidget::NotifySwapAndPresentationTime(
ReportTimeCallback swap_time_callback,
ReportTimeCallback presentation_time_callback) {
- cc::LayerTreeHost* layer_tree_host = layer_tree_view_->layer_tree_host();
// When the WebWidget is closed we cancel any pending SwapPromise that would
// call back into blink, so we use |close_weak_ptr_factory_|.
- layer_tree_host->QueueSwapPromise(std::make_unique<ReportTimeSwapPromise>(
+ layer_tree_host_->QueueSwapPromise(std::make_unique<ReportTimeSwapPromise>(
std::move(swap_time_callback), std::move(presentation_time_callback),
- layer_tree_host->GetTaskRunnerProvider()->MainThreadTaskRunner(),
+ layer_tree_host_->GetTaskRunnerProvider()->MainThreadTaskRunner(),
close_weak_ptr_factory_.GetWeakPtr()));
}
@@ -3753,7 +3738,7 @@
DCHECK(widget_input_handler_manager_);
widget_input_handler_manager_->DidNavigate();
- layer_tree_view_->ClearCachesOnNextCommit();
+ layer_tree_host_->ClearCachesOnNextCommit();
}
blink::WebInputMethodController* RenderWidget::GetInputMethodController()
@@ -3795,7 +3780,7 @@
// We are changing the device scale factor from the renderer, so allocate a
// new viz::LocalSurfaceId to avoid surface invariants violations in tests.
- layer_tree_view_->RequestNewLocalSurfaceId();
+ layer_tree_host_->RequestNewLocalSurfaceId();
ScreenInfo info = page_properties_->GetScreenInfo();
info.device_scale_factor = factor;
@@ -3825,7 +3810,7 @@
const gfx::ColorSpace& color_space) {
// We are changing the device color space from the renderer, so allocate a
// new viz::LocalSurfaceId to avoid surface invariants violations in tests.
- layer_tree_view_->RequestNewLocalSurfaceId();
+ layer_tree_host_->RequestNewLocalSurfaceId();
ScreenInfo info = page_properties_->GetScreenInfo();
info.color_space = color_space;