[Webkit-unassigned] [Bug 164340] REGRESSION (r206247): Painting milestones can be delayed until the next layer flush
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Wed Nov 2 19:18:28 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=164340
--- Comment #7 from Simon Fraser (smfr) <simon.fraser at apple.com> ---
Comment on attachment 293734
--> https://bugs.webkit.org/attachment.cgi?id=293734
Have WebKit, not WebCore, defer sending the milestones until after the commit
View in context: https://bugs.webkit.org/attachment.cgi?id=293734&action=review
> Source/WebCore/ChangeLog:11
> + To give WebKit a chance to deliver the painting milestones to its client after the commit,
> + we must tell it about them before or during the commit. To that end, we should not defer
> + the call to firePaintRelatedMilestonesIfNeeded until after the commit.
Was it deferred for a good reason, like coalescing?
> Source/WebCore/rendering/RenderLayerCompositor.cpp:572
> + frameView.firePaintRelatedMilestonesIfNeeded();
Does one really "fire" a milestone, or just reach or pass it?
> Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:428
> + if (TiledCoreAnimationDrawingArea* drawingArea = static_cast<TiledCoreAnimationDrawingArea*>(retainedPage->drawingArea())) {
auto foo = downcast<TiledCoreAnimationDrawingArea>() ?
When is drawingArea != this? Very confusing to fetch it here again.
> Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:431
> + if (drawingArea->m_pendingNewlyReachedLayoutMilestones)
> + retainedPage->send(Messages::WebPageProxy::DidReachLayoutMilestone(drawingArea->m_pendingNewlyReachedLayoutMilestones));
> + drawingArea->m_pendingNewlyReachedLayoutMilestones = 0;
I would like to see this moved to a self-contained function.
> Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:439
> + if (drawingArea->m_pendingNewlyReachedLayoutMilestones)
> + retainedPage->send(Messages::WebPageProxy::DidReachLayoutMilestone(drawingArea->m_pendingNewlyReachedLayoutMilestones));
> + drawingArea->m_pendingNewlyReachedLayoutMilestones = 0;
...which you could also call here.
--
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.webkit.org/pipermail/webkit-unassigned/attachments/20161103/e33fc2c4/attachment.html>
More information about the webkit-unassigned
mailing list