aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-embed-shell.c
diff options
context:
space:
mode:
Diffstat (limited to 'embed/ephy-embed-shell.c')
-rw-r--r--embed/ephy-embed-shell.c196
1 files changed, 16 insertions, 180 deletions
diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c
index e4ca5bb73..3569590fa 100644
--- a/embed/ephy-embed-shell.c
+++ b/embed/ephy-embed-shell.c
@@ -21,7 +21,7 @@
#include "ephy-embed-shell.h"
#include "ephy-marshal.h"
#include "ephy-favicon-cache.h"
-#include "mozilla-embed-shell.h"
+#include "mozilla-embed-single.h"
#include "ephy-debug.h"
#include <string.h>
@@ -39,6 +39,7 @@ struct EphyEmbedShellPrivate
DownloaderView *downloader_view;
GList *embeds;
EphyFaviconCache *favicon_cache;
+ EphyEmbedSingle *embed_single;
};
static void
@@ -59,12 +60,6 @@ static guint ephy_embed_shell_signals[LAST_SIGNAL] = { 0 };
EphyEmbedShell *embed_shell;
GType
-ephy_embed_shell_get_impl (void)
-{
- return MOZILLA_EMBED_SHELL_TYPE;
-}
-
-GType
ephy_embed_shell_get_type (void)
{
static GType ephy_embed_shell_type = 0;
@@ -130,7 +125,6 @@ ephy_embed_shell_class_init (EphyEmbedShellClass *klass)
static void
ephy_embed_shell_init (EphyEmbedShell *ges)
{
-
/* Singleton, globally accessible */
embed_shell = ges;
@@ -176,6 +170,12 @@ ephy_embed_shell_finalize (GObject *object)
g_object_unref (G_OBJECT (ges->priv->favicon_cache));
}
+ LOG ("Unref embed single")
+ if (ges->priv->embed_single)
+ {
+ g_object_unref (G_OBJECT (ges->priv->embed_single));
+ }
+
g_free (ges->priv);
G_OBJECT_CLASS (parent_class)->finalize (object);
@@ -187,7 +187,7 @@ ephy_embed_shell_new (const char *type)
if (strcmp (type, "mozilla") == 0)
{
return EPHY_EMBED_SHELL (g_object_new
- (MOZILLA_EMBED_SHELL_TYPE, NULL));
+ (EPHY_EMBED_SHELL_TYPE, NULL));
}
g_assert_not_reached ();
@@ -243,14 +243,6 @@ ephy_embed_shell_get_embeds (EphyEmbedShell *ges)
return ges->priv->embeds;
}
-void
-ephy_embed_shell_get_capabilities (EphyEmbedShell *shell,
- EmbedShellCapabilities *caps)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->get_capabilities (shell, caps);
-}
-
EphyHistory *
ephy_embed_shell_get_global_history (EphyEmbedShell *shell)
{
@@ -265,128 +257,15 @@ ephy_embed_shell_get_downloader_view (EphyEmbedShell *shell)
return klass->get_downloader_view (shell);
}
-gresult
-ephy_embed_shell_clear_cache (EphyEmbedShell *shell,
- CacheType type)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->clear_cache (shell, type);
-}
-
-gresult
-ephy_embed_shell_set_offline_mode (EphyEmbedShell *shell,
- gboolean offline)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->set_offline_mode (shell, offline);
-}
-
-gresult
-ephy_embed_shell_load_proxy_autoconf (EphyEmbedShell *shell,
- const char* url)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->load_proxy_autoconf (shell, url);
-}
-
-gresult
-ephy_embed_shell_get_charset_titles (EphyEmbedShell *shell,
- const char *group,
- GList **charsets)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->get_charset_titles (shell, group, charsets);
-}
-
-gresult
-ephy_embed_shell_get_charset_groups (EphyEmbedShell *shell,
- GList **groups)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->get_charset_groups (shell, groups);
-}
-
-gresult
-ephy_embed_shell_get_font_list (EphyEmbedShell *shell,
- const char *langGroup,
- const char *fontType,
- GList **fontList,
- char **default_font)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->get_font_list (shell, langGroup, fontType, fontList,
- default_font);
-}
-
-gresult
-ephy_embed_shell_list_cookies (EphyEmbedShell *shell,
- GList **cookies)
+EphyEmbedSingle *
+ephy_embed_shell_get_embed_single (EphyEmbedShell *shell)
{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->list_cookies (shell, cookies);
-}
-
-gresult
-ephy_embed_shell_remove_cookies (EphyEmbedShell *shell,
- GList *cookies)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->remove_cookies (shell, cookies);
-}
-
-gresult
-ephy_embed_shell_list_passwords (EphyEmbedShell *shell,
- PasswordType type,
- GList **passwords)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->list_passwords (shell, type, passwords);
-}
+ if (!shell->priv->embed_single)
+ {
+ shell->priv->embed_single = ephy_embed_single_new ("mozilla");
+ }
-gresult
-ephy_embed_shell_remove_passwords (EphyEmbedShell *shell,
- GList *passwords,
- PasswordType type)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->remove_passwords (shell, passwords, type);
-}
-
-/**
- * show_file_picker: Shows a file picker. Can be configured to select a
- * file or a directory.
- * @parentWidget: Parent Widget for file picker.
- * @title: Title for file picker.
- * @directory: Initial directory to start in.
- * @file: Initial filename to show in filepicker.
- * @mode: Mode to run filepicker in (modeOpen, modeSave, modeGetFolder)
- * @ret_fullpath: On a successful return, will hold the full path to selected
- * file or directory.
- * @file_formats: an array of FileFormat structures to fill the format chooser
- * optionmenu. NULL if not needed. The last item must have
- * description == NULL.
- * @ret_file_format: where to store the index of the format selected (can be
- * NULL)
- * returns: TRUE for success, FALSE for failure.
- */
-
-gresult
-ephy_embed_shell_show_file_picker (EphyEmbedShell *shell,
- GtkWidget *parentWidget,
- const char *title,
- const char *directory,
- const char *file,
- FilePickerMode mode,
- char **ret_fullpath,
- gboolean *ret_save_content,
- FileFormat *file_formats,
- int *ret_file_format)
-{
- EphyEmbedShellClass *klass = EPHY_EMBED_SHELL_GET_CLASS (shell);
- return klass->show_file_picker (shell, parentWidget, title,
- directory, file, mode,
- ret_fullpath, ret_save_content,
- file_formats, ret_file_format);
+ return shell->priv->embed_single;
}
static EphyHistory *
@@ -414,46 +293,3 @@ impl_get_downloader_view (EphyEmbedShell *shell)
return shell->priv->downloader_view;
}
-gresult
-ephy_embed_shell_free_cookies (EphyEmbedShell *shell,
- GList *cookies)
-{
- GList *l;
-
- for (l = cookies; l != NULL; l = l->next)
- {
- CookieInfo *info = (CookieInfo *)l->data;
-
- g_free (info->domain);
- g_free (info->name);
- g_free (info->value);
- g_free (info->path);
- g_free (info->secure);
- g_free (info->expire);
- g_free (info);
- }
-
- g_list_free (cookies);
-
- return G_OK;
-}
-
-gresult
-ephy_embed_shell_free_passwords (EphyEmbedShell *shell,
- GList *passwords)
-{
- GList *l;
-
- for (l = passwords; l != NULL; l = l->next)
- {
- PasswordInfo *info = (PasswordInfo *)l->data;
- g_free (info->host);
- g_free (info->username);
- g_free (info);
- }
-
- g_list_free (passwords);
-
- return G_OK;
-}
-