[Webkit-unassigned] [Bug 218011] REGRESSION (r263729): transition doesn't restart
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Oct 21 02:26:39 PDT 2020
https://bugs.webkit.org/show_bug.cgi?id=218011
--- Comment #4 from Antoine Quint <graouts at webkit.org> ---
Under the call to getAnimations(), we take this code branch:
// A CSS Transition might have completed since the last time animations were updated so we must
// update the running and completed transitions membership in that case.
if (is<CSSTransition>(animation) && matchingBackingAnimation && styleable.hasRunningTransitionsForProperty(property) && animation->playState() == WebAnimation::PlayState::Finished) {
styleable.ensureCompletedTransitionsByProperty().set(property, styleable.ensureRunningTransitionsByProperty().take(property));
animation = nullptr;
}
After this, styleable.hasRunningTransitionsForProperty(property) is false and styleable.hasCompletedTransitionsForProperty(property) is true.
Then, upon style recalc due to resetting the transition and transform styles on the target, we take this code branch:
else if (styleable.hasCompletedTransitionsForProperty(property) && !propertyInStyleMatchesValueForTransitionInMap(property, afterChangeStyle, styleable.ensureCompletedTransitionsByProperty())) {
// 2. Otherwise, if the element has a completed transition for the property and the end value of the completed transition is different from
// the after-change style for the property, then implementations must remove the completed transition from the set of completed transitions.
styleable.ensureCompletedTransitionsByProperty().remove(property);
}
After this, styleable.hasRunningTransitionsForProperty(property) and styleable.hasCompletedTransitionsForProperty(property) are both false.
However, the next time we enter AnimationTimeline::updateCSSTransitionsForStyleableAndProperty() upon attempting to restart a transition, styleable.hasRunningTransitionsForProperty(property) is false but styleable.hasCompletedTransitionsForProperty(property) is back to being true. That's the problem, there should not be a completed running transition for this property.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20201021/ab270034/attachment-0001.htm>
More information about the webkit-unassigned
mailing list