Bug 115753

Summary: Still possible to fire paint-related LayoutMilestones before CA has committed the changes
Product: WebKit Reporter: Beth Dakin <bdakin>
Component: Layout and RenderingAssignee: Beth Dakin <bdakin>
Status: RESOLVED FIXED    
Severity: Normal CC: bdakin, commit-queue, esprehn+autocc, glenn, simon.fraser, thorton
Priority: P2 Keywords: InRadar
Version: 528+ (Nightly build)   
Hardware: Unspecified   
OS: Unspecified   
Attachments:
Description Flags
Patch
none
Patch simon.fraser: review+

Beth Dakin
Reported 2013-05-07 13:43:15 PDT
It is still possible to fire paint-related LayoutMilestones before CA has committed the changes. To ensure we wait for the commit, we should wait until the end of the runloop with a zero-delay timer. <rdar://problem/13822315>
Attachments
Patch (3.59 KB, patch)
2013-05-07 13:45 PDT, Beth Dakin
no flags
Patch (3.56 KB, patch)
2013-05-07 14:02 PDT, Beth Dakin
simon.fraser: review+
Beth Dakin
Comment 1 2013-05-07 13:45:45 PDT
Tim Horton
Comment 2 2013-05-07 13:51:56 PDT
Comment on attachment 200968 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=200968&action=review > Source/WebCore/ChangeLog:17 > + (WebCore::RenderLayerCompositor::firePaintRelatedMilestonesTimerFired): What a bizarre name, with fire in it twice :)
Beth Dakin
Comment 3 2013-05-07 14:02:34 PDT
Created attachment 200971 [details] Patch Tim has a good point. Here's a patch with a better name.
Beth Dakin
Comment 4 2013-05-07 14:12:36 PDT
Simon Fraser (smfr)
Comment 5 2013-05-28 21:56:10 PDT
Comment on attachment 200971 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=200971&action=review > Source/WebCore/rendering/RenderLayerCompositor.cpp:377 > + if (!m_paintRelatedMilestonesTimer.isActive()) > + m_paintRelatedMilestonesTimer.startOneShot(0); This made it so that _every_ layer flush we start a timer, which most of the time does nothing :(
Simon Fraser (smfr)
Comment 6 2013-05-28 21:57:08 PDT
Filed bug 116908.
Note You need to log in before you can comment on or make changes to this bug.