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

Side by Side Diff: cc/layers/layer_impl.cc

Issue 1834883002: cc : Fix layer transform changed tracking bug (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 9 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
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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/layers/layer_impl.h" 5 #include "cc/layers/layer_impl.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 #include <stdint.h> 8 #include <stdint.h>
9 9
10 #include <algorithm> 10 #include <algorithm>
(...skipping 675 matching lines...) Expand 10 before | Expand all | Expand 10 after
686 if (LayerPropertyChanged()) 686 if (LayerPropertyChanged())
687 NoteLayerPropertyChanged(); 687 NoteLayerPropertyChanged();
688 for (size_t i = 0; i < children_.size(); ++i) 688 for (size_t i = 0; i < children_.size(); ++i)
689 children_[i]->PushLayerPropertyChangedForSubtreeInternal(); 689 children_[i]->PushLayerPropertyChangedForSubtreeInternal();
690 } 690 }
691 691
692 void LayerImpl::PushLayerPropertyChangedForSubtree() { 692 void LayerImpl::PushLayerPropertyChangedForSubtree() {
693 // We need to update property trees first as layer property can change 693 // We need to update property trees first as layer property can change
694 // when its corresponsing property tree node changes. 694 // when its corresponsing property tree node changes.
695 PropertyTrees* property_trees = layer_tree_impl()->property_trees(); 695 PropertyTrees* property_trees = layer_tree_impl()->property_trees();
696 EffectTree effect_tree = property_trees->effect_tree; 696 EffectTree& effect_tree = property_trees->effect_tree;
697 TransformTree transform_tree = property_trees->transform_tree; 697 TransformTree& transform_tree = property_trees->transform_tree;
698 for (int i = 1; i < static_cast<int>(effect_tree.size()); ++i) { 698 for (int i = 1; i < static_cast<int>(effect_tree.size()); ++i) {
699 EffectNode* node = effect_tree.Node(i); 699 EffectNode* node = effect_tree.Node(i);
700 EffectNode* parent_node = effect_tree.parent(node); 700 EffectNode* parent_node = effect_tree.parent(node);
701 effect_tree.UpdateEffectChanged(node, parent_node); 701 effect_tree.UpdateEffectChanged(node, parent_node);
702 } 702 }
703 for (int i = 1; i < static_cast<int>(transform_tree.size()); ++i) { 703 for (int i = 1; i < static_cast<int>(transform_tree.size()); ++i) {
704 TransformNode* node = transform_tree.Node(i); 704 TransformNode* node = transform_tree.Node(i);
705 TransformNode* parent_node = transform_tree.parent(node); 705 TransformNode* parent_node = transform_tree.parent(node);
706 TransformNode* source_node = transform_tree.Node(node->data.source_node_id); 706 TransformNode* source_node = transform_tree.Node(node->data.source_node_id);
707 transform_tree.UpdateTransformChanged(node, parent_node, source_node); 707 transform_tree.UpdateTransformChanged(node, parent_node, source_node);
(...skipping 874 matching lines...) Expand 10 before | Expand all | Expand 10 after
1582 .layer_transforms_should_scale_layer_contents) { 1582 .layer_transforms_should_scale_layer_contents) {
1583 return default_scale; 1583 return default_scale;
1584 } 1584 }
1585 1585
1586 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents( 1586 gfx::Vector2dF transform_scales = MathUtil::ComputeTransform2dScaleComponents(
1587 DrawTransform(), default_scale); 1587 DrawTransform(), default_scale);
1588 return std::max(transform_scales.x(), transform_scales.y()); 1588 return std::max(transform_scales.x(), transform_scales.y());
1589 } 1589 }
1590 1590
1591 } // namespace cc 1591 } // namespace cc
OLDNEW
« no previous file with comments | « no previous file | cc/trees/layer_tree_host_unittest.cc » ('j') | cc/trees/layer_tree_host_unittest.cc » ('J')

Powered by Google App Engine
This is Rietveld 408576698