Index: ui/compositor/layer_animation_sequence.cc |
diff --git a/ui/compositor/layer_animation_sequence.cc b/ui/compositor/layer_animation_sequence.cc |
index d0408e0d9d325e3a9b935380417cd155e8e99b83..688320f20679fe7fa47d9cec95a030b79d70cd75 100644 |
--- a/ui/compositor/layer_animation_sequence.cc |
+++ b/ui/compositor/layer_animation_sequence.cc |
@@ -173,7 +173,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( |
@@ -181,7 +181,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 { |