aboutsummaryrefslogtreecommitdiffstats
path: root/embed/mozilla
diff options
context:
space:
mode:
authorCosimo Cecchi <cosimoc@src.gnome.org>2008-01-14 04:42:01 +0800
committerCosimo Cecchi <cosimoc@src.gnome.org>2008-01-14 04:42:01 +0800
commitaf1c2ceaef7d949e36a7680f463c5e25f79c43d6 (patch)
tree19c94f1df613831ed8ab92b4ac904be0c20c673f /embed/mozilla
parent12d96e8a6fc9eddaffdbad58754e712af5fc5fef (diff)
downloadgsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.tar
gsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.tar.gz
gsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.tar.bz2
gsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.tar.lz
gsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.tar.xz
gsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.tar.zst
gsoc2013-epiphany-af1c2ceaef7d949e36a7680f463c5e25f79c43d6.zip
Drop gnome-vfs dependency. Now Epiphany depends on glib >= 2.15.1.
Also, optional Zeroconf support depends on Avahi >= 0.6.22. Bug #507152. svn path=/trunk/; revision=7858
Diffstat (limited to 'embed/mozilla')
-rw-r--r--embed/mozilla/ContentHandler.cpp19
-rw-r--r--embed/mozilla/ContentHandler.h4
-rw-r--r--embed/mozilla/EphyHeaderSniffer.cpp4
-rw-r--r--embed/mozilla/MozDownload.cpp16
-rw-r--r--embed/mozilla/MozDownload.h2
-rw-r--r--embed/mozilla/mozilla-embed-single.cpp43
6 files changed, 48 insertions, 40 deletions
diff --git a/embed/mozilla/ContentHandler.cpp b/embed/mozilla/ContentHandler.cpp
index 0510aa3f1..5b7a5ac0e 100644
--- a/embed/mozilla/ContentHandler.cpp
+++ b/embed/mozilla/ContentHandler.cpp
@@ -25,14 +25,13 @@
#include "config.h"
#include <glib/gi18n.h>
+#include <gio/gio.h>
#include <gtk/gtkbutton.h>
#include <gtk/gtkdialog.h>
#include <gtk/gtkimage.h>
#include <gtk/gtkmain.h>
#include <gtk/gtkmessagedialog.h>
#include <gtk/gtkstock.h>
-#include <libgnomevfs/gnome-vfs-mime.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
#include <nsStringAPI.h>
@@ -254,7 +253,7 @@ NS_METHOD GContentHandler::MIMEConfirmAction ()
{
GtkWidget *dialog, *button, *image;
const char *action_label;
- const char *mime_description;
+ char *mime_description;
nsCString file_name;
nsCOMPtr<nsIDOMWindow> parentDOMWindow = do_GetInterface (mContext);
@@ -264,12 +263,12 @@ NS_METHOD GContentHandler::MIMEConfirmAction ()
(mAction == CONTENT_ACTION_OPEN_TMP) ?
GTK_STOCK_OPEN : STOCK_DOWNLOAD;
- mime_description = gnome_vfs_mime_get_description (mMimeType.get());
+ mime_description = g_content_type_get_description (mMimeType.get());
if (mime_description == NULL)
{
/* Translators: The text before the "|" is context to help you decide on
* the correct translation. You MUST OMIT it in the translated string. */
- mime_description = Q_("File Type:|Unknown");
+ mime_description = g_strdup (Q_("File Type:|Unknown"));
}
/* We have one tiny, minor issue, the filename can be empty (""),
@@ -309,7 +308,7 @@ NS_METHOD GContentHandler::MIMEConfirmAction ()
Second %s is the file name,
Third %s is the application used to open the file */
_("File Type: “%s”.\n\nYou can open “%s” using “%s” or save it."),
- mime_description, file_name.get(), mHelperApp->name);
+ mime_description, file_name.get(), g_app_info_get_name (mHelperApp));
}
else
{
@@ -327,6 +326,8 @@ NS_METHOD GContentHandler::MIMEConfirmAction ()
mime_description, file_name.get());
}
+ g_free (mime_description);
+
button = gtk_button_new_with_label (_("_Save As..."));
image = gtk_image_new_from_stock (GTK_STOCK_SAVE_AS, GTK_ICON_SIZE_BUTTON);
gtk_button_set_image (GTK_BUTTON (button), image);
@@ -367,7 +368,7 @@ NS_METHOD GContentHandler::MIMEInitiateAction (void)
auto_downloads = eel_gconf_get_boolean (CONF_AUTO_DOWNLOADS);
- mHelperApp = gnome_vfs_mime_get_default_application (mMimeType.get());
+ mHelperApp = g_app_info_get_default_for_type (mMimeType.get(), TRUE);
mPermission = ephy_file_check_mime (mMimeType.get());
/* HACK! Check that this 'helper application' isn't Epiphany itself,
@@ -375,7 +376,7 @@ NS_METHOD GContentHandler::MIMEInitiateAction (void)
*/
if (mHelperApp)
{
- const char *id = gnome_vfs_mime_application_get_desktop_id (mHelperApp);
+ const char *id = g_app_info_get_id (mHelperApp);
/* FIXME! menu editing can make this check fail!!!! */
if (id && strcmp (id, "epiphany.desktop") == 0)
@@ -426,7 +427,7 @@ NS_METHOD GContentHandler::MIMEDoAction (void)
g_return_val_if_fail (mHelperApp, NS_ERROR_FAILURE);
const char *id;
- id = gnome_vfs_mime_application_get_desktop_id (mHelperApp);
+ id = g_app_info_get_id (mHelperApp);
/* The current time is fine here as the user has just clicked
* a button (it is used as the time for the application opening)
diff --git a/embed/mozilla/ContentHandler.h b/embed/mozilla/ContentHandler.h
index 113e29070..366aae482 100644
--- a/embed/mozilla/ContentHandler.h
+++ b/embed/mozilla/ContentHandler.h
@@ -22,7 +22,7 @@
#ifndef CONTENT_HANDLER_H
#define CONTENT_HANDLER_H
-#include <libgnomevfs/gnome-vfs-mime-handlers.h>
+#include <gio/gio.h>
#include <nsCOMPtr.h>
#include <nsIFile.h>
@@ -70,7 +70,7 @@ class GContentHandler : public nsIHelperAppLauncherDialog
nsCOMPtr<nsIHelperAppLauncher> mLauncher;
nsCOMPtr<nsISupports> mContext;
- GnomeVFSMimeApplication *mHelperApp;
+ GAppInfo *mHelperApp;
EphyMimePermission mPermission;
nsCString mUrl;
diff --git a/embed/mozilla/EphyHeaderSniffer.cpp b/embed/mozilla/EphyHeaderSniffer.cpp
index 3ba938254..f09a6ee0e 100644
--- a/embed/mozilla/EphyHeaderSniffer.cpp
+++ b/embed/mozilla/EphyHeaderSniffer.cpp
@@ -43,7 +43,6 @@
#include "config.h"
#include <glib/gi18n.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
#include <nsStringAPI.h>
@@ -382,8 +381,7 @@ nsresult EphyHeaderSniffer::PerformSave (nsIURI* inOriginalURI)
/* FIXME: do better here by using nsITextToSubURI service, like in
* http://lxr.mozilla.org/seamonkey/source/xpfe/communicator/resources/content/contentAreaUtils.js#763
*/
- char *filename;
- filename = gnome_vfs_unescape_string (default_name, NULL);
+ char *filename = g_uri_unescape_string (default_name, NULL);
if (!g_utf8_validate (filename, -1, NULL))
{
diff --git a/embed/mozilla/MozDownload.cpp b/embed/mozilla/MozDownload.cpp
index 254738f18..bdce1212f 100644
--- a/embed/mozilla/MozDownload.cpp
+++ b/embed/mozilla/MozDownload.cpp
@@ -47,6 +47,8 @@
#include <stdlib.h>
#include <glib/gi18n.h>
+#include <gio/gdesktopappinfo.h>
+#include <gio/gio.h>
#include <nsStringAPI.h>
@@ -351,7 +353,7 @@ MozDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aRequest,
#ifdef HAVE_GECKO_1_9
return NS_OK;
#else
- GnomeVFSMimeApplication *helperApp;
+ GDesktopAppInfo *helperApp;
NS_ENSURE_TRUE (mMIMEInfo, NS_ERROR_FAILURE);
nsString description;
@@ -371,16 +373,22 @@ MozDownload::OnStateChange (nsIWebProgress *aWebProgress, nsIRequest *aRequest,
char *end;
guint32 user_time = strtoul (str[1], &end, 0);
- helperApp = gnome_vfs_mime_application_new_from_desktop_id (str[2]);
+ helperApp = g_desktop_app_info_new (str[2]);
if (!helperApp) return NS_ERROR_FAILURE;
nsCString aDest;
rv = mDestination->GetSpec (aDest);
NS_ENSURE_SUCCESS (rv, NS_ERROR_FAILURE);
+
+ GFile* file;
+ GList* list = NULL;
- ephy_file_launch_application (helperApp, destSpec.get (), user_time);
+ file = g_file_new_for_uri (destSpec.get ());
+ list = g_list_append (list, file);
+ ephy_file_launch_application (G_APP_INFO (helperApp), list, user_time, NULL);
- gnome_vfs_mime_application_free (helperApp);
+ g_list_free (list);
+ g_object_unref (file);
g_strfreev (str);
}
else if (g_str_has_prefix (cDesc.get(), "gnome-browse-to-file:"))
diff --git a/embed/mozilla/MozDownload.h b/embed/mozilla/MozDownload.h
index 27fef41c7..411230bdb 100644
--- a/embed/mozilla/MozDownload.h
+++ b/embed/mozilla/MozDownload.h
@@ -42,8 +42,6 @@
#ifndef MozDownload_h__
#define MozDownload_h__
-#include <libgnomevfs/gnome-vfs-mime-handlers.h>
-
#include <nsCOMPtr.h>
#include <nsIInterfaceRequestor.h>
#include <nsITransfer.h>
diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp
index 1d07ab548..05f081fac 100644
--- a/embed/mozilla/mozilla-embed-single.cpp
+++ b/embed/mozilla/mozilla-embed-single.cpp
@@ -29,7 +29,7 @@
#include <glib.h>
#include <glib/gi18n.h>
-#include <libgnomevfs/gnome-vfs-utils.h>
+#include <gio/gio.h>
#include <nsStringAPI.h>
@@ -79,10 +79,10 @@
#include "ephy-debug.h"
#include "ephy-embed-prefs.h"
#include "ephy-embed-shell.h"
-#include "ephy-file-helpers.h"
#include "ephy-langs.h"
#include "ephy-password-manager.h"
#include "ephy-permission-manager.h"
+#include "ephy-string.h"
#include "mozilla-embed.h"
#include "mozilla-notifiers.h"
#include "mozilla-x509-cert.h"
@@ -114,7 +114,7 @@ struct MozillaEmbedSinglePrivate
char *user_css_file;
guint user_css_enabled_notifier_id;
- EphyFileMonitor *user_css_file_monitor;
+ GFileMonitor *user_css_file_monitor;
guint user_css_enabled : 1;
guint online : 1;
@@ -263,7 +263,8 @@ mozilla_init_plugin_add_unique_path (GList *list,
if (path == NULL)
return list;
- canon = gnome_vfs_make_path_name_canonical (path);
+ canon = ephy_string_canonicalize_pathname (path);
+
for (l = list; l != NULL; l = l->next) {
if (g_str_equal (list->data, canon) != FALSE) {
/* The path is already in the list */
@@ -470,14 +471,15 @@ user_css_unregister (MozillaEmbedSingle *single)
}
static void
-user_css_file_monitor_func (EphyFileMonitor *,
- const char *,
- GnomeVFSMonitorEventType event_type,
- MozillaEmbedSingle *single)
+user_css_file_monitor_changed_cb (GFileMonitor *file_monitor,
+ GFile *file,
+ GFile *other_file,
+ gint event_type,
+ MozillaEmbedSingle *single)
{
LOG ("Reregistering the user style sheet");
- if (event_type == GNOME_VFS_MONITOR_EVENT_DELETED)
+ if (event_type == G_FILE_MONITOR_EVENT_DELETED)
{
user_css_unregister (single);
}
@@ -505,27 +507,28 @@ user_css_enabled_notify (GConfClient *client,
if (enabled)
{
- char *uri;
+ GFile *file;
user_css_register (single);
- uri = gnome_vfs_get_uri_from_local_path (priv->user_css_file);
+ file = g_file_new_for_path (priv->user_css_file);
g_assert (priv->user_css_file_monitor == NULL);
priv->user_css_file_monitor =
- ephy_file_monitor_add (uri,
- GNOME_VFS_MONITOR_FILE,
- USER_CSS_LOAD_DELAY,
- (EphyFileMonitorFunc) user_css_file_monitor_func,
- NULL,
- single);
- g_free (uri);
+ g_file_monitor_file (file,
+ G_FILE_MONITOR_NONE, NULL);
+ g_file_monitor_set_rate_limit (priv->user_css_file_monitor,
+ USER_CSS_LOAD_DELAY);
+ g_signal_connect (priv->user_css_file_monitor, "changed",
+ G_CALLBACK (user_css_file_monitor_changed_cb),
+ single);
+ g_object_unref (file);
}
else
{
if (priv->user_css_file_monitor != NULL)
{
- ephy_file_monitor_cancel (priv->user_css_file_monitor);
+ g_file_monitor_cancel (priv->user_css_file_monitor);
priv->user_css_file_monitor = NULL;
}
@@ -563,7 +566,7 @@ mozilla_stylesheet_shutdown (MozillaEmbedSingle *single)
if (priv->user_css_file_monitor != NULL)
{
- ephy_file_monitor_cancel (priv->user_css_file_monitor);
+ g_file_monitor_cancel (priv->user_css_file_monitor);
priv->user_css_file_monitor = NULL;
}