summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDaniel Gryniewicz <dang@gentoo.org>2006-11-06 16:25:56 +0000
committerDaniel Gryniewicz <dang@gentoo.org>2006-11-06 16:25:56 +0000
commit801359bda46d32cff795740368e13cac4f729394 (patch)
tree7958d1354891a5ddb89ea624dc7981a99d27bbfe
parentNew patch (diff)
downloaduser-801359bda46d32cff795740368e13cac4f729394.tar.gz
user-801359bda46d32cff795740368e13cac4f729394.tar.bz2
user-801359bda46d32cff795740368e13cac4f729394.zip
ephy with sessionsaver
svn path=/user/; revision=9
-rw-r--r--www-client/epiphany-extensions/Manifest12
-rw-r--r--www-client/epiphany-extensions/epiphany-extensions-2.16.1.ebuild58
-rw-r--r--www-client/epiphany-extensions/files/digest-epiphany-extensions-2.16.13
-rw-r--r--www-client/epiphany-extensions/files/epiphany-extensions-2.16.1-sessionsaver-v4.patch519
4 files changed, 592 insertions, 0 deletions
diff --git a/www-client/epiphany-extensions/Manifest b/www-client/epiphany-extensions/Manifest
new file mode 100644
index 0000000..dc418b9
--- /dev/null
+++ b/www-client/epiphany-extensions/Manifest
@@ -0,0 +1,12 @@
+AUX epiphany-extensions-2.16.1-sessionsaver-v4.patch 19318 RMD160 963a9bb4a93dde9a47355f07df311aca9d86a658 SHA1 9f948e60dbc798ca656ae12ecb3a7ead04f8decc SHA256 27ed6e13b5f6ca883dae0d7379f4c2ca46add1e6138b58f8606aa766b38956c4
+MD5 aff0fb4e5f4d6dae62cb49e8c87c4914 files/epiphany-extensions-2.16.1-sessionsaver-v4.patch 19318
+RMD160 963a9bb4a93dde9a47355f07df311aca9d86a658 files/epiphany-extensions-2.16.1-sessionsaver-v4.patch 19318
+SHA256 27ed6e13b5f6ca883dae0d7379f4c2ca46add1e6138b58f8606aa766b38956c4 files/epiphany-extensions-2.16.1-sessionsaver-v4.patch 19318
+DIST epiphany-extensions-2.16.1.tar.bz2 810858 RMD160 95e11ed5b39bc1662fa606797c32c413c08326b3 SHA1 c28cb7ca0df2df814cab42c0a64a31a4c7d3f9c2 SHA256 315ef2eeaf2943830bdf04958af613dce62574aa6697acfab335a0b9e4f699c5
+EBUILD epiphany-extensions-2.16.1.ebuild 1666 RMD160 b98a1592b19870979774f592da451d40a391e7d0 SHA1 2ace80559c25847a285b8f84642849e643616af9 SHA256 e2fb2e01a69f217ac18583f0bd3cb92d313c3d5aac24359296cfc3b9647beb37
+MD5 7afcebfe094cabfc55745efce70f7310 epiphany-extensions-2.16.1.ebuild 1666
+RMD160 b98a1592b19870979774f592da451d40a391e7d0 epiphany-extensions-2.16.1.ebuild 1666
+SHA256 e2fb2e01a69f217ac18583f0bd3cb92d313c3d5aac24359296cfc3b9647beb37 epiphany-extensions-2.16.1.ebuild 1666
+MD5 c17c84f15737e4e2c66a22a5e4e8f226 files/digest-epiphany-extensions-2.16.1 283
+RMD160 09de95414c32c43e7f7dd040f180f8a0d37b057c files/digest-epiphany-extensions-2.16.1 283
+SHA256 9365a43525ae6ff2b14008d2c007a2fc3d12fe10a8205541c46ee3b5c012db2b files/digest-epiphany-extensions-2.16.1 283
diff --git a/www-client/epiphany-extensions/epiphany-extensions-2.16.1.ebuild b/www-client/epiphany-extensions/epiphany-extensions-2.16.1.ebuild
new file mode 100644
index 0000000..539454f
--- /dev/null
+++ b/www-client/epiphany-extensions/epiphany-extensions-2.16.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2006 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/www-client/epiphany-extensions/epiphany-extensions-2.16.1.ebuild,v 1.1 2006/10/13 12:59:21 leio Exp $
+
+inherit eutils gnome2
+
+DESCRIPTION="Extensions for the Epiphany web browser"
+HOMEPAGE="http://www.gnome.org/projects/epiphany/extensions.html"
+LICENSE="GPL-2"
+
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~ppc ~sparc ~x86"
+IUSE="debug pcre python"
+
+RDEPEND=">=www-client/epiphany-2.16
+ >=dev-libs/libxml2-2.6
+ >=dev-libs/glib-2.12
+ >=x11-libs/gtk+-2.10
+ >=gnome-base/libglade-2
+ app-text/opensp
+ >=www-client/mozilla-firefox-1.0.2-r1
+ pcre? ( >=dev-libs/libpcre-3.9-r2 )
+ >=sys-apps/dbus-0.34
+ python? ( >=dev-lang/python-2.3 )"
+
+DEPEND="${RDEPEND}
+ >=dev-util/pkgconfig-0.9
+ >=app-text/gnome-doc-utils-0.3.2
+ >=dev-util/intltool-0.35"
+
+DOCS="AUTHORS ChangeLog HACKING NEWS README"
+
+src_unpack() {
+ gnome2_src_unpack
+ epatch ${FILESDIR}/${P}-sessionsaver-v4.patch
+}
+
+pkg_setup() {
+ local extensions="actions auto-reload auto-scroller certificates
+ error-viewer extensions-manager-ui gestures java-console livehttpheaders
+ page-info permissions push-scroller rss sample sample-mozilla
+ select-stylesheet sessionsaver sidebar smart-bookmarks tab-groups
+ tab-states"
+
+ use pcre && extensions="${extensions} greasemonkey adblock"
+
+ use python && extensions="${extensions} python-console sample-python \
+ favicon"
+
+ local list_exts=""
+ for ext in $extensions; do
+ [ "x${list_exts}" != "x" ] && list_exts="${list_exts},"
+ list_exts="${list_exts}${ext}"
+ done
+
+ G2CONF="${G2CONF} --with-extensions=${list_exts} --with-mozilla=firefox"
+}
+
diff --git a/www-client/epiphany-extensions/files/digest-epiphany-extensions-2.16.1 b/www-client/epiphany-extensions/files/digest-epiphany-extensions-2.16.1
new file mode 100644
index 0000000..30ea03a
--- /dev/null
+++ b/www-client/epiphany-extensions/files/digest-epiphany-extensions-2.16.1
@@ -0,0 +1,3 @@
+MD5 93a8d37175dc1f173c0185c254de5c38 epiphany-extensions-2.16.1.tar.bz2 810858
+RMD160 95e11ed5b39bc1662fa606797c32c413c08326b3 epiphany-extensions-2.16.1.tar.bz2 810858
+SHA256 315ef2eeaf2943830bdf04958af613dce62574aa6697acfab335a0b9e4f699c5 epiphany-extensions-2.16.1.tar.bz2 810858
diff --git a/www-client/epiphany-extensions/files/epiphany-extensions-2.16.1-sessionsaver-v4.patch b/www-client/epiphany-extensions/files/epiphany-extensions-2.16.1-sessionsaver-v4.patch
new file mode 100644
index 0000000..cafa119
--- /dev/null
+++ b/www-client/epiphany-extensions/files/epiphany-extensions-2.16.1-sessionsaver-v4.patch
@@ -0,0 +1,519 @@
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/configure epiphany-extensions-2.16.0/configure
+--- epiphany-extensions-2.16.0.orig/configure 2006-09-03 13:56:14.000000000 -0400
++++ epiphany-extensions-2.16.0/configure 2006-10-05 15:50:42.000000000 -0400
+@@ -23420,7 +23420,7 @@
+ echo "$as_me:$LINENO: checking which extensions to build" >&5
+ echo $ECHO_N "checking which extensions to build... $ECHO_C" >&6
+
+-ALL_EXTENSIONS="actions adblock auto-reload auto-scroller certificates error-viewer extensions-manager-ui gestures greasemonkey java-console livehttpheaders page-info permissions push-scroller rss sample sample-mozilla select-stylesheet sidebar smart-bookmarks tab-groups tab-states"
++ALL_EXTENSIONS="actions adblock auto-reload auto-scroller certificates error-viewer extensions-manager-ui gestures greasemonkey java-console livehttpheaders page-info permissions push-scroller rss sample sample-mozilla select-stylesheet sessionsaver sidebar smart-bookmarks tab-groups tab-states"
+ USEFUL_EXTENSIONS="actions auto-reload auto-scroller certificates error-viewer extensions-manager-ui gestures java-console page-info push-scroller select-stylesheet sidebar smart-bookmarks tab-groups tab-states"
+ DEFAULT_EXTENSIONS="actions auto-scroller certificates error-viewer extensions-manager-ui gestures java-console page-info push-scroller select-stylesheet sidebar smart-bookmarks tab-groups tab-states"
+
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/configure.ac epiphany-extensions-2.16.0/configure.ac
+--- epiphany-extensions-2.16.0.orig/configure.ac 2006-09-03 13:55:48.000000000 -0400
++++ epiphany-extensions-2.16.0/configure.ac 2006-10-05 16:36:30.000000000 -0400
+@@ -151,7 +151,7 @@
+
+ AC_MSG_CHECKING([which extensions to build])
+
+-ALL_EXTENSIONS="actions adblock auto-reload auto-scroller certificates error-viewer extensions-manager-ui gestures greasemonkey java-console livehttpheaders page-info permissions push-scroller rss sample sample-mozilla select-stylesheet sidebar smart-bookmarks tab-groups tab-states"
++ALL_EXTENSIONS="actions adblock auto-reload auto-scroller certificates error-viewer extensions-manager-ui gestures greasemonkey java-console livehttpheaders page-info permissions push-scroller rss sample sample-mozilla select-stylesheet sessionsaver sidebar smart-bookmarks tab-groups tab-states"
+ USEFUL_EXTENSIONS="actions auto-reload auto-scroller certificates error-viewer extensions-manager-ui gestures java-console page-info push-scroller select-stylesheet sidebar smart-bookmarks tab-groups tab-states"
+ DEFAULT_EXTENSIONS="actions auto-scroller certificates error-viewer extensions-manager-ui gestures java-console page-info push-scroller select-stylesheet sidebar smart-bookmarks tab-groups tab-states"
+
+@@ -362,6 +362,7 @@
+ extensions/sample-python/Makefile
+ extensions/select-stylesheet/Makefile
+ extensions/select-stylesheet/mozilla/Makefile
++extensions/sessionsaver/Makefile
+ extensions/sidebar/Makefile
+ extensions/smart-bookmarks/Makefile
+ extensions/smart-bookmarks/mozilla/Makefile
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/extensions/sessionsaver/ephy-sessionsaver-extension.c epiphany-extensions-2.16.0/extensions/sessionsaver/ephy-sessionsaver-extension.c
+--- epiphany-extensions-2.16.0.orig/extensions/sessionsaver/ephy-sessionsaver-extension.c 1969-12-31 19:00:00.000000000 -0500
++++ epiphany-extensions-2.16.0/extensions/sessionsaver/ephy-sessionsaver-extension.c 2006-07-31 11:31:43.000000000 -0400
+@@ -0,0 +1,318 @@
++/*
++ * Copyright (C) 2006 Gustavo Gama
++ *
++ * 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.
++ *
++ * $Id: ephy-sessionsaver-extension.c,v 1.5 2005/01/28 22:30:17 chpe Exp $
++ */
++
++#include "config.h"
++
++#include "ephy-sessionsaver-extension.h"
++#include "ephy-debug.h"
++#include "ephy-file-helpers.h"
++
++#include <epiphany/ephy-extension.h>
++#include <epiphany/ephy-window.h>
++#include <epiphany/ephy-shell.h>
++#include <epiphany/ephy-session.h>
++
++#include <gmodule.h>
++#include <glib.h>
++#include <glib/gstdio.h>
++#include <glib/gi18n-lib.h>
++
++#include <libgnomevfs/gnome-vfs-ops.h>
++
++#include <gtk/gtkaction.h>
++#include <gtk/gtkactiongroup.h>
++#include <gtk/gtkuimanager.h>
++
++#include <time.h>
++
++#define EPHY_SESSIONSAVER_EXTENSION_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_SESSIONSAVER_EXTENSION, EphySessionSaverExtensionPrivate))
++
++#define WINDOW_DATA_KEY "SessionSaverUIEWindowData"
++#define SESSIONSAVER_DEFAULT_SESSION_FILE "sessionsaver_default.xml"
++
++struct _EphySessionSaverExtensionPrivate
++{
++ gboolean loaded;
++};
++
++typedef struct
++{
++ EphySessionSaverExtension *extension;
++ GtkActionGroup *action_group;
++ guint ui_id;
++} WindowData;
++
++static GObjectClass *parent_class = NULL;
++
++static GType type = 0;
++
++static void quit_cb (GtkAction *action,
++ EphyWindow *window);
++
++static gboolean delete_window_cb (GtkWidget *widget,
++ GdkEvent *event,
++ gpointer user_data);
++
++static const GtkActionEntry action_entries [] =
++{
++ { "SessionSaverUIQuitItem",
++ NULL,
++ N_("_Quit"),
++ "<control>Q",
++ N_("Quit"),
++ G_CALLBACK (quit_cb) },
++};
++
++static void
++ephy_sessionsaver_extension_init (EphySessionSaverExtension *extension)
++{
++ char *session_file;
++ EphyShell *shell;
++ EphySession *session;
++
++ LOG ("EphySessionSaverExtension initialising");
++ extension->priv = EPHY_SESSIONSAVER_EXTENSION_GET_PRIVATE (extension);
++ extension->priv->loaded = FALSE;
++
++ /* check for existance of the default sessionsaver session file */
++ session_file = g_build_filename (ephy_dot_dir (),
++ SESSIONSAVER_DEFAULT_SESSION_FILE,
++ NULL);
++ if (g_file_test (session_file,
++ G_FILE_TEST_EXISTS | G_FILE_TEST_IS_REGULAR) == TRUE)
++ {
++
++ shell = ephy_shell_get_default ();
++ session = EPHY_SESSION (ephy_shell_get_session (shell));
++
++ ephy_session_queue_command
++ (session, EPHY_SESSION_CMD_LOAD_SESSION, session_file,
++ NULL, (guint32) time(NULL), FALSE);
++
++ /* the session file is no longer unlinked here. Since the
++ * session queue will only be processed afterwards, it is
++ * important to ensure that there will *exist* a session file
++ * by the time the session command is processed. The removal
++ * of the session file is thus delayed until the (first) window
++ * is attached. */
++ }
++
++ g_free (session_file);
++}
++
++static void
++ephy_sessionsaver_extension_finalize (GObject *object)
++{
++ LOG ("EphySessionSaverExtension finalising");
++
++ G_OBJECT_CLASS (parent_class)->finalize (object);
++}
++
++static void
++save_session (EphySession *session)
++{
++ char *session_file;
++
++ session_file = g_build_filename (ephy_dot_dir (),
++ SESSIONSAVER_DEFAULT_SESSION_FILE,
++ NULL);
++ ephy_session_save (session, session_file);
++ g_free (session_file);
++}
++
++static void
++quit_cb (GtkAction *action,
++ EphyWindow *window)
++{
++ WindowData *data;
++ EphyShell *shell;
++ EphySession *session;
++
++ LOG ("SessionSaver quit");
++ data = g_object_get_data (G_OBJECT (window), WINDOW_DATA_KEY);
++ g_return_if_fail (data != NULL);
++
++ shell = ephy_shell_get_default ();
++ session = EPHY_SESSION( ephy_shell_get_session (shell) );
++
++ save_session (session);
++
++ ephy_session_close(session);
++}
++
++static gboolean
++delete_window_cb (GtkWidget *widget,
++ GdkEvent *event,
++ gpointer user_data)
++{
++ EphyWindow *window;
++ EphyShell *shell;
++ EphySession *session;
++ GList *windows;
++
++ window = EPHY_WINDOW (widget);
++
++ shell = ephy_shell_get_default ();
++ session = EPHY_SESSION( ephy_shell_get_session (shell) );
++
++ windows = ephy_session_get_windows (session);
++ if (g_list_length(windows) == 1) {
++ /* the user closed the last window; save the session before
++ * quiting */
++ save_session (session);
++ }
++
++ g_signal_handlers_disconnect_by_func (window,
++ G_CALLBACK (delete_window_cb),
++ NULL);
++ return FALSE;
++}
++
++static void
++impl_attach_window (EphyExtension *ext,
++ EphyWindow *window)
++{
++ GtkUIManager *manager;
++ WindowData *data;
++
++ data = g_new (WindowData, 1);
++ data->extension = EPHY_SESSIONSAVER_EXTENSION (ext);
++
++ manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
++ data->action_group = gtk_action_group_new ("SessionSaverUIEActions");
++ gtk_action_group_set_translation_domain (data->action_group, GETTEXT_PACKAGE);
++ gtk_action_group_add_actions (data->action_group, action_entries,
++ G_N_ELEMENTS (action_entries), window);
++
++ gtk_ui_manager_insert_action_group (manager, data->action_group, -1);
++ g_object_unref (data->action_group);
++
++ data->ui_id = gtk_ui_manager_new_merge_id (manager);
++
++ g_object_set_data_full (G_OBJECT (window), WINDOW_DATA_KEY, data,
++ (GDestroyNotify) g_free);
++
++ gtk_ui_manager_add_ui (manager, data->ui_id, "/menubar/FileMenu",
++ "SessionSaverUIQuitItem", "SessionSaverUIQuitItem",
++ GTK_UI_MANAGER_MENUITEM, FALSE);
++
++ g_signal_connect (G_OBJECT (window), "delete-event",
++ G_CALLBACK (delete_window_cb), NULL);
++
++ /* if this is the first window attached, set the appropriate flag
++ * and remove the session file */
++ if (data->extension->priv->loaded == FALSE) {
++ char *session_file;
++
++ data->extension->priv->loaded = TRUE;
++
++ /* check for existance of the default sessionsaver session file */
++ session_file = g_build_filename (ephy_dot_dir (),
++ SESSIONSAVER_DEFAULT_SESSION_FILE,
++ NULL);
++ if (g_file_test (session_file,
++ G_FILE_TEST_EXISTS |
++ G_FILE_TEST_IS_REGULAR) == TRUE)
++ {
++ gnome_vfs_unlink (session_file);
++ }
++
++ g_free (session_file);
++ }
++}
++
++static void
++impl_detach_window (EphyExtension *ext,
++ EphyWindow *window)
++{
++ GtkUIManager *manager;
++ WindowData *data;
++
++ manager = GTK_UI_MANAGER (ephy_window_get_ui_manager (window));
++
++ data = (WindowData *) g_object_get_data (G_OBJECT (window),
++ WINDOW_DATA_KEY);
++ g_return_if_fail (data != NULL);
++
++ gtk_ui_manager_remove_ui (manager, data->ui_id);
++ gtk_ui_manager_remove_action_group (manager, data->action_group);
++
++ g_object_set_data (G_OBJECT (window), WINDOW_DATA_KEY, NULL);
++}
++
++static void
++ephy_sessionsaver_extension_iface_init (EphyExtensionIface *iface)
++{
++ iface->attach_window = impl_attach_window;
++ iface->detach_window = impl_detach_window;
++}
++
++static void
++ephy_sessionsaver_extension_class_init (EphySessionSaverExtensionClass *klass)
++{
++ GObjectClass *object_class = G_OBJECT_CLASS (klass);
++ parent_class = g_type_class_peek_parent (klass);
++ object_class->finalize = ephy_sessionsaver_extension_finalize;
++ g_type_class_add_private (object_class, sizeof (EphySessionSaverExtensionPrivate));
++}
++
++GType
++ephy_sessionsaver_extension_get_type (void)
++{
++ return type;
++}
++
++GType
++ephy_sessionsaver_extension_register_type (GTypeModule *module)
++{
++ static const GTypeInfo our_info =
++ {
++ sizeof (EphySessionSaverExtensionClass),
++ NULL, /* base_init */
++ NULL, /* base_finalize */
++ (GClassInitFunc) ephy_sessionsaver_extension_class_init,
++ NULL,
++ NULL, /* class_data */
++ sizeof (EphySessionSaverExtension),
++ 0, /* n_preallocs */
++ (GInstanceInitFunc) ephy_sessionsaver_extension_init
++ };
++
++ static const GInterfaceInfo extension_info =
++ {
++ (GInterfaceInitFunc) ephy_sessionsaver_extension_iface_init,
++ NULL,
++ NULL
++ };
++
++ type = g_type_module_register_type (module,
++ G_TYPE_OBJECT,
++ "EphySessionSaverExtension",
++ &our_info, 0);
++
++ g_type_module_add_interface (module,
++ type,
++ EPHY_TYPE_EXTENSION,
++ &extension_info);
++
++ return type;
++}
++
++/* vim: set tabstop=8 shiftwidth=8 noexpandtab: */
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/extensions/sessionsaver/ephy-sessionsaver-extension.h epiphany-extensions-2.16.0/extensions/sessionsaver/ephy-sessionsaver-extension.h
+--- epiphany-extensions-2.16.0.orig/extensions/sessionsaver/ephy-sessionsaver-extension.h 1969-12-31 19:00:00.000000000 -0500
++++ epiphany-extensions-2.16.0/extensions/sessionsaver/ephy-sessionsaver-extension.h 2006-04-04 14:44:48.000000000 -0400
+@@ -0,0 +1,60 @@
++/*
++ * Copyright (C) 2003 Marco Pesenti Gritti
++ * Copyright (C) 2003 Christian Persch
++ *
++ * 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.
++ *
++ * $Id: ephy-sessionsaver-extension.h,v 1.2 2004/12/30 22:42:23 chpe Exp $
++ */
++
++#ifndef EPHY_SESSIONSAVER_EXTENSION_H
++#define EPHY_SESSIONSAVER_EXTENSION_H
++
++#include <glib.h>
++#include <glib-object.h>
++
++G_BEGIN_DECLS
++
++#define EPHY_TYPE_SESSIONSAVER_EXTENSION (ephy_sessionsaver_extension_get_type ())
++#define EPHY_SESSIONSAVER_EXTENSION(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), EPHY_TYPE_SESSIONSAVER_EXTENSION, EphySessionSaverExtension))
++#define EPHY_SESSIONSAVER_EXTENSION_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), EPHY_TYPE_SESSIONSAVER_EXTENSION, EphySessionSaverExtensionClass))
++#define EPHY_IS_SESSIONSAVER_EXTENSION(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), EPHY_TYPE_SESSIONSAVER_EXTENSION))
++#define EPHY_IS_SESSIONSAVER_EXTENSION_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), EPHY_TYPE_SESSIONSAVER_EXTENSION))
++#define EPHY_SESSIONSAVER_EXTENSION_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), EPHY_TYPE_SESSIONSAVER_EXTENSION, EphySessionSaverExtensionClass))
++
++typedef struct _EphySessionSaverExtension EphySessionSaverExtension;
++typedef struct _EphySessionSaverExtensionClass EphySessionSaverExtensionClass;
++typedef struct _EphySessionSaverExtensionPrivate EphySessionSaverExtensionPrivate;
++
++struct _EphySessionSaverExtensionClass
++{
++ GObjectClass parent_class;
++};
++
++struct _EphySessionSaverExtension
++{
++ GObject parent_instance;
++
++ /*< private >*/
++ EphySessionSaverExtensionPrivate *priv;
++};
++
++GType ephy_sessionsaver_extension_get_type (void);
++
++GType ephy_sessionsaver_extension_register_type (GTypeModule *module);
++
++G_END_DECLS
++
++#endif
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/extensions/sessionsaver/Makefile.am epiphany-extensions-2.16.0/extensions/sessionsaver/Makefile.am
+--- epiphany-extensions-2.16.0.orig/extensions/sessionsaver/Makefile.am 1969-12-31 19:00:00.000000000 -0500
++++ epiphany-extensions-2.16.0/extensions/sessionsaver/Makefile.am 2006-04-04 14:36:32.000000000 -0400
+@@ -0,0 +1,34 @@
++extensiondir = $(EXTENSIONS_DIR)
++extension_LTLIBRARIES = libsessionsaverextension.la
++
++libsessionsaverextension_la_SOURCES = \
++ ephy-sessionsaver-extension.c \
++ ephy-sessionsaver-extension.h \
++ sessionsaver.c
++libsessionsaverextension_la_LDFLAGS = -module -avoid-version
++
++libsessionsaverextension_la_CPPFLAGS = \
++ -I$(top_srcdir)/include \
++ -DSHARE_DIR=\"$(pkgdatadir)\" \
++ -DEPHY_EXTENSIONS_LOCALEDIR=\"$(datadir)/locale\" \
++ $(AM_CPPFLAGS)
++
++libsessionsaverextension_la_CFLAGS = \
++ $(EPIPHANY_DEPENDENCY_CFLAGS) \
++ $(AM_CFLAGS)
++
++extensioninidir = $(extensiondir)
++extensionini_in_files = sessionsaver.ephy-extension.in.in
++extensionini_DATA = $(extensionini_in_files:.ephy-extension.in.in=.ephy-extension)
++
++%.ephy-extension.in: %.ephy-extension.in.in $(extension_LTLIBRARIES)
++ sed -e "s|%LIBRARY%|`. ./$(extension_LTLIBRARIES) && echo $$dlname`|" \
++ -e "s|%EXTENSION_DIR%|$(extensiondir)|" \
++ $< > $@
++
++@EPIPHANY_EXTENSION_RULE@
++
++CLEANFILES = $(extensionini_DATA)
++DISTCLEANFILES = $(extensionini_DATA)
++
++EXTRA_DIST = $(extensionini_in_files)
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/extensions/sessionsaver/sessionsaver.c epiphany-extensions-2.16.0/extensions/sessionsaver/sessionsaver.c
+--- epiphany-extensions-2.16.0.orig/extensions/sessionsaver/sessionsaver.c 1969-12-31 19:00:00.000000000 -0500
++++ epiphany-extensions-2.16.0/extensions/sessionsaver/sessionsaver.c 2006-04-04 14:36:32.000000000 -0400
+@@ -0,0 +1,44 @@
++/*
++ * Copyright (C) 2003 Marco Pesenti Gritti
++ * Copyright (C) 2003, 2004 Christian Persch
++ *
++ * 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.
++ *
++ * $Id: sessionsaver.c,v 1.5 2005/01/28 22:30:17 chpe Exp $
++ */
++
++#include "config.h"
++
++#include "ephy-sessionsaver-extension.h"
++#include "ephy-debug.h"
++
++#include <glib/gi18n-lib.h>
++#include <gmodule.h>
++
++G_MODULE_EXPORT GType register_module (GTypeModule *module);
++
++G_MODULE_EXPORT GType
++register_module (GTypeModule *module)
++{
++ LOG ("Registering EphySessionSaverExtension");
++
++#ifdef ENABLE_NLS
++ /* Initialise the i18n stuff */
++ bindtextdomain (GETTEXT_PACKAGE, EPHY_EXTENSIONS_LOCALEDIR);
++ bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
++#endif /* ENABLE_NLS */
++
++ return ephy_sessionsaver_extension_register_type (module);
++}
+diff --exclude-from=/home/dang/.diffrc -u -ruN epiphany-extensions-2.16.0.orig/extensions/sessionsaver/sessionsaver.ephy-extension.in.in epiphany-extensions-2.16.0/extensions/sessionsaver/sessionsaver.ephy-extension.in.in
+--- epiphany-extensions-2.16.0.orig/extensions/sessionsaver/sessionsaver.ephy-extension.in.in 1969-12-31 19:00:00.000000000 -0500
++++ epiphany-extensions-2.16.0/extensions/sessionsaver/sessionsaver.ephy-extension.in.in 2006-07-31 11:53:13.000000000 -0400
+@@ -0,0 +1,11 @@
++[Epiphany Extension]
++_Name=SessionSaver
++_Description=Session Saver Extension
++Authors=Gustavo Gama &lt;gama (at) vettalabs (dot) org&gt;
++Version=0.4
++URL=http://www.gnome.org/projects/epiphany/extensions.html
++
++
++[Loader]
++Type=shlib
++Library=%EXTENSION_DIR%/%LIBRARY%