| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 233 | 233 |
| 234 unsigned transformPropertyCount = 0; | 234 unsigned transformPropertyCount = 0; |
| 235 for (const auto& property : properties) { | 235 for (const auto& property : properties) { |
| 236 if (!property.isCSSProperty()) | 236 if (!property.isCSSProperty()) |
| 237 return false; | 237 return false; |
| 238 | 238 |
| 239 if (isTransformRelatedCSSProperty(property)) { | 239 if (isTransformRelatedCSSProperty(property)) { |
| 240 if (targetElement.layoutObject() && !targetElement.layoutObject()->i
sTransformApplicable()) { | 240 if (targetElement.layoutObject() && !targetElement.layoutObject()->i
sTransformApplicable()) { |
| 241 return false; | 241 return false; |
| 242 } | 242 } |
| 243 for (LayoutObject* layoutObject = targetElement.layoutObject(); layo
utObject; layoutObject = layoutObject->parent()) { |
| 244 if (layoutObject->styleRef().filter().hasReferenceFilter()) { |
| 245 return false; |
| 246 } |
| 247 } |
| 243 transformPropertyCount++; | 248 transformPropertyCount++; |
| 244 } | 249 } |
| 245 | 250 |
| 246 const PropertySpecificKeyframeVector& keyframes = keyframeEffect.getProp
ertySpecificKeyframes(property); | 251 const PropertySpecificKeyframeVector& keyframes = keyframeEffect.getProp
ertySpecificKeyframes(property); |
| 247 ASSERT(keyframes.size() >= 2); | 252 ASSERT(keyframes.size() >= 2); |
| 248 for (const auto& keyframe : keyframes) { | 253 for (const auto& keyframe : keyframes) { |
| 249 // FIXME: Determine candidacy based on the CSSValue instead of a sna
pshot AnimatableValue. | 254 // FIXME: Determine candidacy based on the CSSValue instead of a sna
pshot AnimatableValue. |
| 250 bool isNeutralKeyframe = keyframe->isCSSPropertySpecificKeyframe() &
& !toCSSPropertySpecificKeyframe(keyframe.get())->value() && keyframe->composite
() == EffectModel::CompositeAdd; | 255 bool isNeutralKeyframe = keyframe->isCSSPropertySpecificKeyframe() &
& !toCSSPropertySpecificKeyframe(keyframe.get())->value() && keyframe->composite
() == EffectModel::CompositeAdd; |
| 251 if ((keyframe->composite() != EffectModel::CompositeReplace && !isNe
utralKeyframe) || !keyframe->getAnimatableValue()) | 256 if ((keyframe->composite() != EffectModel::CompositeReplace && !isNe
utralKeyframe) || !keyframe->getAnimatableValue()) |
| 252 return false; | 257 return false; |
| (...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 576 break; | 581 break; |
| 577 default: | 582 default: |
| 578 NOTREACHED(); | 583 NOTREACHED(); |
| 579 } | 584 } |
| 580 animations.append(std::move(animation)); | 585 animations.append(std::move(animation)); |
| 581 } | 586 } |
| 582 ASSERT(!animations.isEmpty()); | 587 ASSERT(!animations.isEmpty()); |
| 583 } | 588 } |
| 584 | 589 |
| 585 } // namespace blink | 590 } // namespace blink |
| OLD | NEW |