| OLD | NEW |
| 1 // Copyright 2011 The Chromium Authors. All rights reserved. | 1 // Copyright 2011 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 "cc/trees/layer_tree_host_common.h" | 5 #include "cc/trees/layer_tree_host_common.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/trace_event/trace_event.h" | 9 #include "base/trace_event/trace_event.h" |
| 10 #include "cc/base/math_util.h" | 10 #include "cc/base/math_util.h" |
| (...skipping 2677 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2688 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2688 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
| 2689 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); | 2689 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); |
| 2690 } | 2690 } |
| 2691 | 2691 |
| 2692 BuildPropertyTreesAndComputeVisibleRects( | 2692 BuildPropertyTreesAndComputeVisibleRects( |
| 2693 inputs->root_layer, inputs->page_scale_layer, | 2693 inputs->root_layer, inputs->page_scale_layer, |
| 2694 inputs->inner_viewport_scroll_layer, | 2694 inputs->inner_viewport_scroll_layer, |
| 2695 inputs->outer_viewport_scroll_layer, inputs->page_scale_factor, | 2695 inputs->outer_viewport_scroll_layer, inputs->page_scale_factor, |
| 2696 inputs->device_scale_factor, | 2696 inputs->device_scale_factor, |
| 2697 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, | 2697 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, |
| 2698 inputs->property_trees, &update_layer_list); | 2698 inputs->can_render_to_separate_surface, inputs->property_trees, |
| 2699 &update_layer_list); |
| 2699 | 2700 |
| 2700 if (should_measure_property_tree_performance) { | 2701 if (should_measure_property_tree_performance) { |
| 2701 TRACE_EVENT_END0( | 2702 TRACE_EVENT_END0( |
| 2702 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2703 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
| 2703 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); | 2704 "LayerTreeHostCommon::ComputeVisibleRectsWithPropertyTrees"); |
| 2704 } | 2705 } |
| 2705 | 2706 |
| 2706 break; | 2707 break; |
| 2707 } | 2708 } |
| 2708 case DONT_BUILD_PROPERTY_TREES: { | 2709 case DONT_BUILD_PROPERTY_TREES: { |
| 2709 TRACE_EVENT0( | 2710 TRACE_EVENT0( |
| 2710 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2711 TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
| 2711 "LayerTreeHostCommon::ComputeJustVisibleRectsWithPropertyTrees"); | 2712 "LayerTreeHostCommon::ComputeJustVisibleRectsWithPropertyTrees"); |
| 2712 // Since page scale is a SyncedProperty, changes to page scale on the | 2713 // Since page scale is a SyncedProperty, changes to page scale on the |
| 2713 // active tree immediately affect the pending tree, so instead of | 2714 // active tree immediately affect the pending tree, so instead of |
| 2714 // trying to update property trees whenever page scale changes, we | 2715 // trying to update property trees whenever page scale changes, we |
| 2715 // update their page scale before using them. | 2716 // update their page scale before using them. |
| 2716 UpdatePageScaleFactorInPropertyTrees( | 2717 UpdatePageScaleFactorInPropertyTrees( |
| 2717 inputs->property_trees, inputs->page_scale_layer, | 2718 inputs->property_trees, inputs->page_scale_layer, |
| 2718 inputs->page_scale_factor, inputs->device_scale_factor, | 2719 inputs->page_scale_factor, inputs->device_scale_factor, |
| 2719 inputs->device_transform); | 2720 inputs->device_transform); |
| 2720 ComputeVisibleRectsUsingPropertyTrees( | 2721 ComputeVisibleRectsUsingPropertyTrees( |
| 2721 inputs->root_layer, inputs->property_trees, &update_layer_list); | 2722 inputs->root_layer, inputs->property_trees, |
| 2723 inputs->can_render_to_separate_surface, &update_layer_list); |
| 2722 break; | 2724 break; |
| 2723 } | 2725 } |
| 2724 } | 2726 } |
| 2725 } | 2727 } |
| 2726 | 2728 |
| 2727 if (should_measure_property_tree_performance) { | 2729 if (should_measure_property_tree_performance) { |
| 2728 TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), | 2730 TRACE_EVENT_BEGIN0(TRACE_DISABLED_BY_DEFAULT("cc.debug.cdp-perf"), |
| 2729 "LayerTreeHostCommon::CalculateDrawProperties"); | 2731 "LayerTreeHostCommon::CalculateDrawProperties"); |
| 2730 } | 2732 } |
| 2731 | 2733 |
| (...skipping 23 matching lines...) Expand all Loading... |
| 2755 bool can_render_to_separate_surface = true; | 2757 bool can_render_to_separate_surface = true; |
| 2756 UpdateRenderSurfaces(inputs->root_layer, can_render_to_separate_surface, | 2758 UpdateRenderSurfaces(inputs->root_layer, can_render_to_separate_surface, |
| 2757 gfx::Transform(), false); | 2759 gfx::Transform(), false); |
| 2758 PropertyTrees* property_trees = | 2760 PropertyTrees* property_trees = |
| 2759 inputs->root_layer->layer_tree_host()->property_trees(); | 2761 inputs->root_layer->layer_tree_host()->property_trees(); |
| 2760 BuildPropertyTreesAndComputeVisibleRects( | 2762 BuildPropertyTreesAndComputeVisibleRects( |
| 2761 inputs->root_layer, inputs->page_scale_layer, | 2763 inputs->root_layer, inputs->page_scale_layer, |
| 2762 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, | 2764 inputs->inner_viewport_scroll_layer, inputs->outer_viewport_scroll_layer, |
| 2763 inputs->page_scale_factor, inputs->device_scale_factor, | 2765 inputs->page_scale_factor, inputs->device_scale_factor, |
| 2764 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, | 2766 gfx::Rect(inputs->device_viewport_size), inputs->device_transform, |
| 2765 property_trees, &update_layer_list); | 2767 can_render_to_separate_surface, property_trees, &update_layer_list); |
| 2766 } | 2768 } |
| 2767 | 2769 |
| 2768 void LayerTreeHostCommon::CalculateDrawProperties( | 2770 void LayerTreeHostCommon::CalculateDrawProperties( |
| 2769 CalcDrawPropsImplInputs* inputs) { | 2771 CalcDrawPropsImplInputs* inputs) { |
| 2770 CalculateDrawPropertiesAndVerify(inputs, DONT_BUILD_PROPERTY_TREES); | 2772 CalculateDrawPropertiesAndVerify(inputs, DONT_BUILD_PROPERTY_TREES); |
| 2771 } | 2773 } |
| 2772 | 2774 |
| 2773 void LayerTreeHostCommon::CalculateDrawProperties( | 2775 void LayerTreeHostCommon::CalculateDrawProperties( |
| 2774 CalcDrawPropsImplInputsForTesting* inputs) { | 2776 CalcDrawPropsImplInputsForTesting* inputs) { |
| 2775 CalculateDrawPropertiesAndVerify(inputs, BUILD_PROPERTY_TREES_IF_NEEDED); | 2777 CalculateDrawPropertiesAndVerify(inputs, BUILD_PROPERTY_TREES_IF_NEEDED); |
| 2776 } | 2778 } |
| 2777 | 2779 |
| 2778 PropertyTrees* GetPropertyTrees(Layer* layer) { | 2780 PropertyTrees* GetPropertyTrees(Layer* layer) { |
| 2779 return layer->layer_tree_host()->property_trees(); | 2781 return layer->layer_tree_host()->property_trees(); |
| 2780 } | 2782 } |
| 2781 | 2783 |
| 2782 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { | 2784 PropertyTrees* GetPropertyTrees(LayerImpl* layer) { |
| 2783 return layer->layer_tree_impl()->property_trees(); | 2785 return layer->layer_tree_impl()->property_trees(); |
| 2784 } | 2786 } |
| 2785 | 2787 |
| 2786 } // namespace cc | 2788 } // namespace cc |
| OLD | NEW |