| Index: cc/trees/property_tree.cc
|
| diff --git a/cc/trees/property_tree.cc b/cc/trees/property_tree.cc
|
| index 58555f3017b82eb528340bcacb9510666308cfaf..2a3ab10f6317411f0144f7f4e3ecf52dbbd3cfba 100644
|
| --- a/cc/trees/property_tree.cc
|
| +++ b/cc/trees/property_tree.cc
|
| @@ -784,6 +784,19 @@ float EffectTree::EffectiveOpacity(const EffectNode* node) const {
|
| return node->subtree_hidden ? 0.f : node->opacity;
|
| }
|
|
|
| +void EffectTree::UpdateClosestAncestorWithCopyRequestId(
|
| + EffectNode* node,
|
| + EffectNode* parent_node) {
|
| + if (node->has_copy_request)
|
| + node->closest_ancestor_with_copy_request_id = node->id;
|
| + else if (parent_node)
|
| + node->closest_ancestor_with_copy_request_id =
|
| + parent_node->closest_ancestor_with_copy_request_id;
|
| + else
|
| + DCHECK_EQ(node->closest_ancestor_with_copy_request_id,
|
| + EffectTree::kInvalidNodeId);
|
| +}
|
| +
|
| void EffectTree::UpdateOpacities(EffectNode* node, EffectNode* parent_node) {
|
| node->screen_space_opacity = EffectiveOpacity(node);
|
|
|
| @@ -896,6 +909,7 @@ void EffectTree::UpdateEffects(int id) {
|
| EffectNode* node = Node(id);
|
| EffectNode* parent_node = parent(node);
|
|
|
| + UpdateClosestAncestorWithCopyRequestId(node, parent_node);
|
| UpdateOpacities(node, parent_node);
|
| UpdateIsDrawn(node, parent_node);
|
| UpdateEffectChanged(node, parent_node);
|
| @@ -986,22 +1000,6 @@ void EffectTree::ClearCopyRequests() {
|
| set_needs_update(true);
|
| }
|
|
|
| -int EffectTree::ClosestAncestorWithCopyRequest(int id) const {
|
| - DCHECK_GE(id, EffectTree::kRootNodeId);
|
| - const EffectNode* node = Node(id);
|
| - while (node->id > EffectTree::kContentsRootNodeId) {
|
| - if (node->has_copy_request)
|
| - return node->id;
|
| -
|
| - node = parent(node);
|
| - }
|
| -
|
| - if (node->has_copy_request)
|
| - return node->id;
|
| - else
|
| - return EffectTree::kInvalidNodeId;
|
| -}
|
| -
|
| int EffectTree::LowestCommonAncestorWithRenderSurface(int id_1,
|
| int id_2) const {
|
| DCHECK(GetRenderSurface(id_1));
|
|
|