Bug 164350 - REGRESSION (r208025) GraphicsContext state stack assertions loading webkit.org
Summary: REGRESSION (r208025) GraphicsContext state stack assertions loading webkit.org
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: New Bugs (show other bugs)
Version: WebKit Nightly Build
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Simon Fraser (smfr)
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2016-11-02 16:52 PDT by Simon Fraser (smfr)
Modified: 2016-11-02 19:47 PDT (History)
7 users (show)

See Also:


Attachments
Patch (17.82 KB, patch)
2016-11-02 16:58 PDT, Simon Fraser (smfr)
dino: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Simon Fraser (smfr) 2016-11-02 16:52:40 PDT
REGRESSION (r208025) GraphicsContext state stack assertions loading webkit.org
Comment 1 Simon Fraser (smfr) 2016-11-02 16:58:57 PDT
Created attachment 293719 [details]
Patch
Comment 2 Dean Jackson 2016-11-02 17:03:57 PDT
Comment on attachment 293719 [details]
Patch

View in context: https://bugs.webkit.org/attachment.cgi?id=293719&action=review

> Source/WebCore/ChangeLog:10
> +        This confused the RenderLayer paintWithTransparency code, triggering mismsatched GrpahicsContext

typo graphics

> Source/WebCore/ChangeLog:17
> +        Rather than depend on the super confusing animation state, use a bool out param from animate() to say

Nit: super-confusing :)

> Source/WebCore/ChangeLog:26
> +        (WebCore::CSSPropertyAnimation::blendProperties): Log after blending so the log shows the blended style.

Haha.

> Source/WebCore/page/animation/CompositeAnimation.cpp:336
> -            bool runningOrFillingForwards = !keyframeAnim->waitingToStart() && !keyframeAnim->postActive();
> -            forceStackingContext |= runningOrFillingForwards && keyframeAnim->triggersStackingContext();
> +            forceStackingContext |= didBlendStyle && keyframeAnim->triggersStackingContext();

Are you sure that didBlendStyle covers !keyframeAnim->waitingToStart() && !keyframeAnim->postActive()?
Comment 3 Simon Fraser (smfr) 2016-11-02 17:06:59 PDT
(In reply to comment #2)

> > Source/WebCore/page/animation/CompositeAnimation.cpp:336
> > -            bool runningOrFillingForwards = !keyframeAnim->waitingToStart() && !keyframeAnim->postActive();
> > -            forceStackingContext |= runningOrFillingForwards && keyframeAnim->triggersStackingContext();
> > +            forceStackingContext |= didBlendStyle && keyframeAnim->triggersStackingContext();
> 
> Are you sure that didBlendStyle covers !keyframeAnim->waitingToStart() &&
> !keyframeAnim->postActive()?

Yes, because animate() only sets it to true when it produces new style.
Comment 4 Simon Fraser (smfr) 2016-11-02 17:23:19 PDT
https://trac.webkit.org/r208314
Comment 5 Simon Fraser (smfr) 2016-11-02 19:47:28 PDT
Followup to fix reflections asserting in https://trac.webkit.org/r208319