author | Brian Birtles <birtles@gmail.com> |
Fri, 07 Aug 2015 12:29:36 +0900 | |
changeset 256753 | 766cbaaa78792f400079900ab1b31b02adcd6026 |
parent 256752 | 5448e9a763c47f2460ffa414ebd3e856c7e3a549 |
child 256754 | c105cadd52e2ba00b5b87718a59c7da7eeb459df |
push id | 29187 |
push user | cbook@mozilla.com |
push date | Fri, 07 Aug 2015 11:13:32 +0000 |
treeherder | mozilla-central@3e51753a099f [default view] [failures only] |
perfherder | [talos] [build metrics] [platform microbench] (compared to previous push) |
reviewers | dbaron |
bugs | 1181392 |
milestone | 42.0a1 |
first release with | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
last release without | nightly linux32
nightly linux64
nightly mac
nightly win32
nightly win64
|
--- a/layout/style/nsTransitionManager.cpp +++ b/layout/style/nsTransitionManager.cpp @@ -565,17 +565,17 @@ nsTransitionManager::ConsiderStartingTra "Should have one animation property segment for a transition"); if (haveCurrentTransition && haveValues && oldPT->Properties()[0].mSegments[0].mToValue == endValue) { // GetAnimationRule already called RestyleForAnimation. return; } if (!shouldAnimate) { - if (haveCurrentTransition && !oldPT->IsFinishedTransition()) { + if (haveCurrentTransition) { // We're in the middle of a transition, and just got a non-transition // style change to something that we can't animate. This might happen // because we got a non-transition style change changing to the current // in-progress value (which is particularly easy to cause when we're // currently in the 'transition-delay'). It also might happen because we // just got a style change to a value that can't be interpolated. AnimationPtrArray& animations = aElementTransitions->mAnimations; animations[currentIndex]->CancelFromStyle(); @@ -602,17 +602,17 @@ nsTransitionManager::ConsiderStartingTra } StyleAnimationValue startForReversingTest = startValue; double reversePortion = 1.0; // If the new transition reverses an existing one, we'll need to // handle the timing differently. if (haveCurrentTransition && - !oldPT->IsFinishedTransition() && + aElementTransitions->mAnimations[currentIndex]->HasCurrentEffect() && oldPT->mStartForReversingTest == endValue) { // Compute the appropriate negative transition-delay such that right // now we'd end up at the current position. double valuePortion = oldPT->CurrentValuePortion() * oldPT->mReversePortion + (1.0 - oldPT->mReversePortion); // A timing function with negative y1 (or y2!) might make // valuePortion negative. In this case, we still want to apply our