[Webkit-unassigned] [Bug 173302] REGRESSION (r217997): mint.com header renders incorrectly when initially loaded

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Jun 13 13:13:28 PDT 2017


https://bugs.webkit.org/show_bug.cgi?id=173302

--- Comment #5 from Chris Dumez <cdumez at apple.com> ---
(In reply to Chris Dumez from comment #4)
> Better logging:
> Created ImplicitAnimation 0x1139bcc60 on renderer 0x112d09528 for property
> background-color duration 0.40 delay 0.00
> Created ImplicitAnimation 0x1139bccf0 on renderer 0x112d09528 for property
> border-bottom-color duration 0.40 delay 0.00
> 0x1139bcc60 AnimationState New -> AnimationState::PausedNew
> 0x1139bccf0 AnimationState New -> AnimationState::PausedNew
> Created ImplicitAnimation 0x1139bc360 on renderer 0x112f68738 for property
> color duration 0.25 delay 0.00
> 0x1139bc360 AnimationState New -> AnimationState::PausedNew
> 0x1139bcc60 AnimationState PausedNew -> PausedWaitResponse
> 0x1139bccf0 AnimationState PausedNew -> PausedWaitResponse
> 0x1139bc360 AnimationState PausedNew -> PausedWaitResponse
> CompositeAnimation::resumeAnimations() 2 transitions
> -> Transition 0x1139bcc60, hasStyle? 1
> 0x1139bcc60 - AnimationBase::updatePlayState(0) returns early, pause: 0,
> paused(): 0, isNew: 0
> -> Transition 0x1139bccf0, hasStyle? 1
> 0x1139bccf0 - AnimationBase::updatePlayState(0) returns early, pause: 0,
> paused(): 0, isNew: 0
> CompositeAnimation::resumeAnimations() 1 transitions
> -> Transition 0x1139bc360, hasStyle? 1
> 0x1139bc360 - AnimationBase::updatePlayState(0) returns early, pause: 0,
> paused(): 0, isNew: 0
> 
> 
> It looks like something at some point caused those ImplicitAnimations to
> switch from state PausedNew to PausedWaitResponse. As a result, when we
> later resume animations and call
> AnimationBase::updatePlayState(AnimPlayStatePlaying), that method returns
> early and fails to start the animation because of this check in
> updatePlayState():
> 
>     if (pause == paused() && !isNew()) {
>         WTFLogAlways("%p - AnimationBase::updatePlayState(%d) returns early,
> pause: %d, paused(): %d, isNew: %d", this, static_cast<int>(playState),
> pause, paused(), isNew());
>         return;
>     }

Updating that if condition to use:
    if (pause == inPausedState() && !isNew()) {

fixes the issue. Simon, do you know if this is the best way to fix this? All these various paused states on AnimationBase are very confusing for me :/

-- 
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/20170613/b47e9bd4/attachment.html>


More information about the webkit-unassigned mailing list