Summary: | WebKit2: Freeze the state of the layer tree until frame load completion if incremental rendering is suppressed | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Andy Estes <aestes> | ||||
Component: | New Bugs | Assignee: | Andy Estes <aestes> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | andersca, mitz, simon.fraser | ||||
Priority: | P2 | ||||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 70086 | ||||||
Attachments: |
|
Description
Andy Estes
2011-12-02 03:12:52 PST
Created attachment 117598 [details]
Patch
Comment on attachment 117598 [details] Patch View in context: https://bugs.webkit.org/attachment.cgi?id=117598&action=review > Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:537 > - if (m_frame == m_frame->page()->mainWebFrame()) > + if (m_frame == m_frame->page()->mainWebFrame() && !webPage->corePage()->settings()->suppressIncrementalRendering()) > webPage->drawingArea()->setLayerTreeStateIsFrozen(false); Seems OK, but perhaps a bit of a layering problem that this code needs to check the setting. Not sure why this code gets to the page as m_frame->page() in one half of the expression and as webPage->corePage() in the other. Aren’t those guaranteed to be the same page? (In reply to comment #2) > (From update of attachment 117598 [details]) > View in context: https://bugs.webkit.org/attachment.cgi?id=117598&action=review > > > Source/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:537 > > - if (m_frame == m_frame->page()->mainWebFrame()) > > + if (m_frame == m_frame->page()->mainWebFrame() && !webPage->corePage()->settings()->suppressIncrementalRendering()) > > webPage->drawingArea()->setLayerTreeStateIsFrozen(false); > > Seems OK, but perhaps a bit of a layering problem that this code needs to check the setting. > > Not sure why this code gets to the page as m_frame->page() in one half of the expression and as webPage->corePage() in the other. Aren’t those guaranteed to be the same page? One is a WebKit2 WebPage and the other is it's corresponding WebCore::Page. I need the WebCore::Page to get at the Settings object. Thanks for the review! I swear I know the difference between it's and its :/ Committed r101838: <http://trac.webkit.org/changeset/101838> |