Index: ui/compositor/layer_animation_sequence.cc |
diff --git a/ui/compositor/layer_animation_sequence.cc b/ui/compositor/layer_animation_sequence.cc |
index a8f4d1cee22f2a40238ffbd49a8e86b164023107..8414f4289168cdc073a769cd3fa4461a4e7b4ad9 100644 |
--- a/ui/compositor/layer_animation_sequence.cc |
+++ b/ui/compositor/layer_animation_sequence.cc |
@@ -175,7 +175,7 @@ void LayerAnimationSequence::AddElement(LayerAnimationElement* element) { |
elements_.push_back(make_linked_ptr(element)); |
} |
-bool LayerAnimationSequence::HasCommonProperty( |
+bool LayerAnimationSequence::HasConflictingProperty( |
const LayerAnimationElement::AnimatableProperties& other) const { |
LayerAnimationElement::AnimatableProperties intersection; |
std::insert_iterator<LayerAnimationElement::AnimatableProperties> ii( |
@@ -183,7 +183,18 @@ bool LayerAnimationSequence::HasCommonProperty( |
std::set_intersection(properties_.begin(), properties_.end(), |
other.begin(), other.end(), |
ii); |
- return intersection.size() > 0; |
+ if (intersection.size() > 0) |
+ return true; |
+ |
+ if (properties_.find(LayerAnimationElement::TRANSFORM) != properties_.end() && |
+ other.find(LayerAnimationElement::BOUNDS) != other.end()) |
+ return true; |
+ |
+ if (properties_.find(LayerAnimationElement::BOUNDS) != properties_.end() && |
+ other.find(LayerAnimationElement::TRANSFORM) != other.end()) |
+ return true; |
+ |
+ return false; |
} |
bool LayerAnimationSequence::IsFirstElementThreaded() const { |