[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