[arch-commits] Commit in libwebkit/repos (3 files)

Jan de Groot jgc at archlinux.org
Mon Nov 2 06:18:37 EST 2009


    Date: Monday, November 2, 2009 @ 06:18:37
  Author: jgc
Revision: 57802

Merged revisions 57801 via svnmerge from 
svn+ssh://gerolde.archlinux.org/srv/svn-packages/libwebkit/trunk

........
  r57801 | jgc | 2009-11-02 12:18:12 +0100 (Mon, 02 Nov 2009) | 1 line
  
  Backport from 1.16: WebkitDownload should use WebkitNetworkResponse
........

Added:
  libwebkit/repos/extra-x86_64/webkitdownload-use-webkitnetworkresponse.patch
    (from rev 57801, libwebkit/trunk/webkitdownload-use-webkitnetworkresponse.patch)
Modified:
  libwebkit/repos/extra-x86_64/	(properties)
  libwebkit/repos/extra-x86_64/PKGBUILD

------------------------------------------------+
 PKGBUILD                                       |    9 
 webkitdownload-use-webkitnetworkresponse.patch |  215 +++++++++++++++++++++++
 2 files changed, 221 insertions(+), 3 deletions(-)


Property changes on: libwebkit/repos/extra-x86_64
___________________________________________________________________
Modified: svnmerge-integrated
   - /libwebkit/trunk:1-56333
   + /libwebkit/trunk:1-57801

Modified: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2009-11-02 11:18:12 UTC (rev 57801)
+++ extra-x86_64/PKGBUILD	2009-11-02 11:18:37 UTC (rev 57802)
@@ -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-x86_64/webkitdownload-use-webkitnetworkresponse.patch (from rev 57801, libwebkit/trunk/webkitdownload-use-webkitnetworkresponse.patch)
===================================================================
--- extra-x86_64/webkitdownload-use-webkitnetworkresponse.patch	                        (rev 0)
+++ extra-x86_64/webkitdownload-use-webkitnetworkresponse.patch	2009-11-02 11:18:37 UTC (rev 57802)
@@ -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