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

Side by Side Diff: cc/trees/property_tree_builder.cc

Issue 2690753002: cc: Move render surface ownership from layers to the effect tree (Closed)
Patch Set: Only update surfaces when can_render_to_separate_surface changes Created 3 years, 10 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
« no previous file with comments | « cc/trees/property_tree.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/property_tree_builder.h" 5 #include "cc/trees/property_tree_builder.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 #include <set> 10 #include <set>
(...skipping 1518 matching lines...) Expand 10 before | Expand all | Expand 10 after
1529 const LayerImpl* page_scale_layer, 1529 const LayerImpl* page_scale_layer,
1530 const LayerImpl* inner_viewport_scroll_layer, 1530 const LayerImpl* inner_viewport_scroll_layer,
1531 const LayerImpl* outer_viewport_scroll_layer, 1531 const LayerImpl* outer_viewport_scroll_layer,
1532 const LayerImpl* overscroll_elasticity_layer, 1532 const LayerImpl* overscroll_elasticity_layer,
1533 const gfx::Vector2dF& elastic_overscroll, 1533 const gfx::Vector2dF& elastic_overscroll,
1534 float page_scale_factor, 1534 float page_scale_factor,
1535 float device_scale_factor, 1535 float device_scale_factor,
1536 const gfx::Rect& viewport, 1536 const gfx::Rect& viewport,
1537 const gfx::Transform& device_transform, 1537 const gfx::Transform& device_transform,
1538 PropertyTrees* property_trees) { 1538 PropertyTrees* property_trees) {
1539 // Preserve render surfaces when rebuilding.
1540 std::vector<std::unique_ptr<RenderSurfaceImpl>> render_surfaces;
1541 property_trees->effect_tree.TakeRenderSurfaces(&render_surfaces);
1539 property_trees->is_main_thread = false; 1542 property_trees->is_main_thread = false;
1540 property_trees->is_active = root_layer->IsActive(); 1543 property_trees->is_active = root_layer->IsActive();
1541 SkColor color = root_layer->layer_tree_impl()->background_color(); 1544 SkColor color = root_layer->layer_tree_impl()->background_color();
1542 if (SkColorGetA(color) != 255) 1545 if (SkColorGetA(color) != 255)
1543 color = SkColorSetA(color, 255); 1546 color = SkColorSetA(color, 255);
1544 BuildPropertyTreesTopLevelInternal( 1547 BuildPropertyTreesTopLevelInternal(
1545 root_layer, page_scale_layer, inner_viewport_scroll_layer, 1548 root_layer, page_scale_layer, inner_viewport_scroll_layer,
1546 outer_viewport_scroll_layer, overscroll_elasticity_layer, 1549 outer_viewport_scroll_layer, overscroll_elasticity_layer,
1547 elastic_overscroll, page_scale_factor, device_scale_factor, viewport, 1550 elastic_overscroll, page_scale_factor, device_scale_factor, viewport,
1548 device_transform, property_trees, color); 1551 device_transform, property_trees, color);
1552 property_trees->effect_tree.CreateOrReuseRenderSurfaces(
1553 &render_surfaces, root_layer->layer_tree_impl());
1549 property_trees->ResetCachedData(); 1554 property_trees->ResetCachedData();
1550 } 1555 }
1551 1556
1552 } // namespace cc 1557 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/property_tree.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698