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( |