Summary: | WebView never paints if first page load is canceled after being committed but before layout | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Adam Roben (:aroben) <aroben> | ||||||
Component: | WebKit Misc. | Assignee: | Adam Roben (:aroben) <aroben> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | hyatt | ||||||
Priority: | P2 | Keywords: | InRadar | ||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | PC | ||||||||
OS: | Windows XP | ||||||||
Attachments: |
|
Description
Adam Roben (:aroben)
2008-01-10 15:32:24 PST
The problem line of code seems to be this <http://trac.webkit.org/projects/webkit/browser/trunk/WebKit/win/WebView.cpp?rev=29369#L1590>: if (!webView->isPainting() && (!dataSource || coreFrame && (coreFrame->view()->didFirstLayout() || !coreFrame->loader()->committedFirstRealDocumentLoad()))) didFirstLayout() is returning false and committedFirstRealDocumentLoad() is returning true. firstLayout was a hack put in on Windows prior to having the full networking layer (with its notion of being "committed") ported over from Mac. I suspect the firstLayout check is no longer needed (and does not match Mac anyway). Hyatt also says we should make sure the Windows and Mac agree on when painting should be suppressed. I have a fix for this. Created attachment 18399 [details]
patch 1/2
Created attachment 18400 [details]
patch 2/2
Comment on attachment 18399 [details]
patch 1/2
r=me
Comment on attachment 18400 [details]
patch 2/2
r=me
|