[arch-commits] Commit in libwebkit/repos (3 files)
Giovanni Scafora
giovanni at archlinux.org
Tue Nov 3 12:14:05 UTC 2009
Date: Tuesday, November 3, 2009 @ 07:14:05
Author: giovanni
Revision: 58016
Merged revisions 57801 via svnmerge from
svn+ssh://gerolde.archlinux.org/srv/svn-packages/libwebkit/trunk
........
r57801 | jgc | 2009-11-02 03:18:12 -0800 (lun, 02 nov 2009) | 1 line
Backport from 1.16: WebkitDownload should use WebkitNetworkResponse
........
Added:
libwebkit/repos/extra-i686/webkitdownload-use-webkitnetworkresponse.patch
(from rev 57801, libwebkit/trunk/webkitdownload-use-webkitnetworkresponse.patch)
Modified:
libwebkit/repos/extra-i686/ (properties)
libwebkit/repos/extra-i686/PKGBUILD
------------------------------------------------+
PKGBUILD | 9
webkitdownload-use-webkitnetworkresponse.patch | 215 +++++++++++++++++++++++
2 files changed, 221 insertions(+), 3 deletions(-)
Property changes on: libwebkit/repos/extra-i686
___________________________________________________________________
Modified: svnmerge-integrated
- /libwebkit/trunk:1-56337
+ /libwebkit/trunk:1-58015
Modified: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD 2009-11-03 11:08:45 UTC (rev 58015)
+++ extra-i686/PKGBUILD 2009-11-03 12:14:05 UTC (rev 58016)
@@ -3,7 +3,7 @@
pkgname=libwebkit
pkgver=1.1.15.3
-pkgrel=1
+pkgrel=2
pkgdesc="an opensource web content engine, derived from KHTML and KJS from KDE"
arch=('i686' 'x86_64')
url="http://webkitgtk.org/"
@@ -14,11 +14,14 @@
conflicts=('webkitgtk-svn')
replaces=('webkitgtk-svn')
options=('!libtool')
-source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz)
-md5sums=('18736af3c751eb078fa3f4a7393cc864')
+source=(http://webkitgtk.org/webkit-${pkgver}.tar.gz
+ webkitdownload-use-webkitnetworkresponse.patch)
+md5sums=('18736af3c751eb078fa3f4a7393cc864'
+ 'a041ddf393002ebd4ea4eaec972c47c2')
build() {
cd "${srcdir}/webkit-${pkgver}"
+ patch -Np1 -i "${srcdir}/webkitdownload-use-webkitnetworkresponse.patch" || return 1
./configure --prefix=/usr \
--enable-video \
--with-font-backend=freetype --enable-gtk-doc \
Copied: libwebkit/repos/extra-i686/webkitdownload-use-webkitnetworkresponse.patch (from rev 57801, libwebkit/trunk/webkitdownload-use-webkitnetworkresponse.patch)
===================================================================
--- extra-i686/webkitdownload-use-webkitnetworkresponse.patch (rev 0)
+++ extra-i686/webkitdownload-use-webkitnetworkresponse.patch 2009-11-03 12:14:05 UTC (rev 58016)
@@ -0,0 +1,215 @@
+From d42f4dd5b4ead39771d8822ac4c67a0d48a41040 Mon Sep 17 00:00:00 2001
+From: Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
+Date: Sun, 25 Oct 2009 18:29:35 -0200
+Subject: [PATCH] Use WebKitNetworkResponse
+
+ WebKit/gtk/ChangeLog | 26 +++++++++++++
+ WebKit/gtk/webkit/webkitdownload.cpp | 67 +++++++++++++++++++++++++++++-----
+ WebKit/gtk/webkit/webkitdownload.h | 3 ++
+ 3 files changed, 86 insertions(+), 10 deletions(-)
+
+2009-10-25 Gustavo Noronha Silva <gustavo.noronha at collabora.co.uk>
+
+ Reviewed by NOBODY (OOPS!).
+
+ https://bugs.webkit.org/show_bug.cgi?id=30759
+ [GTK] Should use WebKitNetworkResponse, and expose it
+
+ WebKitDownload now uses our WebKitNetworkResponse instead of using
+ ResourceResponse directly. By exposing the response, like we do
+ with the request, we give our users the ability to look at the
+ response headers, status code, and so on, through the SoupMessage
+ object.
+
+ * webkit/webkitdownload.cpp:
+ (webkit_download_dispose):
+ (webkit_download_finalize):
+ (webkit_download_get_property):
+ (webkit_download_set_property):
+ (webkit_download_class_init):
+ (webkit_download_get_network_response):
+ (webkit_download_set_response):
+ (webkit_download_get_total_size):
+ (webkit_download_get_progress):
+ (webkit_download_received_data):
+ * webkit/webkitdownload.h:
+
+---
+diff --git a/WebKit/gtk/webkit/webkitdownload.cpp b/WebKit/gtk/webkit/webkitdownload.cpp
+index 568378c..dd6629b 100644
+--- a/WebKit/gtk/webkit/webkitdownload.cpp
++++ b/WebKit/gtk/webkit/webkitdownload.cpp
+@@ -31,6 +31,7 @@
+ #include "webkitdownload.h"
+ #include "webkitenumtypes.h"
+ #include "webkitmarshal.h"
++#include "webkitnetworkresponse.h"
+ #include "webkitprivate.h"
+
+ #include <glib/gstdio.h>
+@@ -74,7 +75,7 @@ struct _WebKitDownloadPrivate {
+ GFileOutputStream* outputStream;
+ DownloadClient* downloadClient;
+ WebKitNetworkRequest* networkRequest;
+- ResourceResponse* networkResponse;
++ WebKitNetworkResponse* networkResponse;
+ RefPtr<ResourceHandle> resourceHandle;
+ };
+
+@@ -95,7 +96,8 @@ enum {
+ PROP_PROGRESS,
+ PROP_STATUS,
+ PROP_CURRENT_SIZE,
+- PROP_TOTAL_SIZE
++ PROP_TOTAL_SIZE,
++ PROP_NETWORK_RESPONSE
+ };
+
+ G_DEFINE_TYPE(WebKitDownload, webkit_download, G_TYPE_OBJECT);
+@@ -119,6 +121,11 @@ static void webkit_download_dispose(GObject* object)
+ priv->networkRequest = NULL;
+ }
+
++ if (priv->networkResponse) {
++ g_object_unref(priv->networkResponse);
++ priv->networkResponse = NULL;
++ }
++
+ G_OBJECT_CLASS(webkit_download_parent_class)->dispose(object);
+ }
+
+@@ -138,7 +145,6 @@ static void webkit_download_finalize(GObject* object)
+ }
+
+ delete priv->downloadClient;
+- delete priv->networkResponse;
+
+ // The download object may never have _start called on it, so we
+ // need to make sure timer is non-NULL.
+@@ -159,6 +165,9 @@ static void webkit_download_get_property(GObject* object, guint prop_id, GValue*
+ case PROP_NETWORK_REQUEST:
+ g_value_set_object(value, webkit_download_get_network_request(download));
+ break;
++ case PROP_NETWORK_RESPONSE:
++ g_value_set_object(value, webkit_download_get_network_response(download));
++ break;
+ case PROP_DESTINATION_URI:
+ g_value_set_string(value, webkit_download_get_destination_uri(download));
+ break;
+@@ -191,6 +200,9 @@ static void webkit_download_set_property(GObject* object, guint prop_id, const G
+ case PROP_NETWORK_REQUEST:
+ priv->networkRequest = WEBKIT_NETWORK_REQUEST(g_value_dup_object(value));
+ break;
++ case PROP_NETWORK_RESPONSE:
++ priv->networkResponse = WEBKIT_NETWORK_RESPONSE(g_value_dup_object(value));
++ break;
+ case PROP_DESTINATION_URI:
+ webkit_download_set_destination_uri(download, g_value_get_string(value));
+ break;
+@@ -252,6 +264,21 @@ static void webkit_download_class_init(WebKitDownloadClass* downloadClass)
+ (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
+
+ /**
++ * WebKitDownload:network-response
++ *
++ * The #WebKitNetworkResponse instance associated with the download.
++ *
++ * Since: 1.1.16
++ */
++ g_object_class_install_property(objectClass,
++ PROP_NETWORK_RESPONSE,
++ g_param_spec_object("network-response",
++ _("Network Response"),
++ _("The network response for the URI that should be downloaded"),
++ WEBKIT_TYPE_NETWORK_RESPONSE,
++ (GParamFlags)(WEBKIT_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY)));
++
++ /**
+ * WebKitDownload:destination-uri
+ *
+ * The URI of the save location for this download.
+@@ -530,11 +557,29 @@ WebKitNetworkRequest* webkit_download_get_network_request(WebKitDownload* downlo
+ return priv->networkRequest;
+ }
+
++/**
++ * webkit_download_get_network_response:
++ * @download: the #WebKitDownload
++ *
++ * Retrieves the #WebKitNetworkResponse object that backs the download
++ * process.
++ *
++ * Returns: the #WebKitNetworkResponse instance
++ *
++ * Since: 1.1.16
++ */
++WebKitNetworkResponse* webkit_download_get_network_response(WebKitDownload* download)
++{
++ g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), NULL);
++
++ WebKitDownloadPrivate* priv = download->priv;
++ return priv->networkResponse;
++}
++
+ static void webkit_download_set_response(WebKitDownload* download, const ResourceResponse& response)
+ {
+- // FIXME Use WebKitNetworkResponse when it's merged.
+ WebKitDownloadPrivate* priv = download->priv;
+- priv->networkResponse = new ResourceResponse(response);
++ priv->networkResponse = webkit_network_response_new_with_core_response(response);
+
+ if (!response.isNull() && !response.suggestedFilename().isEmpty())
+ webkit_download_set_suggested_filename(download, response.suggestedFilename().utf8().data());
+@@ -704,10 +749,12 @@ guint64 webkit_download_get_total_size(WebKitDownload* download)
+ g_return_val_if_fail(WEBKIT_IS_DOWNLOAD(download), 0);
+
+ WebKitDownloadPrivate* priv = download->priv;
+- if (!priv->networkResponse)
++ SoupMessage* message = priv->networkResponse ? webkit_network_response_get_message(priv->networkResponse) : NULL;
++
++ if (!message)
+ return 0;
+
+- return MAX(priv->currentSize, priv->networkResponse->expectedContentLength());
++ return MAX(priv->currentSize, soup_message_headers_get_content_length(message->response_headers));
+ }
+
+ /**
+@@ -744,9 +791,9 @@ gdouble webkit_download_get_progress(WebKitDownload* download)
+
+ WebKitDownloadPrivate* priv = download->priv;
+ if (!priv->networkResponse)
+- return 0;
++ return 0.0;
+
+- gdouble total_size = (gdouble)priv->networkResponse->expectedContentLength();
++ gdouble total_size = static_cast<gdouble>(webkit_download_get_total_size(download));
+
+ if (total_size == 0)
+ return 1.0;
+@@ -803,7 +850,7 @@ static void webkit_download_received_data(WebKitDownload* download, const gchar*
+ g_object_notify(G_OBJECT(download), "current-size");
+
+ ASSERT(priv->networkResponse);
+- if (priv->currentSize > priv->networkResponse->expectedContentLength())
++ if (priv->currentSize > webkit_download_get_total_size(download))
+ g_object_notify(G_OBJECT(download), "total-size");
+
+ gdouble lastProgress = webkit_download_get_progress(download);
+diff --git a/WebKit/gtk/webkit/webkitdownload.h b/WebKit/gtk/webkit/webkitdownload.h
+index 6e7f38b..a732a57 100644
+--- a/WebKit/gtk/webkit/webkitdownload.h
++++ b/WebKit/gtk/webkit/webkitdownload.h
+@@ -84,6 +84,9 @@ webkit_download_get_uri (WebKitDownload *download);
+ WEBKIT_API WebKitNetworkRequest*
+ webkit_download_get_network_request (WebKitDownload *download);
+
++WEBKIT_API WebKitNetworkResponse*
++webkit_download_get_network_response (WebKitDownload *download);
++
+ WEBKIT_API const gchar*
+ webkit_download_get_suggested_filename (WebKitDownload *download);
+
+--
+1.6.5
+
More information about the arch-commits
mailing list