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

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

Issue 1948163002: cc: Ensure damage in property tree nodes gets propagated to descendants (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 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
« no previous file with comments | « cc/trees/layer_tree_host_unittest.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 <stddef.h> 5 #include <stddef.h>
6 6
7 #include <set> 7 #include <set>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 1925 matching lines...) Expand 10 before | Expand all | Expand 10 after
1936 target_node->data.effect_changed = true; 1936 target_node->data.effect_changed = true;
1937 } 1937 }
1938 } 1938 }
1939 for (int id = 1; id < static_cast<int>(transform_tree.size()); ++id) { 1939 for (int id = 1; id < static_cast<int>(transform_tree.size()); ++id) {
1940 TransformNode* node = transform_tree.Node(id); 1940 TransformNode* node = transform_tree.Node(id);
1941 if (node->data.transform_changed) { 1941 if (node->data.transform_changed) {
1942 TransformNode* target_node = tree->transform_tree.Node(node->id); 1942 TransformNode* target_node = tree->transform_tree.Node(node->id);
1943 target_node->data.transform_changed = true; 1943 target_node->data.transform_changed = true;
1944 } 1944 }
1945 } 1945 }
1946 // Ensure that change tracking is updated even if property trees don't have
1947 // other reasons to get updated.
1948 tree->UpdateChangeTracking();
1946 tree->full_tree_damaged = full_tree_damaged; 1949 tree->full_tree_damaged = full_tree_damaged;
1947 } 1950 }
1948 1951
1949 void PropertyTrees::ResetAllChangeTracking(ResetFlags flag) { 1952 void PropertyTrees::ResetAllChangeTracking(ResetFlags flag) {
1950 switch (flag) { 1953 switch (flag) {
1951 case EFFECT_TREE: 1954 case EFFECT_TREE:
1952 effect_tree.ResetChangeTracking(); 1955 effect_tree.ResetChangeTracking();
1953 break; 1956 break;
1954 case TRANSFORM_TREE: 1957 case TRANSFORM_TREE:
1955 transform_tree.ResetChangeTracking(); 1958 transform_tree.ResetChangeTracking();
1956 break; 1959 break;
1957 case ALL_TREES: 1960 case ALL_TREES:
1958 transform_tree.ResetChangeTracking(); 1961 transform_tree.ResetChangeTracking();
1959 effect_tree.ResetChangeTracking(); 1962 effect_tree.ResetChangeTracking();
1960 } 1963 }
1961 changed = false; 1964 changed = false;
1962 full_tree_damaged = false; 1965 full_tree_damaged = false;
1963 } 1966 }
1964 1967
1965 } // namespace cc 1968 } // namespace cc
OLDNEW
« no previous file with comments | « cc/trees/layer_tree_host_unittest.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698