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

Side by Side 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 unified diff | Download patch
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/renderer/gpu/render_widget_compositor.h" 5 #include "content/renderer/gpu/render_widget_compositor.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <cmath> 9 #include <cmath>
10 #include <limits> 10 #include <limits>
(...skipping 761 matching lines...) Expand 10 before | Expand all | Expand 10 after
772 772
773 void RenderWidgetCompositor::SetNeedsBeginFrame() { 773 void RenderWidgetCompositor::SetNeedsBeginFrame() {
774 layer_tree_host_->SetNeedsAnimate(); 774 layer_tree_host_->SetNeedsAnimate();
775 } 775 }
776 776
777 void RenderWidgetCompositor::DidStopFlinging() { 777 void RenderWidgetCompositor::DidStopFlinging() {
778 layer_tree_host_->DidStopFlinging(); 778 layer_tree_host_->DidStopFlinging();
779 } 779 }
780 780
781 void RenderWidgetCompositor::RegisterViewportLayers( 781 void RenderWidgetCompositor::RegisterViewportLayers(
782 const blink::WebLayer* overscrollElasticityLayer, 782 const blink::WebLayer* overscroll_elasticity_layer,
783 const blink::WebLayer* pageScaleLayer, 783 const blink::WebLayer* page_scale_layer,
784 const blink::WebLayer* innerViewportContainerLayer, 784 const blink::WebLayer* inner_viewport_container_layer,
785 const blink::WebLayer* outerViewportContainerLayer, 785 const blink::WebLayer* outer_viewport_container_layer,
786 const blink::WebLayer* innerViewportScrollLayer, 786 const blink::WebLayer* inner_viewport_scroll_layer,
787 const blink::WebLayer* outerViewportScrollLayer) { 787 const blink::WebLayer* outer_viewport_scroll_layer) {
788 layer_tree_host_->RegisterViewportLayers( 788 cc::LayerTreeHost::ViewportLayers viewport_layers;
789 // TODO(bokan): This check can probably be removed now, but it looks 789 // TODO(bokan): This check can probably be removed now, but it looks
790 // like overscroll elasticity may still be nullptr until VisualViewport 790 // like overscroll elasticity may still be nullptr until VisualViewport
791 // registers its layers. 791 // registers its layers.
792 overscrollElasticityLayer ? static_cast<const cc_blink::WebLayerImpl*>( 792 if (overscroll_elasticity_layer) {
793 overscrollElasticityLayer) 793 viewport_layers.overscroll_elasticity =
794 ->layer() 794 static_cast<const cc_blink::WebLayerImpl*>(overscroll_elasticity_layer)
795 : nullptr, 795 ->layer();
796 static_cast<const cc_blink::WebLayerImpl*>(pageScaleLayer)->layer(), 796 }
797 innerViewportContainerLayer ? static_cast<const cc_blink::WebLayerImpl*>( 797 viewport_layers.page_scale =
798 innerViewportContainerLayer) 798 static_cast<const cc_blink::WebLayerImpl*>(page_scale_layer)->layer();
799 ->layer() 799 if (inner_viewport_container_layer) {
800 : nullptr, 800 viewport_layers.inner_viewport_container =
801 outerViewportContainerLayer ? static_cast<const cc_blink::WebLayerImpl*>( 801 static_cast<const cc_blink::WebLayerImpl*>(
802 outerViewportContainerLayer) 802 inner_viewport_container_layer)
803 ->layer() 803 ->layer();
804 : nullptr, 804 }
805 static_cast<const cc_blink::WebLayerImpl*>(innerViewportScrollLayer) 805 if (outer_viewport_container_layer) {
806 ->layer(), 806 viewport_layers.outer_viewport_container =
807 // TODO(bokan): This check can probably be removed now, but it looks 807 static_cast<const cc_blink::WebLayerImpl*>(
808 // like overscroll elasticity may still be nullptr until VisualViewport 808 outer_viewport_container_layer)
809 // registers its layers. 809 ->layer();
810 outerViewportScrollLayer 810 }
811 ? static_cast<const cc_blink::WebLayerImpl*>(outerViewportScrollLayer) 811 viewport_layers.inner_viewport_scroll =
812 ->layer() 812 static_cast<const cc_blink::WebLayerImpl*>(inner_viewport_scroll_layer)
813 : nullptr); 813 ->layer();
814 // TODO(bokan): This check can probably be removed now, but it looks
815 // like overscroll elasticity may still be nullptr until VisualViewport
816 // registers its layers.
817 if (outer_viewport_scroll_layer) {
818 viewport_layers.outer_viewport_scroll =
819 static_cast<const cc_blink::WebLayerImpl*>(outer_viewport_scroll_layer)
820 ->layer();
821 }
822 layer_tree_host_->RegisterViewportLayers(viewport_layers);
814 } 823 }
815 824
816 void RenderWidgetCompositor::ClearViewportLayers() { 825 void RenderWidgetCompositor::ClearViewportLayers() {
817 layer_tree_host_->RegisterViewportLayers( 826 layer_tree_host_->RegisterViewportLayers(cc::LayerTreeHost::ViewportLayers());
818 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>(),
819 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>(),
820 scoped_refptr<cc::Layer>(), scoped_refptr<cc::Layer>());
821 } 827 }
822 828
823 void RenderWidgetCompositor::RegisterSelection( 829 void RenderWidgetCompositor::RegisterSelection(
824 const blink::WebSelection& selection) { 830 const blink::WebSelection& selection) {
825 layer_tree_host_->RegisterSelection(ConvertWebSelection(selection)); 831 layer_tree_host_->RegisterSelection(ConvertWebSelection(selection));
826 } 832 }
827 833
828 void RenderWidgetCompositor::ClearSelection() { 834 void RenderWidgetCompositor::ClearSelection() {
829 cc::LayerSelection empty_selection; 835 cc::LayerSelection empty_selection;
830 layer_tree_host_->RegisterSelection(empty_selection); 836 layer_tree_host_->RegisterSelection(empty_selection);
(...skipping 394 matching lines...) Expand 10 before | Expand all | Expand 10 after
1225 const cc::LocalSurfaceId& local_surface_id) { 1231 const cc::LocalSurfaceId& local_surface_id) {
1226 layer_tree_host_->SetLocalSurfaceId(local_surface_id); 1232 layer_tree_host_->SetLocalSurfaceId(local_surface_id);
1227 } 1233 }
1228 1234
1229 void RenderWidgetCompositor::NotifySwapTime(ReportTimeCallback callback) { 1235 void RenderWidgetCompositor::NotifySwapTime(ReportTimeCallback callback) {
1230 QueueSwapPromise(base::MakeUnique<ReportTimeSwapPromise>( 1236 QueueSwapPromise(base::MakeUnique<ReportTimeSwapPromise>(
1231 std::move(callback), base::ThreadTaskRunnerHandle::Get())); 1237 std::move(callback), base::ThreadTaskRunnerHandle::Get()));
1232 } 1238 }
1233 1239
1234 } // namespace content 1240 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698