[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 21:06:42 PDT 2016
https://bugs.webkit.org/show_bug.cgi?id=164340
--- Comment #8 from mitz at webkit.org <mitz at webkit.org> ---
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
>> + the call to firePaintRelatedMilestonesIfNeeded until after the commit.
>
> Was it deferred for a good reason, like coalescing?
It was deferred in order to make sure that WebKit client gets notified only after the commit (see bug 115753). That bug was probably reintroduced when <https://trac.webkit.org/r166015> (the fix for bug 130541) made RenderLayerBacking::paintIntoLayer() call FrameView::didPaintContents(), which fires the paint-related milestones synchronously. That is, until <https://trac.webkit.org/r206247> introduced a completely different way for the milestones to be deferred, which happened to defer them too much in some cases.
>> 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.
drawingArea is null if in the mean while WebPage::close has been called.
>> Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:439
>> + drawingArea->m_pendingNewlyReachedLayoutMilestones = 0;
>
> ...which you could also call here.
I waffled on this. It will be a similar number of lines of code, and once 10.10 support is gone, it will be even more silly for it to be a function.
--
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/2f3fe86b/attachment-0001.html>
More information about the webkit-unassigned
mailing list