aboutsummaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2009-12-24 04:19:08 +0800
committerkwm <kwm@FreeBSD.org>2009-12-24 04:19:08 +0800
commit3d35735c43641b94a5778e583af8d3aa617f2cc9 (patch)
tree64c55181d41796cd1a517c5c0114496bfa20c8dd /www
parent8f6055b1645868077a11b7d60cc06fc5e40c42d0 (diff)
downloadfreebsd-ports-gnome-3d35735c43641b94a5778e583af8d3aa617f2cc9.tar.gz
freebsd-ports-gnome-3d35735c43641b94a5778e583af8d3aa617f2cc9.tar.zst
freebsd-ports-gnome-3d35735c43641b94a5778e583af8d3aa617f2cc9.zip
Use the network responce code.
Diffstat (limited to 'www')
-rw-r--r--www/epiphany/Makefile2
-rw-r--r--www/epiphany/files/patch-embed_ephy-embed.c72
2 files changed, 73 insertions, 1 deletions
diff --git a/www/epiphany/Makefile b/www/epiphany/Makefile
index 7d13ca73139f..cf87ec64f251 100644
--- a/www/epiphany/Makefile
+++ b/www/epiphany/Makefile
@@ -8,7 +8,7 @@
PORTNAME= epiphany
PORTVERSION= 2.28.2
-PORTREVISION?= 0
+PORTREVISION?= 1
CATEGORIES= www gnome
MASTER_SITES= GNOME
DIST_SUBDIR= gnome2
diff --git a/www/epiphany/files/patch-embed_ephy-embed.c b/www/epiphany/files/patch-embed_ephy-embed.c
new file mode 100644
index 000000000000..f05f072a350d
--- /dev/null
+++ b/www/epiphany/files/patch-embed_ephy-embed.c
@@ -0,0 +1,72 @@
+From 009be331694b442dd859f49c7f02bdef498621ff Mon Sep 17 00:00:00 2001
+From: Gustavo Noronha Silva <gns@gnome.org>
+Date: Sun, 25 Oct 2009 20:22:46 +0000
+Subject: Reimplement content type checking
+
+This brings back proper content type reporting, and the 'Open' button
+in the download dialog.
+
+Bug #598167
+---
+
+--- embed/ephy-embed.c.orig 2009-10-17 23:11:58.000000000 +0200
++++ embed/ephy-embed.c 2009-11-02 12:56:33.000000000 +0100
+@@ -645,27 +645,38 @@ confirm_action_from_mime (WebKitWebView
+ GAppInfo *helper_app;
+ const char *suggested_filename;
+ int default_response;
++ WebKitNetworkResponse *response;
++ SoupMessage *message;
+
+ parent_window = gtk_widget_get_toplevel (GTK_WIDGET(web_view));
+ if (!GTK_WIDGET_TOPLEVEL (parent_window))
+ parent_window = NULL;
+
+- /* FIXME: we still have no way of getting the content type from
+- * webkit yet; we need to have a proper WebKitNetworkRequest
+- * implementation to do this here; see
+- * https://bugs.webkit.org/show_bug.cgi?id=18608
+- */
+ helper_app = NULL;
+ mime_description = NULL;
+ mime_permission = EPHY_MIME_PERMISSION_SAFE;
++
++ response = webkit_download_get_network_response (download);
++ message = webkit_network_response_get_message (response);
++
++ if (message) {
++ const char *content_type = soup_message_headers_get_content_type (message->response_headers, NULL);
++
++ if (content_type) {
++ mime_description = g_content_type_get_description (content_type);
++ helper_app = g_app_info_get_default_for_type (content_type, FALSE);
++
++ if (helper_app) {
++ action = DOWNLOAD_ACTION_OPEN;
++ }
++ }
++ }
++
+ if (mime_description == NULL) {
+ mime_description = g_strdup (C_("file type", "Unknown"));
+ action = DOWNLOAD_ACTION_OPEN_LOCATION;
+ }
+
+- /* OPEN will never happen here, for now; see comment about
+- * WebKitNetworkRequest above!
+- */
+ action_label = (action == DOWNLOAD_ACTION_OPEN) ? GTK_STOCK_OPEN : STOCK_DOWNLOAD;
+ suggested_filename = webkit_download_get_suggested_filename (download);
+
+@@ -757,11 +768,6 @@ download_status_changed_cb (GObject *obj
+ return;
+ }
+
+- /* FIXME: when we are able to obtain the MIME information from
+- * WebKit, we will want to decide earlier whether we want to open or
+- * open the location to where the file was downloaded. See
+- * perform_auto_download, too.
+- */
+ g_object_ref (download); /* balanced in confirm_action_response_cb */
+ confirm_action_from_mime (web_view, download, DOWNLOAD_ACTION_DOWNLOAD);
+ }