diff options
author | kwm <kwm@FreeBSD.org> | 2009-12-24 04:19:08 +0800 |
---|---|---|
committer | kwm <kwm@FreeBSD.org> | 2009-12-24 04:19:08 +0800 |
commit | 3d35735c43641b94a5778e583af8d3aa617f2cc9 (patch) | |
tree | 64c55181d41796cd1a517c5c0114496bfa20c8dd /www | |
parent | 8f6055b1645868077a11b7d60cc06fc5e40c42d0 (diff) | |
download | freebsd-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/Makefile | 2 | ||||
-rw-r--r-- | www/epiphany/files/patch-embed_ephy-embed.c | 72 |
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); + } |