[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc
commit-queue at webkit.org
commit-queue at webkit.org
Wed Dec 22 15:22:01 UTC 2010
The following commit has been merged in the debian/experimental branch:
commit fae20ca3d5bdfc847d0975b65cc3d3172f106cec
Author: commit-queue at webkit.org <commit-queue at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date: Tue Nov 2 01:36:43 2010 +0000
2010-11-01 Jennifer Braithwaite <jennb at google.com>
Reviewed by Martin Robinson.
GTK: Update resource tracking when moving a frame between documents
https://bugs.webkit.org/show_bug.cgi?id=48362
* WebCoreSupport/FrameLoaderClientGtk.cpp:
(WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
Assign resource id to current web view and remove from former web view.
* webkit/webkitprivate.h:
* webkit/webkitwebview.cpp:
(webkit_web_view_remove_resource):
Added.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71090 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 7ed213d..e5f97e9 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,18 @@
+2010-11-01 Jennifer Braithwaite <jennb at google.com>
+
+ Reviewed by Martin Robinson.
+
+ GTK: Update resource tracking when moving a frame between documents
+ https://bugs.webkit.org/show_bug.cgi?id=48362
+
+ * WebCoreSupport/FrameLoaderClientGtk.cpp:
+ (WebKit::FrameLoaderClient::transferLoadingResourceFromPage):
+ Assign resource id to current web view and remove from former web view.
+ * webkit/webkitprivate.h:
+ * webkit/webkitwebview.cpp:
+ (webkit_web_view_remove_resource):
+ Added.
+
2010-11-01 Mario Sanchez Prada <msanchez at igalia.com>
Reviewed by Martin Robinson.
diff --git a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
index 20aafc2..88a6a43 100644
--- a/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
+++ b/WebKit/gtk/WebCoreSupport/FrameLoaderClientGtk.cpp
@@ -620,8 +620,16 @@ void FrameLoaderClient::didTransferChildFrameToNewDocument(WebCore::Page*)
ASSERT(core(getViewFromFrame(m_frame)) == coreFrame->page());
}
-void FrameLoaderClient::transferLoadingResourceFromPage(unsigned long, WebCore::DocumentLoader*, const WebCore::ResourceRequest&, WebCore::Page*)
+void FrameLoaderClient::transferLoadingResourceFromPage(unsigned long identifier, WebCore::DocumentLoader* docLoader, const WebCore::ResourceRequest& request, WebCore::Page* oldPage)
{
+ ASSERT(oldPage != core(m_frame)->page());
+
+ GOwnPtr<gchar> identifierString(toString(identifier));
+ ASSERT(!webkit_web_view_get_resource(getViewFromFrame(m_frame), identifierString.get()));
+
+ assignIdentifierToInitialRequest(identifier, docLoader, request);
+
+ webkit_web_view_remove_resource(kit(oldPage), identifierString.get());
}
void FrameLoaderClient::redirectDataToPlugin(Widget* pluginWidget)
diff --git a/WebKit/gtk/webkit/webkitprivate.h b/WebKit/gtk/webkit/webkitprivate.h
index 261c437..3ac3563 100644
--- a/WebKit/gtk/webkit/webkitprivate.h
+++ b/WebKit/gtk/webkit/webkitprivate.h
@@ -278,6 +278,9 @@ extern "C" {
void
webkit_web_view_add_resource(WebKitWebView*, const char*, WebKitWebResource*);
+ void
+ webkit_web_view_remove_resource(WebKitWebView*, const char*);
+
WebKitWebResource*
webkit_web_view_get_resource(WebKitWebView*, char*);
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index bba969a..a3d6c21 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -4647,6 +4647,16 @@ void webkit_web_view_add_resource(WebKitWebView* webView, const char* identifier
g_hash_table_insert(priv->subResources.get(), g_strdup(identifier), webResource);
}
+void webkit_web_view_remove_resource(WebKitWebView* webView, const char* identifier)
+{
+ WebKitWebViewPrivate* priv = webView->priv;
+ if (g_str_equal(identifier, priv->mainResourceIdentifier.data())) {
+ priv->mainResourceIdentifier = "";
+ priv->mainResource = 0;
+ } else
+ g_hash_table_remove(priv->subResources.get(), identifier);
+}
+
WebKitWebResource* webkit_web_view_get_resource(WebKitWebView* webView, char* identifier)
{
WebKitWebViewPrivate* priv = webView->priv;
--
WebKit Debian packaging
More information about the Pkg-webkit-commits
mailing list