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

weinig at apple.com weinig at apple.com
Wed Dec 22 13:23:47 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit ef4318c3bca054feac1cd8def62854b9d27fce99
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Sep 14 03:40:59 2010 +0000

    URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2
    <rdar://problem/8272775>
    https://bugs.webkit.org/show_bug.cgi?id=45729
    
    Reviewed by Jon Honeycutt.
    
    Pass an updated provisional url while notifying the UIProcess of
    didReceiveServerRedirectForProvisionalLoadForFrame.
    
    * UIProcess/WebFrameProxy.cpp:
    (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
    * UIProcess/WebFrameProxy.h:
    * UIProcess/WebPageProxy.cpp:
    (WebKit::WebPageProxy::didReceiveMessage):
    (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
    * UIProcess/WebPageProxy.h:
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@67437 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 4b9a7d1..825f6a7 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,26 @@
 2010-09-13  Sam Weinig  <sam at webkit.org>
 
+        Reviewed by Jon Honeycutt.
+
+        URL in address bar doesn't update when navigating to http://webkit.org/new-bug when using WebKit2
+        <rdar://problem/8272775>
+        https://bugs.webkit.org/show_bug.cgi?id=45729
+
+        Pass an updated provisional url while notifying the UIProcess of
+        didReceiveServerRedirectForProvisionalLoadForFrame.
+
+        * UIProcess/WebFrameProxy.cpp:
+        (WebKit::WebFrameProxy::didReceiveServerRedirectForProvisionalLoad):
+        * UIProcess/WebFrameProxy.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::didReceiveMessage):
+        (WebKit::WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame):
+        * UIProcess/WebPageProxy.h:
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad):
+
+2010-09-13  Sam Weinig  <sam at webkit.org>
+
         Fix windows build.
 
         * UIProcess/Launcher/win/ProcessLauncherWin.cpp:
diff --git a/WebKit2/UIProcess/WebFrameProxy.cpp b/WebKit2/UIProcess/WebFrameProxy.cpp
index f1cf0e0..16406a4 100644
--- a/WebKit2/UIProcess/WebFrameProxy.cpp
+++ b/WebKit2/UIProcess/WebFrameProxy.cpp
@@ -69,6 +69,11 @@ void WebFrameProxy::didStartProvisionalLoad(const String& url)
     m_provisionalURL = url;
 }
 
+void WebFrameProxy::didReceiveServerRedirectForProvisionalLoad(const String& url)
+{
+    m_provisionalURL = url;
+}
+
 void WebFrameProxy::didCommitLoad()
 {
     // FIXME: Add assertions.
diff --git a/WebKit2/UIProcess/WebFrameProxy.h b/WebKit2/UIProcess/WebFrameProxy.h
index 47c78eb..4b36002 100644
--- a/WebKit2/UIProcess/WebFrameProxy.h
+++ b/WebKit2/UIProcess/WebFrameProxy.h
@@ -72,7 +72,8 @@ public:
     const WTF::String& url() const { return m_url; }
     const WTF::String& provisionalURL() const { return m_provisionalURL; }
 
-    void didStartProvisionalLoad(const WTF::String& url);
+    void didStartProvisionalLoad(const String& url);
+    void didReceiveServerRedirectForProvisionalLoad(const String& url);
     void didCommitLoad();
     void didFinishLoad();
     void didReceiveTitle(const WTF::String&);
diff --git a/WebKit2/UIProcess/WebPageProxy.cpp b/WebKit2/UIProcess/WebPageProxy.cpp
index 1f608b2..9f2e209 100644
--- a/WebKit2/UIProcess/WebPageProxy.cpp
+++ b/WebKit2/UIProcess/WebPageProxy.cpp
@@ -508,9 +508,10 @@ void WebPageProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::M
         }
         case WebPageProxyMessage::DidReceiveServerRedirectForProvisionalLoadForFrame: {
             uint64_t frameID;
-            if (!arguments->decode(frameID))
+            String url;
+            if (!arguments->decode(CoreIPC::Out(frameID, url)))
                 return;
-            didReceiveServerRedirectForProvisionalLoadForFrame(process()->webFrame(frameID));
+            didReceiveServerRedirectForProvisionalLoadForFrame(process()->webFrame(frameID), url);
             break;
         }
         case WebPageProxyMessage::DidFailProvisionalLoadForFrame: {
@@ -889,8 +890,9 @@ void WebPageProxy::didStartProvisionalLoadForFrame(WebFrameProxy* frame, const S
     m_loaderClient.didStartProvisionalLoadForFrame(this, frame);
 }
 
-void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(WebFrameProxy* frame)
+void WebPageProxy::didReceiveServerRedirectForProvisionalLoadForFrame(WebFrameProxy* frame, const String& url)
 {
+    frame->didReceiveServerRedirectForProvisionalLoad(url);
     m_loaderClient.didReceiveServerRedirectForProvisionalLoadForFrame(this, frame);
 }
 
diff --git a/WebKit2/UIProcess/WebPageProxy.h b/WebKit2/UIProcess/WebPageProxy.h
index abc5c3b..3e6c980 100644
--- a/WebKit2/UIProcess/WebPageProxy.h
+++ b/WebKit2/UIProcess/WebPageProxy.h
@@ -198,8 +198,8 @@ private:
     void didCreateMainFrame(uint64_t frameID);
     void didCreateSubFrame(uint64_t frameID);
 
-    void didStartProvisionalLoadForFrame(WebFrameProxy*, const WTF::String&);
-    void didReceiveServerRedirectForProvisionalLoadForFrame(WebFrameProxy*);
+    void didStartProvisionalLoadForFrame(WebFrameProxy*, const String&);
+    void didReceiveServerRedirectForProvisionalLoadForFrame(WebFrameProxy*, const String&);
     void didFailProvisionalLoadForFrame(WebFrameProxy*);
     void didCommitLoadForFrame(WebFrameProxy*);
     void didFinishDocumentLoadForFrame(WebFrameProxy*);
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index aab390b..ff8dd78 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -204,11 +204,14 @@ void WebFrameLoaderClient::dispatchDidReceiveServerRedirectForProvisionalLoad()
     if (!webPage)
         return;
 
+    DocumentLoader* provisionalLoader = m_frame->coreFrame()->loader()->provisionalDocumentLoader();
+    const String& url = provisionalLoader->url().string();
+
     // Notify the bundle client.
     webPage->injectedBundleLoaderClient().didReceiveServerRedirectForProvisionalLoadForFrame(webPage, m_frame);
 
     // Notify the UIProcess.
-    WebProcess::shared().connection()->send(WebPageProxyMessage::DidReceiveServerRedirectForProvisionalLoadForFrame, webPage->pageID(), CoreIPC::In(m_frame->frameID()));
+    WebProcess::shared().connection()->send(WebPageProxyMessage::DidReceiveServerRedirectForProvisionalLoadForFrame, webPage->pageID(), CoreIPC::In(m_frame->frameID(), url));
 }
 
 void WebFrameLoaderClient::dispatchDidCancelClientRedirect()

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list