| 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 233 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 244 !targetElement.layoutObject()->isTransformApplicable()) { | 244 !targetElement.layoutObject()->isTransformApplicable()) { |
| 245 return false; | 245 return false; |
| 246 } | 246 } |
| 247 transformPropertyCount++; | 247 transformPropertyCount++; |
| 248 } | 248 } |
| 249 | 249 |
| 250 const PropertySpecificKeyframeVector& keyframes = | 250 const PropertySpecificKeyframeVector& keyframes = |
| 251 keyframeEffect.getPropertySpecificKeyframes(property); | 251 keyframeEffect.getPropertySpecificKeyframes(property); |
| 252 DCHECK_GE(keyframes.size(), 2U); | 252 DCHECK_GE(keyframes.size(), 2U); |
| 253 for (const auto& keyframe : keyframes) { | 253 for (const auto& keyframe : keyframes) { |
| 254 // FIXME: Determine candidacy based on the CSSValue instead of a snapshot
AnimatableValue. | 254 // FIXME: Determine candidacy based on the CSSValue instead of a snapshot |
| 255 // AnimatableValue. |
| 255 bool isNeutralKeyframe = | 256 bool isNeutralKeyframe = |
| 256 keyframe->isCSSPropertySpecificKeyframe() && | 257 keyframe->isCSSPropertySpecificKeyframe() && |
| 257 !toCSSPropertySpecificKeyframe(keyframe.get())->value() && | 258 !toCSSPropertySpecificKeyframe(keyframe.get())->value() && |
| 258 keyframe->composite() == EffectModel::CompositeAdd; | 259 keyframe->composite() == EffectModel::CompositeAdd; |
| 259 if ((keyframe->composite() != EffectModel::CompositeReplace && | 260 if ((keyframe->composite() != EffectModel::CompositeReplace && |
| 260 !isNeutralKeyframe) || | 261 !isNeutralKeyframe) || |
| 261 !keyframe->getAnimatableValue()) | 262 !keyframe->getAnimatableValue()) |
| 262 return false; | 263 return false; |
| 263 | 264 |
| 264 switch (property.cssProperty()) { | 265 switch (property.cssProperty()) { |
| (...skipping 129 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 394 CompositorAnimationPlayer* compositorPlayer = animation.compositorPlayer(); | 395 CompositorAnimationPlayer* compositorPlayer = animation.compositorPlayer(); |
| 395 if (compositorPlayer) | 396 if (compositorPlayer) |
| 396 compositorPlayer->removeAnimation(id); | 397 compositorPlayer->removeAnimation(id); |
| 397 } | 398 } |
| 398 | 399 |
| 399 void CompositorAnimations::pauseAnimationForTestingOnCompositor( | 400 void CompositorAnimations::pauseAnimationForTestingOnCompositor( |
| 400 const Element& element, | 401 const Element& element, |
| 401 const Animation& animation, | 402 const Animation& animation, |
| 402 int id, | 403 int id, |
| 403 double pauseTime) { | 404 double pauseTime) { |
| 404 // FIXME: canStartAnimationOnCompositor queries compositingState, which is not
necessarily up to date. | 405 // FIXME: canStartAnimationOnCompositor queries compositingState, which is not |
| 406 // necessarily up to date. |
| 405 // https://code.google.com/p/chromium/issues/detail?id=339847 | 407 // https://code.google.com/p/chromium/issues/detail?id=339847 |
| 406 DisableCompositingQueryAsserts disabler; | 408 DisableCompositingQueryAsserts disabler; |
| 407 | 409 |
| 408 if (!canStartAnimationOnCompositor(element)) { | 410 if (!canStartAnimationOnCompositor(element)) { |
| 409 NOTREACHED(); | 411 NOTREACHED(); |
| 410 return; | 412 return; |
| 411 } | 413 } |
| 412 CompositorAnimationPlayer* compositorPlayer = animation.compositorPlayer(); | 414 CompositorAnimationPlayer* compositorPlayer = animation.compositorPlayer(); |
| 413 DCHECK(compositorPlayer); | 415 DCHECK(compositorPlayer); |
| 414 compositorPlayer->pauseAnimation(id, pauseTime); | 416 compositorPlayer->pauseAnimation(id, pauseTime); |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 618 animation->setTimeOffset(compositorTiming.scaledTimeOffset); | 620 animation->setTimeOffset(compositorTiming.scaledTimeOffset); |
| 619 animation->setDirection(compositorTiming.direction); | 621 animation->setDirection(compositorTiming.direction); |
| 620 animation->setPlaybackRate(compositorTiming.playbackRate); | 622 animation->setPlaybackRate(compositorTiming.playbackRate); |
| 621 animation->setFillMode(compositorTiming.fillMode); | 623 animation->setFillMode(compositorTiming.fillMode); |
| 622 animations.append(std::move(animation)); | 624 animations.append(std::move(animation)); |
| 623 } | 625 } |
| 624 DCHECK(!animations.isEmpty()); | 626 DCHECK(!animations.isEmpty()); |
| 625 } | 627 } |
| 626 | 628 |
| 627 } // namespace blink | 629 } // namespace blink |
| OLD | NEW |