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

Unified Diff: content/renderer/gpu/render_widget_compositor.cc

Issue 2886243004: Refactor RegisterViewportLayers to use a struct instead of 6 values (Closed)
Patch Set: CC_EXPORT ViewportLayers to make the Windows compile+link happy. Created 3 years, 7 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/renderer/gpu/render_widget_compositor.cc
diff --git a/content/renderer/gpu/render_widget_compositor.cc b/content/renderer/gpu/render_widget_compositor.cc
index d552863f7a0d9eae183a2c3f67c2c58b1bad5441..539ed1ffd38290423c568aa80e025fdfb358f0a8 100644
--- a/content/renderer/gpu/render_widget_compositor.cc
+++ b/content/renderer/gpu/render_widget_compositor.cc
@@ -779,45 +779,51 @@ void RenderWidgetCompositor::DidStopFlinging() {
}
void RenderWidgetCompositor::RegisterViewportLayers(
- const blink::WebLayer* overscrollElasticityLayer,
- const blink::WebLayer* pageScaleLayer,
- const blink::WebLayer* innerViewportContainerLayer,
- const blink::WebLayer* outerViewportContainerLayer,
- const blink::WebLayer* innerViewportScrollLayer,
- const blink::WebLayer* outerViewportScrollLayer) {
- layer_tree_host_->RegisterViewportLayers(
- // TODO(bokan): This check can probably be removed now, but it looks
- // like overscroll elasticity may still be nullptr until VisualViewport
- // registers its layers.
- overscrollElasticityLayer ? static_cast<const cc_blink::WebLayerImpl*>(
- overscrollElasticityLayer)
- ->layer()
- : nullptr,
- static_cast<const cc_blink::WebLayerImpl*>(pageScaleLayer)->layer(),
- innerViewportContainerLayer ? static_cast<const cc_blink::WebLayerImpl*>(
- innerViewportContainerLayer)
- ->layer()
- : nullptr,
- outerViewportContainerLayer ? static_cast<const cc_blink::WebLayerImpl*>(
- outerViewportContainerLayer)
- ->layer()
- : nullptr,
- static_cast<const cc_blink::WebLayerImpl*>(innerViewportScrollLayer)
- ->layer(),
- // TODO(bokan): This check can probably be removed now, but it looks
- // like overscroll elasticity may still be nullptr until VisualViewport
- // registers its layers.
- outerViewportScrollLayer
- ? static_cast<const cc_blink::WebLayerImpl*>(outerViewportScrollLayer)
- ->layer()
- : nullptr);
+ const blink::WebLayer* overscroll_elasticity_layer,
+ const blink::WebLayer* page_scale_layer,
+ const blink::WebLayer* inner_viewport_container_layer,
+ const blink::WebLayer* outer_viewport_container_layer,
+ const blink::WebLayer* inner_viewport_scroll_layer,
+ const blink::WebLayer* outer_viewport_scroll_layer) {
+ cc::LayerTreeHost::ViewportLayers viewport_layers;
+ // TODO(bokan): This check can probably be removed now, but it looks
+ // like overscroll elasticity may still be nullptr until VisualViewport
+ // registers its layers.
+ if (overscroll_elasticity_layer) {
+ viewport_layers.overscroll_elasticity =
+ static_cast<const cc_blink::WebLayerImpl*>(overscroll_elasticity_layer)
+ ->layer();
+ }
+ viewport_layers.page_scale =
+ static_cast<const cc_blink::WebLayerImpl*>(page_scale_layer)->layer();
+ if (inner_viewport_container_layer) {
+ viewport_layers.inner_viewport_container =
+ static_cast<const cc_blink::WebLayerImpl*>(
+ inner_viewport_container_layer)
+ ->layer();
+ }
+ if (outer_viewport_container_layer) {
+ viewport_layers.outer_viewport_container =
+ static_cast<const cc_blink::WebLayerImpl*>(
+ outer_viewport_container_layer)
+ ->layer();
+ }
+ viewport_layers.inner_viewport_scroll =
+ static_cast<const cc_blink::WebLayerImpl*>(inner_viewport_scroll_layer)
+ ->layer();
+ // TODO(bokan): This check can probably be removed now, but it looks
+ // like overscroll elasticity may still be nullptr until VisualViewport
+ // registers its layers.
+ if (outer_viewport_scroll_layer) {
+ viewport_layers.outer_viewport_scroll =
+ static_cast<const cc_blink::WebLayerImpl*>(outer_viewport_scroll_layer)
+ ->layer();
+ }
+ layer_tree_host_->RegisterViewportLayers(viewport_layers);
}
void RenderWidgetCompositor::ClearViewportLayers() {
- layer_tree_host_->RegisterViewportLayers(
- scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>(),
- scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>(),
- scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>());
+ layer_tree_host_->RegisterViewportLayers(cc::LayerTreeHost::ViewportLayers());
}
void RenderWidgetCompositor::RegisterSelection(

Powered by Google App Engine
This is Rietveld 408576698