[webkit-reviews] review denied: [Bug 45640] Navigating dark background websites results in blinding white flashes between pages. : [Attachment 70521] Patch

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Tue Oct 12 10:39:14 PDT 2010


Dave Hyatt <hyatt at apple.com> has denied MORITA Hajime <morrita at google.com>'s
request for review:
Bug 45640: Navigating dark background websites results in blinding white
flashes between pages.
https://bugs.webkit.org/show_bug.cgi?id=45640

Attachment 70521: Patch
https://bugs.webkit.org/attachment.cgi?id=70521&action=review

------- Additional Comments from Dave Hyatt <hyatt at apple.com>
Whether or not you can paint safely is based off whether you have pending
stylesheets.  You can see some code that checks this and prevents the painting
of children in that case in (for example) in RenderLayer.cpp.


// Avoid painting layers when stylesheets haven't loaded.  This eliminates
FOUC.
    // It's ok not to draw, because later on, when all the stylesheets do load,
updateStyleSelector on the Document
    // will do a full repaint().
    if (renderer()->document()->didLayoutWithPendingStylesheets() &&
!renderer()->isRenderView() && !renderer()->isRoot())
	return;

That code is essentially running "too late", so you get a flash of white when
the <body> on down don't paint.  The goal of your patch should be to pull that
check up.  I think if your hasPaintableContent just does the
didLayoutWithPendingStylesheets() check that it might fix the bug.

In theory you could remove the places that are already checking this if you're
going to choke off the painting at a higher level like this.


More information about the webkit-reviews mailing list