| Index: cc/trees/draw_property_utils.cc
|
| diff --git a/cc/trees/draw_property_utils.cc b/cc/trees/draw_property_utils.cc
|
| index c7cb5631fa39c661da64b6bf634bce8a2723b3c5..afed9fefe58286506a327e21c91414bb0cedb210 100644
|
| --- a/cc/trees/draw_property_utils.cc
|
| +++ b/cc/trees/draw_property_utils.cc
|
| @@ -588,7 +588,8 @@ void ComputeVisibleRectsUsingPropertyTreesInternal(
|
| LayerType* root_layer,
|
| PropertyTrees* property_trees,
|
| bool can_render_to_separate_surface,
|
| - typename LayerType::LayerListType* update_layer_list) {
|
| + typename LayerType::LayerListType* update_layer_list,
|
| + std::vector<LayerType*>* visible_layer_list) {
|
| if (property_trees->non_root_surfaces_enabled !=
|
| can_render_to_separate_surface) {
|
| property_trees->non_root_surfaces_enabled = can_render_to_separate_surface;
|
| @@ -602,12 +603,11 @@ void ComputeVisibleRectsUsingPropertyTreesInternal(
|
| ComputeOpacities(&property_trees->effect_tree);
|
|
|
| const bool subtree_is_visible_from_ancestor = true;
|
| - std::vector<LayerType*> visible_layer_list;
|
| FindLayersThatNeedUpdates(root_layer, property_trees->transform_tree,
|
| subtree_is_visible_from_ancestor, update_layer_list,
|
| - &visible_layer_list);
|
| + visible_layer_list);
|
| CalculateVisibleRects<LayerType>(
|
| - visible_layer_list, property_trees->clip_tree,
|
| + *visible_layer_list, property_trees->clip_tree,
|
| property_trees->transform_tree, can_render_to_separate_surface);
|
| }
|
|
|
| @@ -643,32 +643,34 @@ void BuildPropertyTreesAndComputeVisibleRects(
|
| const gfx::Transform& device_transform,
|
| bool can_render_to_separate_surface,
|
| PropertyTrees* property_trees,
|
| - LayerImplList* update_layer_list) {
|
| + LayerImplList* visible_layer_list) {
|
| PropertyTreeBuilder::BuildPropertyTrees(
|
| root_layer, page_scale_layer, inner_viewport_scroll_layer,
|
| outer_viewport_scroll_layer, page_scale_factor, device_scale_factor,
|
| viewport, device_transform, property_trees);
|
| ComputeVisibleRectsUsingPropertyTrees(root_layer, property_trees,
|
| can_render_to_separate_surface,
|
| - update_layer_list);
|
| + visible_layer_list);
|
| }
|
|
|
| void ComputeVisibleRectsUsingPropertyTrees(Layer* root_layer,
|
| PropertyTrees* property_trees,
|
| bool can_render_to_separate_surface,
|
| LayerList* update_layer_list) {
|
| - ComputeVisibleRectsUsingPropertyTreesInternal(root_layer, property_trees,
|
| - can_render_to_separate_surface,
|
| - update_layer_list);
|
| + std::vector<Layer*> visible_layer_list;
|
| + ComputeVisibleRectsUsingPropertyTreesInternal(
|
| + root_layer, property_trees, can_render_to_separate_surface,
|
| + update_layer_list, &visible_layer_list);
|
| }
|
|
|
| void ComputeVisibleRectsUsingPropertyTrees(LayerImpl* root_layer,
|
| PropertyTrees* property_trees,
|
| bool can_render_to_separate_surface,
|
| - LayerImplList* update_layer_list) {
|
| - ComputeVisibleRectsUsingPropertyTreesInternal(root_layer, property_trees,
|
| - can_render_to_separate_surface,
|
| - update_layer_list);
|
| + LayerImplList* visible_layer_list) {
|
| + LayerImplList update_layer_list;
|
| + ComputeVisibleRectsUsingPropertyTreesInternal(
|
| + root_layer, property_trees, can_render_to_separate_surface,
|
| + &update_layer_list, visible_layer_list);
|
| }
|
|
|
| template <typename LayerType>
|
|
|