[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

beidson at apple.com beidson at apple.com
Wed Dec 22 12:43:38 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit bf6e5d0e66e55b5c4451c0efb964ef3ef7039e0e
Author: beidson at apple.com <beidson at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Aug 27 21:45:29 2010 +0000

    <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
    
    Reviewed by Sam Weinig.
    
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
      without consulting the policy delegate.
    (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@66260 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index f82a246..641cb31 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,14 @@
+2010-08-27  Brady Eidson  <beidson at apple.com>
+
+        Reviewed by Sam Weinig.
+
+        <rdar://problem/8147879> - Null URL passed to WebKit2 HistoryDelegate
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForMIMEType): WK2 now loads initial about:blank document's synchronously,
+          without consulting the policy delegate.
+        (WebKit::WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction): Ditto.
+
 2010-08-27  Adam Roben  <aroben at apple.com>
 
         Handle ERROR_IO_INCOMPLETE more correctly in Connection
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index 1f8235a..8b6f357 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -432,6 +432,13 @@ static uint32_t modifiersForNavigationAction(const NavigationAction& navigationA
 
 void WebFrameLoaderClient::dispatchDecidePolicyForMIMEType(FramePolicyFunction function, const String& MIMEType, const ResourceRequest& request)
 {
+    if (m_frame->coreFrame()->loader()->documentLoader()->url().isEmpty() && request.url() == blankURL()) {
+        // WebKit2 loads initial about:blank documents synchronously, without consulting the policy delegate
+        ASSERT(m_frame->coreFrame()->loader()->stateMachine()->committingFirstRealLoad());
+        (m_frame->coreFrame()->loader()->policyChecker()->*function)(PolicyUse);
+        return;
+    }
+    
     WebPage* webPage = m_frame->page();
     if (!webPage)
         return;
@@ -463,6 +470,13 @@ void WebFrameLoaderClient::dispatchDecidePolicyForNewWindowAction(FramePolicyFun
 
 void WebFrameLoaderClient::dispatchDecidePolicyForNavigationAction(FramePolicyFunction function, const NavigationAction& navigationAction, const ResourceRequest& request, PassRefPtr<FormState>)
 {
+    if (m_frame->coreFrame()->loader()->documentLoader()->url().isEmpty() && request.url() == blankURL()) {
+        // WebKit2 loads initial about:blank documents synchronously, without consulting the policy delegate
+        ASSERT(m_frame->coreFrame()->loader()->stateMachine()->committingFirstRealLoad());
+        (m_frame->coreFrame()->loader()->policyChecker()->*function)(PolicyUse);
+        return;
+    }
+
     WebPage* webPage = m_frame->page();
     if (!webPage)
         return;

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list