OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |