diff options
-rw-r--r-- | ChangeLog | 28 | ||||
-rw-r--r-- | doc/reference/Makefile.am | 3 | ||||
-rw-r--r-- | embed/Makefile.am | 6 | ||||
-rw-r--r-- | embed/ephy-embed-factory.c | 80 | ||||
-rw-r--r-- | embed/ephy-embed-factory.h | 32 | ||||
-rw-r--r-- | embed/ephy-embed-persist.c | 8 | ||||
-rw-r--r-- | embed/ephy-embed-persist.h | 2 | ||||
-rw-r--r-- | embed/ephy-embed-popup-control.c | 7 | ||||
-rw-r--r-- | embed/ephy-embed-shell.c | 4 | ||||
-rw-r--r-- | embed/ephy-embed.c | 8 | ||||
-rw-r--r-- | embed/ephy-embed.h | 2 | ||||
-rw-r--r-- | embed/ephy-favicon-cache.c | 4 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed-persist.cpp | 14 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed-single.cpp | 6 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed-single.h | 2 | ||||
-rw-r--r-- | embed/mozilla/mozilla-embed.cpp | 17 | ||||
-rw-r--r-- | src/Makefile.am | 2 | ||||
-rw-r--r-- | src/ephy-nautilus-view.c | 9 | ||||
-rw-r--r-- | src/ephy-tab.c | 8 | ||||
-rw-r--r-- | src/popup-commands.c | 9 | ||||
-rw-r--r-- | src/window-commands.c | 10 |
21 files changed, 208 insertions, 53 deletions
@@ -1,3 +1,31 @@ +2003-11-22 Marco Pesenti Gritti <marco@gnome.org> + + * doc/reference/Makefile.am: + * embed/Makefile.am: + * embed/ephy-embed-persist.c: (ephy_embed_persist_save): + * embed/ephy-embed-persist.h: + * embed/ephy-embed-popup-control.c: (save_url), + (embed_popup_set_image_as_background_cmd): + * embed/ephy-embed-shell.c: (ephy_embed_shell_get_embed_single): + * embed/ephy-embed.c: + * embed/ephy-embed.h: + * embed/ephy-favicon-cache.c: (ephy_favicon_cache_download): + * embed/mozilla/mozilla-embed-persist.cpp: + * embed/mozilla/mozilla-embed-single.cpp: + * embed/mozilla/mozilla-embed-single.h: + * embed/mozilla/mozilla-embed.cpp: + * src/Makefile.am: + * src/ephy-nautilus-view.c: (ephy_nautilus_view_instance_init): + * src/ephy-tab.c: (ephy_tab_init): + * src/popup-commands.c: (save_property_url), + (popup_cmd_set_image_as_background): + * src/window-commands.c: (window_cmd_file_save_as), + (save_temp_source): + + Add a factory to create embed objects and use it. + Deal with dependency of mozilla-embed and mozilla-embed-persist + on mozilla-embed-single internally. + 2003-11-22 Christian Persch <chpe@cvs.gnome.org> * embed/mozilla/mozilla-embed-single.cpp: diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am index 148e4d299..9c531717d 100644 --- a/doc/reference/Makefile.am +++ b/doc/reference/Makefile.am @@ -168,8 +168,9 @@ GTKDOC_CFLAGS = -I$(top_srcdir)/src \ GTKDOC_LIBS = \ $(top_builddir)/src/libephymain.la \ $(top_builddir)/src/bookmarks/libephybookmarks.la \ - $(top_builddir)/embed/libephyembed.la \ + $(top_builddir)/embed/libephyembedfactory.la \ $(top_builddir)/embed/mozilla/libephymozillaembed.la \ + $(top_builddir)/embed/libephyembed.la \ $(top_builddir)/lib/widgets/libephywidgets.la \ $(top_builddir)/lib/libephymisc.la \ $(top_builddir)/lib/egg/libegg.la \ diff --git a/embed/Makefile.am b/embed/Makefile.am index 511050639..e082e2c91 100644 --- a/embed/Makefile.am +++ b/embed/Makefile.am @@ -13,7 +13,7 @@ INCLUDES += -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED \ -DGNOME_DISABLE_DEPRECATED -DBONOBO_DISABLE_DEPRECATED $(WARN_CFLAGS) endif -noinst_LTLIBRARIES = libephyembed.la +noinst_LTLIBRARIES = libephyembed.la libephyembedfactory.la headerdir = $(prefix)/include/epiphany-@EPIPHANY_MAJOR@/epiphany header_DATA = $(INST_H_FILES) @@ -63,4 +63,6 @@ libephyembed_la_SOURCES = \ $(INST_H_FILES) \ $(NOINST_H_FILES) -libephyembed_la_LIBADD = $(top_builddir)/embed/mozilla/libephymozillaembed.la +libephyembedfactory_la_SOURCES = \ + ephy-embed-factory.c \ + ephy-embed-factory.h diff --git a/embed/ephy-embed-factory.c b/embed/ephy-embed-factory.c new file mode 100644 index 000000000..74dfd4853 --- /dev/null +++ b/embed/ephy-embed-factory.c @@ -0,0 +1,80 @@ +/* + * Copyright (C) 2000-2003 Marco Pesenti Gritti + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#include "ephy-embed-factory.h" +#include "mozilla-embed.h" +#include "mozilla-embed-persist.h" +#include "mozilla-embed-single.h" + +#include <string.h> + +typedef enum +{ + EPHY_EMBED_OBJECT, + EPHY_EMBED_PERSIST_OBJECT, + EPHY_EMBED_SINGLE_OBJECT +} EmbedObjectType; + +static EmbedObjectType +type_from_id (const char *object_id) +{ + EmbedObjectType result = 0; + + if (strcmp (object_id, "EphyEmbed") == 0) + { + result = EPHY_EMBED_OBJECT; + } + else if (strcmp (object_id, "EphyEmbedPersist") == 0) + { + result = EPHY_EMBED_PERSIST_OBJECT; + } + else if (strcmp (object_id, "EphyEmbedSingle") == 0) + { + result = EPHY_EMBED_SINGLE_OBJECT; + } + else + { + g_assert_not_reached (); + } + + return result; +} + +GObject * +ephy_embed_factory_new_object (const char *object_id) +{ + GObject *object; + + switch (type_from_id (object_id)) + { + case EPHY_EMBED_OBJECT: + object = g_object_new (MOZILLA_TYPE_EMBED, NULL); + break; + case EPHY_EMBED_PERSIST_OBJECT: + object = g_object_new (MOZILLA_TYPE_EMBED_PERSIST, NULL); + break; + case EPHY_EMBED_SINGLE_OBJECT: + object = g_object_new (MOZILLA_TYPE_EMBED_SINGLE, NULL); + break; + default: + object = NULL; + } + + return object; +} diff --git a/embed/ephy-embed-factory.h b/embed/ephy-embed-factory.h new file mode 100644 index 000000000..c32c9cdff --- /dev/null +++ b/embed/ephy-embed-factory.h @@ -0,0 +1,32 @@ +/* + * Copyright (C) 2000-2003 Marco Pesenti Gritti + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2, or (at your option) + * any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * + */ + +#ifndef EPHY_EMBED_FACTORY_H +#define EPHY_EMBED_FACTORY_H + +#include <glib-object.h> +#include <glib.h> + +G_BEGIN_DECLS + +GObject *ephy_embed_factory_new_object (const char *object_id); + +G_END_DECLS + +#endif diff --git a/embed/ephy-embed-persist.c b/embed/ephy-embed-persist.c index 41224a38e..28cddbb2b 100644 --- a/embed/ephy-embed-persist.c +++ b/embed/ephy-embed-persist.c @@ -435,11 +435,3 @@ ephy_embed_persist_save (EphyEmbedPersist *persist) EphyEmbedPersistClass *klass = EPHY_EMBED_PERSIST_GET_CLASS (persist); return klass->save (persist); } - -EphyEmbedPersist * -ephy_embed_persist_new (EphyEmbed *embed) -{ - return EPHY_EMBED_PERSIST (g_object_new (MOZILLA_TYPE_EMBED_PERSIST, - "embed", embed, - NULL)); -} diff --git a/embed/ephy-embed-persist.h b/embed/ephy-embed-persist.h index 1eadb5940..403544973 100644 --- a/embed/ephy-embed-persist.h +++ b/embed/ephy-embed-persist.h @@ -73,8 +73,6 @@ struct EphyEmbedPersistClass GType ephy_embed_persist_get_type (void); -EphyEmbedPersist *ephy_embed_persist_new (EphyEmbed *embed); - gboolean ephy_embed_persist_save (EphyEmbedPersist *persist); void ephy_embed_persist_cancel (EphyEmbedPersist *persist); diff --git a/embed/ephy-embed-popup-control.c b/embed/ephy-embed-popup-control.c index 0fc39c767..157f13744 100644 --- a/embed/ephy-embed-popup-control.c +++ b/embed/ephy-embed-popup-control.c @@ -20,6 +20,7 @@ */ #include "ephy-embed-popup-control.h" +#include "ephy-embed-factory.h" #include "ephy-embed-persist.h" #include "ephy-bonobo-extensions.h" #include "ephy-prefs.h" @@ -488,7 +489,8 @@ save_url (EphyEmbedPopupControl *popup, widget = GTK_WIDGET (popup->priv->embed); window = gtk_widget_get_toplevel (widget); - persist = ephy_embed_persist_new (popup->priv->embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); ephy_embed_persist_set_fc_title (persist, title); ephy_embed_persist_set_fc_parent (persist,GTK_WINDOW (window)); @@ -593,7 +595,8 @@ embed_popup_set_image_as_background_cmd (BonoboUIComponent *uic, ephy_embed_event_get_property (info, "image", &value); location = g_value_get_string (value); - persist = ephy_embed_persist_new (popup->priv->embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); base = g_path_get_basename (location); dest = g_build_filename (ephy_dot_dir (), base, NULL); diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c index e15aba244..9797751ea 100644 --- a/embed/ephy-embed-shell.c +++ b/embed/ephy-embed-shell.c @@ -21,6 +21,7 @@ #include <config.h> #include "ephy-embed-shell.h" +#include "ephy-embed-factory.h" #include "ephy-marshal.h" #include "ephy-file-helpers.h" #include "ephy-favicon-cache.h" @@ -209,7 +210,8 @@ ephy_embed_shell_get_embed_single (EphyEmbedShell *shell) if (!shell->priv->embed_single) { - shell->priv->embed_single = mozilla_embed_single_new (); + shell->priv->embed_single = EPHY_EMBED_SINGLE + (ephy_embed_factory_new_object ("EphyEmbedSingle")); } return shell->priv->embed_single; diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c index 78f137fe1..6028472fe 100644 --- a/embed/ephy-embed.c +++ b/embed/ephy-embed.c @@ -156,14 +156,6 @@ ephy_embed_base_init (gpointer g_class) } } -EphyEmbed * -ephy_embed_new (GObject *single) -{ - g_assert (MOZILLA_IS_EMBED_SINGLE (single)); - - return EPHY_EMBED (g_object_new (MOZILLA_TYPE_EMBED, NULL)); -} - void ephy_embed_load_url (EphyEmbed *embed, const char *url) diff --git a/embed/ephy-embed.h b/embed/ephy-embed.h index e3e577c95..8d16da850 100644 --- a/embed/ephy-embed.h +++ b/embed/ephy-embed.h @@ -243,8 +243,6 @@ struct EphyEmbedClass GType ephy_embed_get_type (void); -EphyEmbed *ephy_embed_new (GObject *single); - /* Base */ void ephy_embed_load_url (EphyEmbed *embed, const char *url); diff --git a/embed/ephy-favicon-cache.c b/embed/ephy-favicon-cache.c index 6c443773f..4da3ab2e8 100644 --- a/embed/ephy-favicon-cache.c +++ b/embed/ephy-favicon-cache.c @@ -25,6 +25,7 @@ #include <sys/stat.h> #include "ephy-embed-persist.h" +#include "ephy-embed-factory.h" #include "ephy-file-helpers.h" #include "ephy-favicon-cache.h" #include "ephy-node-common.h" @@ -354,7 +355,8 @@ ephy_favicon_cache_download (EphyFaviconCache *cache, dest = g_build_filename (cache->priv->directory, filename, NULL); - persist = ephy_embed_persist_new (NULL); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); ephy_embed_persist_set_dest (persist, dest); ephy_embed_persist_set_flags (persist, EMBED_PERSIST_NO_VIEW); diff --git a/embed/mozilla/mozilla-embed-persist.cpp b/embed/mozilla/mozilla-embed-persist.cpp index 166942139..2818bb3b4 100644 --- a/embed/mozilla/mozilla-embed-persist.cpp +++ b/embed/mozilla/mozilla-embed-persist.cpp @@ -24,6 +24,7 @@ #include "mozilla-embed-persist.h" #include "mozilla-embed.h" +#include "ephy-embed-shell.h" #include "EphyBrowser.h" #include "EphyHeaderSniffer.h" #include "MozDownload.h" @@ -85,7 +86,6 @@ static void mozilla_embed_persist_init (MozillaEmbedPersist *persist) { persist->priv = MOZILLA_EMBED_PERSIST_GET_PRIVATE (persist); - persist->priv->mPersist = do_CreateInstance (NS_WEBBROWSERPERSIST_CONTRACTID); } @@ -264,6 +264,17 @@ impl_save (EphyEmbedPersist *persist) return TRUE; } +static GObject * +mozilla_embed_persist_constructor (GType type, guint n_construct_properties, + GObjectConstructParam *construct_params) +{ + /* we depend on single because of mozilla initialization */ + ephy_embed_shell_get_embed_single (embed_shell); + + return parent_class->constructor (type, n_construct_properties, + construct_params); +} + static void mozilla_embed_persist_class_init (MozillaEmbedPersistClass *klass) { @@ -273,6 +284,7 @@ mozilla_embed_persist_class_init (MozillaEmbedPersistClass *klass) parent_class = (GObjectClass *) g_type_class_peek_parent (klass); object_class->finalize = mozilla_embed_persist_finalize; + object_class->constructor = mozilla_embed_persist_constructor; persist_class->save = impl_save; persist_class->cancel = impl_cancel; diff --git a/embed/mozilla/mozilla-embed-single.cpp b/embed/mozilla/mozilla-embed-single.cpp index a3a88c465..3df1860ad 100644 --- a/embed/mozilla/mozilla-embed-single.cpp +++ b/embed/mozilla/mozilla-embed-single.cpp @@ -173,12 +173,6 @@ mozilla_embed_single_get_type (void) return type; } -EphyEmbedSingle * -mozilla_embed_single_new (void) -{ - return EPHY_EMBED_SINGLE (g_object_new (MOZILLA_TYPE_EMBED_SINGLE, NULL)); -} - static gboolean mozilla_set_default_prefs (MozillaEmbedSingle *mes) { diff --git a/embed/mozilla/mozilla-embed-single.h b/embed/mozilla/mozilla-embed-single.h index 08732a837..3e47febeb 100644 --- a/embed/mozilla/mozilla-embed-single.h +++ b/embed/mozilla/mozilla-embed-single.h @@ -54,8 +54,6 @@ struct MozillaEmbedSingleClass GType mozilla_embed_single_get_type (void); -EphyEmbedSingle *mozilla_embed_single_new (void); - G_END_DECLS #endif diff --git a/embed/mozilla/mozilla-embed.cpp b/embed/mozilla/mozilla-embed.cpp index 497bc3753..1ebec735a 100644 --- a/embed/mozilla/mozilla-embed.cpp +++ b/embed/mozilla/mozilla-embed.cpp @@ -19,10 +19,9 @@ */ #include "mozilla-embed.h" - +#include "ephy-embed-shell.h" #include "ephy-command-manager.h" #include "ephy-string.h" -#include "ephy-embed.h" #include "ephy-debug.h" #include "MozillaPrivate.h" @@ -247,6 +246,17 @@ mozilla_embed_realize (GtkWidget *widget) } } +static GObject * +mozilla_embed_constructor (GType type, guint n_construct_properties, + GObjectConstructParam *construct_params) +{ + /* we depend on single because of mozilla initialization */ + ephy_embed_shell_get_embed_single (embed_shell); + + return parent_class->constructor (type, n_construct_properties, + construct_params); +} + static void mozilla_embed_class_init (MozillaEmbedClass *klass) { @@ -256,6 +266,8 @@ mozilla_embed_class_init (MozillaEmbedClass *klass) parent_class = (GObjectClass *) g_type_class_peek_parent (klass); + object_class->constructor = mozilla_embed_constructor; + gtk_object_class->destroy = mozilla_embed_destroy; widget_class->realize = mozilla_embed_realize; @@ -267,7 +279,6 @@ static void mozilla_embed_init (MozillaEmbed *embed) { embed->priv = MOZILLA_EMBED_GET_PRIVATE (embed); - embed->priv->browser = new EphyBrowser (); embed->priv->security_state = -1; diff --git a/src/Makefile.am b/src/Makefile.am index 936f76e20..e4c3c48be 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -121,6 +121,8 @@ epiphany_bin_SOURCES = ephy-main.c epiphany_bin_LDADD = \ $(top_builddir)/src/libephymain.la \ $(top_builddir)/src/bookmarks/libephybookmarks.la \ + $(top_builddir)/embed/libephyembedfactory.la \ + $(top_builddir)/embed/mozilla/libephymozillaembed.la \ $(top_builddir)/embed/libephyembed.la \ $(top_builddir)/lib/widgets/libephywidgets.la \ $(top_builddir)/lib/libephymisc.la \ diff --git a/src/ephy-nautilus-view.c b/src/ephy-nautilus-view.c index 14587ae3d..84351e0eb 100644 --- a/src/ephy-nautilus-view.c +++ b/src/ephy-nautilus-view.c @@ -27,6 +27,7 @@ #include <bonobo/bonobo-ui-util.h> #include <string.h> +#include "ephy-embed-factory.h" #include "ephy-embed-popup-control.h" #include "ephy-nautilus-view.h" #include "ephy-embed.h" @@ -157,17 +158,15 @@ ephy_nautilus_view_instance_init (EphyNautilusView *view) { GtkWidget *w; EphyNautilusViewPrivate *p = EPHY_NAUTILUS_VIEW_GET_PRIVATE (view); - EphyEmbedSingle *single; float *levels; gchar **names; guint i; BonoboControl *control; - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - view->priv = p; - view->priv->embed = ephy_embed_new (G_OBJECT (single)); + + view->priv->embed = EPHY_EMBED + (ephy_embed_factory_new_object ("EphyEmbed")); g_signal_connect (view->priv->embed, "link_message", G_CALLBACK (gnv_embed_link_message_cb), diff --git a/src/ephy-tab.c b/src/ephy-tab.c index ac8859f69..def1e741b 100644 --- a/src/ephy-tab.c +++ b/src/ephy-tab.c @@ -26,6 +26,7 @@ #include "ephy-shell.h" #include "eel-gconf-extensions.h" #include "ephy-prefs.h" +#include "ephy-embed-factory.h" #include "ephy-embed-prefs.h" #include "ephy-debug.h" #include "ephy-string.h" @@ -1035,15 +1036,11 @@ static void ephy_tab_init (EphyTab *tab) { GObject *embed, *embed_widget; - EphyEmbedSingle *single; EphyFaviconCache *cache; char *id; LOG ("EphyTab initialising %p", tab) - single = ephy_embed_shell_get_embed_single - (EPHY_EMBED_SHELL (ephy_shell)); - tab->priv = EPHY_TAB_GET_PRIVATE (tab); tab->priv->window = NULL; @@ -1065,7 +1062,8 @@ ephy_tab_init (EphyTab *tab) tab->priv->setting_zoom = FALSE; tab->priv->address_expire = TAB_ADDRESS_EXPIRE_NOW; - tab->priv->embed = ephy_embed_new (G_OBJECT(single)); + tab->priv->embed = EPHY_EMBED + (ephy_embed_factory_new_object ("EphyEmbed")); g_assert (tab->priv->embed != NULL); embed = G_OBJECT (tab->priv->embed); diff --git a/src/popup-commands.c b/src/popup-commands.c index 6d8a1c4a7..ac5e5ee43 100644 --- a/src/popup-commands.c +++ b/src/popup-commands.c @@ -25,6 +25,7 @@ #include "popup-commands.h" #include "ephy-shell.h" #include "ephy-new-bookmark.h" +#include "ephy-embed-factory.h" #include "ephy-embed-persist.h" #include "ephy-prefs.h" #include "eel-gconf-extensions.h" @@ -282,8 +283,10 @@ save_property_url (GtkAction *action, ephy_embed_event_get_property (info, property, &value); location = g_value_get_string (value); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_fc_title (persist, title); ephy_embed_persist_set_fc_parent (persist,GTK_WINDOW (window)); ephy_embed_persist_set_flags @@ -373,11 +376,13 @@ popup_cmd_set_image_as_background (GtkAction *action, ephy_embed_event_get_property (info, "image", &value); location = g_value_get_string (value); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); base = g_path_get_basename (location); dest = g_build_filename (ephy_dot_dir (), base, NULL); + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_dest (persist, dest); ephy_embed_persist_set_flags (persist, EMBED_PERSIST_NO_VIEW); ephy_embed_persist_set_source (persist, location); diff --git a/src/window-commands.c b/src/window-commands.c index c5a693f9e..f545747fb 100644 --- a/src/window-commands.c +++ b/src/window-commands.c @@ -23,6 +23,7 @@ #endif #include "ephy-shell.h" +#include "ephy-embed-factory.h" #include "ephy-embed-persist.h" #include "ephy-debug.h" #include "ephy-command-manager.h" @@ -378,8 +379,10 @@ window_cmd_file_save_as (GtkAction *action, embed = ephy_window_get_active_embed (window); g_return_if_fail (embed != NULL); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_fc_title (persist, _("Save As")); ephy_embed_persist_set_fc_parent (persist,GTK_WINDOW (window)); ephy_embed_persist_set_flags @@ -736,7 +739,10 @@ save_temp_source (EphyEmbed *embed) tmp = ephy_file_tmp_filename (base, "html"); g_free (base); - persist = ephy_embed_persist_new (embed); + persist = EPHY_EMBED_PERSIST + (ephy_embed_factory_new_object ("EphyEmbedPersist")); + + ephy_embed_persist_set_embed (persist, embed); ephy_embed_persist_set_flags (persist, EMBED_PERSIST_COPY_PAGE | EMBED_PERSIST_NO_VIEW); ephy_embed_persist_set_dest (persist, tmp); |