Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2007, 2008, 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2007, 2008, 2009 Apple 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 | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * | 7 * |
| 8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. 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 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
| (...skipping 445 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 456 if (m_animation->iterationCount() != CSSAnimationData::IterationCountInfinit e && !iterationCountHasFractional) | 456 if (m_animation->iterationCount() != CSSAnimationData::IterationCountInfinit e && !iterationCountHasFractional) |
| 457 integralTime = min(integralTime, integralIterationCount - 1); | 457 integralTime = min(integralTime, integralIterationCount - 1); |
| 458 | 458 |
| 459 fractionalTime -= integralTime; | 459 fractionalTime -= integralTime; |
| 460 | 460 |
| 461 if (((m_animation->direction() == CSSAnimationData::AnimationDirectionAltern ate) && (integralTime & 1)) | 461 if (((m_animation->direction() == CSSAnimationData::AnimationDirectionAltern ate) && (integralTime & 1)) |
| 462 || ((m_animation->direction() == CSSAnimationData::AnimationDirectionAlt ernateReverse) && !(integralTime & 1)) | 462 || ((m_animation->direction() == CSSAnimationData::AnimationDirectionAlt ernateReverse) && !(integralTime & 1)) |
| 463 || m_animation->direction() == CSSAnimationData::AnimationDirectionRever se) | 463 || m_animation->direction() == CSSAnimationData::AnimationDirectionRever se) |
| 464 fractionalTime = 1 - fractionalTime; | 464 fractionalTime = 1 - fractionalTime; |
| 465 | 465 |
| 466 if (scale != 1 || offset) | 466 if (offset) |
|
dstockwell
2013/09/10 22:19:42
I had a hard time understanding that the special c
Steve Block
2013/09/11 00:11:52
I guess I don't see scale == infinity as a special
| |
| 467 fractionalTime = (fractionalTime - offset) * scale; | 467 fractionalTime -= offset; |
| 468 if (scale != 1.0 && fractionalTime) { | |
| 469 ASSERT(scale >= 0 && !std::isinf(scale)); | |
| 470 fractionalTime *= scale; | |
| 471 } | |
| 468 | 472 |
| 473 ASSERT(fractionalTime >= 0 && fractionalTime <= 1); | |
| 469 return fractionalTime; | 474 return fractionalTime; |
| 470 } | 475 } |
| 471 | 476 |
| 472 double AnimationBase::progress(double scale, double offset, const TimingFunction * timingFunction) const | 477 double AnimationBase::progress(double scale, double offset, const TimingFunction * timingFunction) const |
| 473 { | 478 { |
| 474 if (preActive()) | 479 if (preActive()) |
| 475 return 0; | 480 return 0; |
| 476 | 481 |
| 477 double dur = m_animation->duration(); | 482 double dur = m_animation->duration(); |
| 478 if (m_animation->iterationCount() > 0) | 483 if (m_animation->iterationCount() > 0) |
| (...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 572 return 0; | 577 return 0; |
| 573 | 578 |
| 574 double elapsedTime = beginAnimationUpdateTime() - m_startTime; | 579 double elapsedTime = beginAnimationUpdateTime() - m_startTime; |
| 575 // It's possible for the start time to be ahead of the last update time | 580 // It's possible for the start time to be ahead of the last update time |
| 576 // if the compositor has just sent notification for the start of an | 581 // if the compositor has just sent notification for the start of an |
| 577 // accelerated animation. | 582 // accelerated animation. |
| 578 return max(elapsedTime, 0.0); | 583 return max(elapsedTime, 0.0); |
| 579 } | 584 } |
| 580 | 585 |
| 581 } // namespace WebCore | 586 } // namespace WebCore |
| OLD | NEW |