Fix Bug 16828: WebView never paints if first page load is canceled after...
authoraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 11 Jan 2008 20:50:52 +0000 (20:50 +0000)
committeraroben@apple.com <aroben@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Fri, 11 Jan 2008 20:50:52 +0000 (20:50 +0000)
         <http://bugs.webkit.org/show_bug.cgi?id=16828>
         <rdar://5682402>

         Now that we have 1) a real loader and 2) multiple FrameViews per
         Frame, we no longer need the hackery we had in our WM_PAINT handler
         that decided whether or not to paint. We now always want to paint,
         letting the swapping of FrameViews that happens in
         transitionToCommittedForNewPage handle which document gets painted.

         Reviewed by Hyatt.

         * WebView.cpp:
         (WebViewWndProc): Removed hackery that decided sometimes not to paint.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@29415 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit/win/ChangeLog
WebKit/win/WebView.cpp

index 8a7837c..391150a 100644 (file)
@@ -1,3 +1,21 @@
+2008-01-11  Adam Roben  <aroben@apple.com>
+
+        Fix Bug 16828: WebView never paints if first page load is canceled after being committed but before layout
+
+        <http://bugs.webkit.org/show_bug.cgi?id=16828>
+        <rdar://5682402>
+
+        Now that we have 1) a real loader and 2) multiple FrameViews per
+        Frame, we no longer need the hackery we had in our WM_PAINT handler
+        that decided whether or not to paint. We now always want to paint,
+        letting the swapping of FrameViews that happens in
+        transitionToCommittedForNewPage handle which document gets painted.
+
+        Reviewed by Hyatt.
+
+        * WebView.cpp:
+        (WebViewWndProc): Removed hackery that decided sometimes not to paint.
+
 2008-01-11  Mark Rowe  <mrowe@apple.com>
 
         Windows build fix.  Update to match method name in WebCore.
index 8db87a5..6b8eac2 100644 (file)
@@ -1584,13 +1584,7 @@ static LRESULT CALLBACK WebViewWndProc(HWND hWnd, UINT message, WPARAM wParam, L
 
     switch (message) {
         case WM_PAINT: {
-            COMPtr<IWebDataSource> dataSource;
-            mainFrameImpl->dataSource(&dataSource);
-            Frame* coreFrame = core(mainFrameImpl);
-            if (!webView->isPainting() && (!dataSource || coreFrame && (coreFrame->view()->didFirstLayout() || !coreFrame->loader()->committedFirstRealDocumentLoad())))
-                webView->paint(0, 0);
-            else
-                ValidateRect(hWnd, 0);
+            webView->paint(0, 0);
             break;
         }
         case WM_PRINTCLIENT: