aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorXan Lopez <xan@gnome.org>2009-06-06 04:50:06 +0800
committerXan Lopez <xan@gnome.org>2009-06-06 04:50:06 +0800
commitc3c1771fb6776ee3371ef06e5509d7e347880464 (patch)
treefd4d2786898ba60905727f3c336d3978478d2c01
parentecd30f7b95964ec717d5da6873492fab939f2523 (diff)
downloadgsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar
gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.gz
gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.bz2
gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.lz
gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.xz
gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.tar.zst
gsoc2013-epiphany-c3c1771fb6776ee3371ef06e5509d7e347880464.zip
Make EphyEmbedSingle a non-interface type.
-rw-r--r--doc/reference/Makefile.am2
-rw-r--r--embed/ephy-embed-factory.c3
-rw-r--r--embed/ephy-embed-shell.c2
-rw-r--r--embed/ephy-embed-single.c302
-rw-r--r--embed/ephy-embed-single.h33
-rw-r--r--embed/webkit/Makefile.am4
-rw-r--r--embed/webkit/webkit-embed-single.c343
-rw-r--r--embed/webkit/webkit-embed-single.h55
8 files changed, 268 insertions, 476 deletions
diff --git a/doc/reference/Makefile.am b/doc/reference/Makefile.am
index 2fc9924d3..8a508f956 100644
--- a/doc/reference/Makefile.am
+++ b/doc/reference/Makefile.am
@@ -57,9 +57,7 @@ IGNORE_HFILES = \
ephy-history.h \
find-dialog.h \
print-dialog.h \
- webkit-embed.h \
webkit-embed-persist.h \
- webkit-embed-single.h \
egg-editable-toolbar.h \
eggintl.h \
eggmarshalers.h \
diff --git a/embed/ephy-embed-factory.c b/embed/ephy-embed-factory.c
index 3fa881837..6eaa05c56 100644
--- a/embed/ephy-embed-factory.c
+++ b/embed/ephy-embed-factory.c
@@ -21,7 +21,6 @@
#include "ephy-embed-factory.h"
#include "webkit-embed-persist.h"
-#include "webkit-embed-single.h"
#include "ephy-embed.h"
#include "ephy-embed-persist.h"
#include "ephy-embed-single.h"
@@ -49,7 +48,7 @@ ephy_embed_factory_new_object (GType type)
}
else if (type == EPHY_TYPE_EMBED_SINGLE)
{
- object = g_object_new (WEBKIT_TYPE_EMBED_SINGLE, NULL);
+ object = g_object_new (EPHY_TYPE_EMBED_SINGLE, NULL);
}
else
{
diff --git a/embed/ephy-embed-shell.c b/embed/ephy-embed-shell.c
index 03b493fde..b84e2eef3 100644
--- a/embed/ephy-embed-shell.c
+++ b/embed/ephy-embed-shell.c
@@ -231,7 +231,7 @@ impl_get_embed_single (EphyEmbedShell *shell)
(ephy_embed_factory_new_object (EPHY_TYPE_EMBED_SINGLE));
g_assert (priv->embed_single != NULL);
- if (!ephy_embed_single_init (priv->embed_single))
+ if (!ephy_embed_single_initialize (priv->embed_single))
{
GtkWidget *dialog;
diff --git a/embed/ephy-embed-single.c b/embed/ephy-embed-single.c
index 9b0e8178f..76539457a 100644
--- a/embed/ephy-embed-single.c
+++ b/embed/ephy-embed-single.c
@@ -20,42 +20,121 @@
#include "config.h"
#include "ephy-embed-single.h"
+#include "ephy-embed-prefs.h"
#include "ephy-embed-type-builtins.h"
+#include "ephy-file-helpers.h"
#include "ephy-marshal.h"
#include "ephy-signal-accumulator.h"
+#include "ephy-password-manager.h"
+#include "ephy-permission-manager.h"
-static void ephy_embed_single_iface_init (gpointer g_class);
+#ifdef ENABLE_CERTIFICATE_MANAGER
+#include "ephy-certificate-manager.h"
+#endif
-GType
-ephy_embed_single_get_type (void)
+#include <webkit/webkit.h>
+#include <libsoup/soup-gnome.h>
+
+#define EPHY_EMBED_SINGLE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), EPHY_TYPE_EMBED_SINGLE, EphyEmbedSinglePrivate))
+
+struct _EphyEmbedSinglePrivate {
+ guint online : 1;
+};
+
+enum {
+ PROP_0,
+ PROP_NETWORK_STATUS
+};
+
+static void ephy_embed_single_init (EphyEmbedSingle *single);
+static void ephy_embed_single_class_init (EphyEmbedSingleClass *klass);
+static void ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface);
+static void ephy_password_manager_iface_init (EphyPasswordManagerIface *iface);
+#ifdef ENABLE_CERTIFICATE_MANAGER
+static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
+#endif
+
+static void
+ephy_embed_single_get_property (GObject *object,
+ guint prop_id,
+ GValue *value,
+ GParamSpec *pspec)
{
- static GType type = 0;
-
- if (G_UNLIKELY (type == 0))
- {
- const GTypeInfo our_info =
- {
- sizeof (EphyEmbedSingleIface),
- ephy_embed_single_iface_init,
- NULL,
- };
-
- type = g_type_register_static (G_TYPE_INTERFACE,
- "EphyEmbedSingle",
- &our_info,
- (GTypeFlags) 0);
- }
-
- return type;
+ EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
+
+ switch (prop_id) {
+ case PROP_NETWORK_STATUS:
+ g_value_set_boolean (value, ephy_embed_single_get_network_status (single));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
}
static void
-ephy_embed_single_iface_init (gpointer g_iface)
+ephy_embed_single_set_property (GObject *object,
+ guint prop_id,
+ const GValue *value,
+ GParamSpec *pspec)
{
- static gboolean initialised = FALSE;
+ EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
+
+ switch (prop_id) {
+ case PROP_NETWORK_STATUS:
+ ephy_embed_single_set_network_status (single, g_value_get_boolean (value));
+ break;
+ default:
+ G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
+ break;
+ }
+}
+
+/* Some compilers (like gcc 2.95) don't support preprocessor directives inside macros,
+ so we have to duplicate the whole thing */
+
+#ifdef ENABLE_CERTIFICATE_MANAGER
+G_DEFINE_TYPE_WITH_CODE (EphyEmbedSingle, ephy_embed_single, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
+ ephy_password_manager_iface_init)
+ G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
+ ephy_certificate_manager_iface_init)
+ G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
+ ephy_permission_manager_iface_init))
+#else
+G_DEFINE_TYPE_WITH_CODE (EphyEmbedSingle, ephy_embed_single, G_TYPE_OBJECT,
+ G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
+ ephy_password_manager_iface_init)
+ G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
+ ephy_permission_manager_iface_init))
+#endif
+
+static void
+ephy_embed_single_finalize (GObject *object)
+{
+ ephy_embed_prefs_shutdown ();
+
+ G_OBJECT_CLASS (ephy_embed_single_parent_class)->finalize (object);
+}
+
+static void
+ephy_embed_single_init (EphyEmbedSingle *single)
+{
+ EphyEmbedSinglePrivate *priv;
+
+ single->priv = priv = EPHY_EMBED_SINGLE_GET_PRIVATE (single);
+ priv->online = TRUE;
+}
+
+static void
+ephy_embed_single_class_init (EphyEmbedSingleClass *klass)
+{
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+ object_class->finalize = ephy_embed_single_finalize;
+ object_class->get_property = ephy_embed_single_get_property;
+ object_class->set_property = ephy_embed_single_set_property;
- if (initialised == FALSE)
- {
/**
* EphyEmbedSingle::new-window:
* @single:
@@ -70,7 +149,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
g_signal_new ("new-window",
EPHY_TYPE_EMBED_SINGLE,
G_SIGNAL_RUN_FIRST | G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyEmbedSingleIface, new_window),
+ G_STRUCT_OFFSET (EphyEmbedSingleClass, new_window),
ephy_signal_accumulator_object, ephy_embed_get_type,
ephy_marshal_OBJECT__OBJECT_FLAGS,
GTK_TYPE_WIDGET,
@@ -94,7 +173,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
g_signal_new ("handle_content",
EPHY_TYPE_EMBED_SINGLE,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyEmbedSingleIface, handle_content),
+ G_STRUCT_OFFSET (EphyEmbedSingleClass, handle_content),
g_signal_accumulator_true_handled, NULL,
ephy_marshal_BOOLEAN__STRING_STRING,
G_TYPE_BOOLEAN,
@@ -114,7 +193,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
g_signal_new ("add-sidebar",
EPHY_TYPE_EMBED_SINGLE,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyEmbedSingleIface, add_sidebar),
+ G_STRUCT_OFFSET (EphyEmbedSingleClass, add_sidebar),
g_signal_accumulator_true_handled, NULL,
ephy_marshal_BOOLEAN__STRING_STRING,
G_TYPE_BOOLEAN,
@@ -135,7 +214,7 @@ ephy_embed_single_iface_init (gpointer g_iface)
g_signal_new ("add-search-engine",
EPHY_TYPE_EMBED_SINGLE,
G_SIGNAL_RUN_LAST,
- G_STRUCT_OFFSET (EphyEmbedSingleIface, add_search_engine),
+ G_STRUCT_OFFSET (EphyEmbedSingleClass, add_search_engine),
g_signal_accumulator_true_handled, NULL,
ephy_marshal_BOOLEAN__STRING_STRING_STRING,
G_TYPE_BOOLEAN,
@@ -149,30 +228,162 @@ ephy_embed_single_iface_init (gpointer g_iface)
*
* Whether the network is on-line.
*/
- g_object_interface_install_property
- (g_iface,
+ g_object_class_install_property
+ (object_class,
+ PROP_NETWORK_STATUS,
g_param_spec_boolean ("network-status",
"network-status",
"network-status",
FALSE,
G_PARAM_READWRITE | G_PARAM_STATIC_NAME | G_PARAM_STATIC_NICK | G_PARAM_STATIC_BLURB));
- initialised = TRUE;
- }
+ g_type_class_add_private (object_class, sizeof (EphyEmbedSinglePrivate));
+}
+
+static void
+impl_permission_manager_add (EphyPermissionManager *manager,
+ const char *host,
+ const char *type,
+ EphyPermission permission)
+{
+}
+
+static void
+impl_permission_manager_remove (EphyPermissionManager *manager,
+ const char *host,
+ const char *type)
+{
+}
+
+static void
+impl_permission_manager_clear (EphyPermissionManager *manager)
+{
+}
+
+static EphyPermission
+impl_permission_manager_test (EphyPermissionManager *manager,
+ const char *host,
+ const char *type)
+{
+ g_return_val_if_fail (type != NULL && type[0] != '\0', EPHY_PERMISSION_DEFAULT);
+
+ return (EphyPermission)0;
+}
+
+static GList *
+impl_permission_manager_list (EphyPermissionManager *manager,
+ const char *type)
+{
+ GList *list = NULL;
+ return list;
+}
+
+static void
+ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface)
+{
+ iface->add = impl_permission_manager_add;
+ iface->remove = impl_permission_manager_remove;
+ iface->clear = impl_permission_manager_clear;
+ iface->test = impl_permission_manager_test;
+ iface->list = impl_permission_manager_list;
+}
+
+static GList *
+impl_list_passwords (EphyPasswordManager *manager)
+{
+ return NULL;
+}
+
+static void
+impl_remove_password (EphyPasswordManager *manager,
+ EphyPasswordInfo *info)
+{
+}
+
+static void
+impl_remove_all_passwords (EphyPasswordManager *manager)
+{
+}
+
+static void
+impl_add_password (EphyPasswordManager *manager,
+ EphyPasswordInfo *info)
+{
+}
+
+static void
+ephy_password_manager_iface_init (EphyPasswordManagerIface *iface)
+{
+ iface->add = impl_add_password;
+ iface->remove = impl_remove_password;
+ iface->remove_all = impl_remove_all_passwords;
+ iface->list = impl_list_passwords;
}
+#ifdef ENABLE_CERTIFICATE_MANAGER
+
+static gboolean
+impl_remove_certificate (EphyCertificateManager *manager,
+ EphyX509Cert *cert)
+{
+ return TRUE;
+}
+
+#define NICK_DELIMITER PRUnichar ('\001')
+static GList *
+impl_get_certificates (EphyCertificateManager *manager,
+ EphyX509CertType type)
+{
+ return NULL;
+}
+
+static gboolean
+impl_import (EphyCertificateManager *manager,
+ const gchar *file)
+{
+ return TRUE;
+}
+
+static void
+ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface)
+{
+ iface->get_certificates = impl_get_certificates;
+ iface->remove_certificate = impl_remove_certificate;
+ iface->import = impl_import;
+}
+
+#endif /* ENABLE_CERTIFICATE_MANAGER */
+
/**
- * ephy_embed_single_init:
+ * ephy_embed_single_initialize:
* @single: the #EphyEmbedSingle
*
* Performs startup initialisations. Must be called before calling
* any other methods.
**/
gboolean
-ephy_embed_single_init (EphyEmbedSingle *single)
+ephy_embed_single_initialize (EphyEmbedSingle *single)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- return iface->init (single);
+ SoupSession *session;
+ SoupCookieJar *jar;
+ char *filename;
+
+ ephy_embed_prefs_init ();
+
+ session = webkit_get_default_session ();
+
+ /* Store cookies in moz-compatible SQLite format */
+ filename = g_build_filename (ephy_dot_dir (), "cookies.sqlite", NULL);
+ jar = soup_cookie_jar_sqlite_new (filename, FALSE);
+ g_free (filename);
+
+ soup_session_add_feature (session, SOUP_SESSION_FEATURE(jar));
+ g_object_unref (jar);
+
+ /* Use GNOME proxy settings through libproxy */
+ soup_session_add_feature_by_type (session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
+
+ return TRUE;
}
/**
@@ -184,8 +395,6 @@ ephy_embed_single_init (EphyEmbedSingle *single)
void
ephy_embed_single_clear_cache (EphyEmbedSingle *single)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- iface->clear_cache (single);
}
/**
@@ -205,8 +414,6 @@ ephy_embed_single_clear_cache (EphyEmbedSingle *single)
void
ephy_embed_single_clear_auth_cache (EphyEmbedSingle *single)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- iface->clear_auth_cache (single);
}
/**
@@ -220,8 +427,8 @@ void
ephy_embed_single_set_network_status (EphyEmbedSingle *single,
gboolean status)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- iface->set_network_status (single, status);
+ if (status != single->priv->online)
+ single->priv->online = status;
}
/**
@@ -235,8 +442,7 @@ ephy_embed_single_set_network_status (EphyEmbedSingle *single,
gboolean
ephy_embed_single_get_network_status (EphyEmbedSingle *single)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- return iface->get_network_status (single);
+ return single->priv->online;
}
/**
@@ -256,8 +462,7 @@ GList *
ephy_embed_single_get_font_list (EphyEmbedSingle *single,
const char *lang_group)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- return iface->get_font_list (single, lang_group);
+ return NULL;
}
/**
@@ -285,6 +490,5 @@ ephy_embed_single_open_window (EphyEmbedSingle *single,
const char *name,
const char *features)
{
- EphyEmbedSingleIface *iface = EPHY_EMBED_SINGLE_GET_IFACE (single);
- return iface->open_window (single, parent, address, name, features);
+ return NULL;
}
diff --git a/embed/ephy-embed-single.h b/embed/ephy-embed-single.h
index cbd253ab3..b2efd0e85 100644
--- a/embed/ephy-embed-single.h
+++ b/embed/ephy-embed-single.h
@@ -37,11 +37,19 @@ G_BEGIN_DECLS
#define EPHY_EMBED_SINGLE_GET_IFACE(i) (G_TYPE_INSTANCE_GET_INTERFACE ((i), EPHY_TYPE_EMBED_SINGLE, EphyEmbedSingleIface))
typedef struct _EphyEmbedSingle EphyEmbedSingle;
-typedef struct _EphyEmbedSingleIface EphyEmbedSingleIface;
+typedef struct _EphyEmbedSingleClass EphyEmbedSingleClass;
+typedef struct _EphyEmbedSinglePrivate EphyEmbedSinglePrivate;
-struct _EphyEmbedSingleIface
+struct _EphyEmbedSingle {
+ GObject parent;
+
+ /*< private >*/
+ EphyEmbedSinglePrivate *priv;
+};
+
+struct _EphyEmbedSingleClass
{
- GTypeInterface base_iface;
+ GObjectClass parent_class;
/* Signals */
@@ -61,28 +69,11 @@ struct _EphyEmbedSingleIface
const char *url,
const char *icon_url,
const char *title);
-
- /* Methods */
-
- gboolean (* init) (EphyEmbedSingle *single);
- GtkWidget * (* open_window) (EphyEmbedSingle *single,
- EphyEmbed *parent,
- const char *address,
- const char *name,
- const char *features);
- void (* clear_cache) (EphyEmbedSingle *shell);
- void (* clear_auth_cache) (EphyEmbedSingle *shell);
- void (* set_network_status)(EphyEmbedSingle *shell,
- gboolean offline);
- gboolean (* get_network_status)(EphyEmbedSingle *single);
- GList * (* get_font_list) (EphyEmbedSingle *shell,
- const char *langGroup);
- const char * (* get_backend_name) (EphyEmbedSingle *shell);
};
GType ephy_embed_single_get_type (void);
-gboolean ephy_embed_single_init (EphyEmbedSingle *single);
+gboolean ephy_embed_single_initialize (EphyEmbedSingle *single);
GtkWidget *ephy_embed_single_open_window (EphyEmbedSingle *single,
EphyEmbed *parent,
diff --git a/embed/webkit/Makefile.am b/embed/webkit/Makefile.am
index ca204a8ec..e5b14ccff 100644
--- a/embed/webkit/Makefile.am
+++ b/embed/webkit/Makefile.am
@@ -2,9 +2,7 @@ noinst_LTLIBRARIES = libephywebkitembed.la
libephywebkitembed_la_SOURCES = \
webkit-embed-persist.c \
- webkit-embed-persist.h \
- webkit-embed-single.c \
- webkit-embed-single.h
+ webkit-embed-persist.h
libephywebkitembed_la_CPPFLAGS = \
-I$(top_srcdir)/lib \
diff --git a/embed/webkit/webkit-embed-single.c b/embed/webkit/webkit-embed-single.c
deleted file mode 100644
index af6cbc6e2..000000000
--- a/embed/webkit/webkit-embed-single.c
+++ /dev/null
@@ -1,343 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
-/* Copyright © 2007 Xan Lopez <xan@gnome.org>
- *
- * 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#include "config.h"
-#include <glib/gi18n.h>
-#include <webkit/webkit.h>
-#include <libsoup/soup-gnome.h>
-
-#include "webkit-embed-single.h"
-#include "ephy-embed-prefs.h"
-#include "ephy-embed-single.h"
-#include "ephy-file-helpers.h"
-#include "ephy-password-manager.h"
-#include "ephy-permission-manager.h"
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-#include "ephy-certificate-manager.h"
-#endif
-
-#define WEBKIT_EMBED_SINGLE_GET_PRIVATE(object)(G_TYPE_INSTANCE_GET_PRIVATE ((object), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSinglePrivate))
-
-struct WebKitEmbedSinglePrivate {
- guint online : 1;
-};
-
-enum {
- PROP_0,
- PROP_NETWORK_STATUS
-};
-
-static void webkit_embed_single_class_init (WebKitEmbedSingleClass *klass);
-static void webkit_embed_single_init (WebKitEmbedSingle *wes);
-static void ephy_embed_single_iface_init (EphyEmbedSingleIface *iface);
-static void ephy_password_manager_iface_init (EphyPasswordManagerIface *iface);
-static void ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface);
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-static void ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface);
-#endif
-
-/* Some compilers (like gcc 2.95) don't support preprocessor directives inside macros,
- so we have to duplicate the whole thing */
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-G_DEFINE_TYPE_WITH_CODE (WebKitEmbedSingle, webkit_embed_single, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
- ephy_embed_single_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
- ephy_password_manager_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_CERTIFICATE_MANAGER,
- ephy_certificate_manager_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
- ephy_permission_manager_iface_init))
-#else
-G_DEFINE_TYPE_WITH_CODE (WebKitEmbedSingle, webkit_embed_single, G_TYPE_OBJECT,
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_EMBED_SINGLE,
- ephy_embed_single_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PASSWORD_MANAGER,
- ephy_password_manager_iface_init)
- G_IMPLEMENT_INTERFACE (EPHY_TYPE_PERMISSION_MANAGER,
- ephy_permission_manager_iface_init))
-#endif
-
-
-static void
-webkit_embed_single_init (WebKitEmbedSingle *wes)
-{
- wes->priv = WEBKIT_EMBED_SINGLE_GET_PRIVATE (wes);
-
- wes->priv->online = TRUE;
-}
-
-static void
-webkit_embed_single_finalize (GObject *object)
-{
- ephy_embed_prefs_shutdown ();
-
- G_OBJECT_CLASS (webkit_embed_single_parent_class)->finalize (object);
-}
-
-static void
-impl_clear_cache (EphyEmbedSingle *shell)
-{
-}
-
-static void
-impl_clear_auth_cache (EphyEmbedSingle *shell)
-{
-}
-
-static void
-impl_set_network_status (EphyEmbedSingle *single,
- gboolean online)
-{
- WebKitEmbedSinglePrivate *priv = WEBKIT_EMBED_SINGLE (single)->priv;
-
- if (online != priv->online) {
- priv->online = online;
- }
-}
-
-static gboolean
-impl_get_network_status (EphyEmbedSingle *esingle)
-{
- return WEBKIT_EMBED_SINGLE (esingle)->priv->online;
-}
-
-static GList *
-impl_get_font_list (EphyEmbedSingle *shell,
- const char *langGroup)
-{
- return NULL;
-}
-
-static GList *
-impl_list_passwords (EphyPasswordManager *manager)
-{
- return NULL;
-}
-
-static void
-impl_remove_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info)
-{
-}
-
-static void
-impl_remove_all_passwords (EphyPasswordManager *manager)
-{
-}
-
-static void
-impl_add_password (EphyPasswordManager *manager,
- EphyPasswordInfo *info)
-{
-}
-
-static void
-impl_permission_manager_add (EphyPermissionManager *manager,
- const char *host,
- const char *type,
- EphyPermission permission)
-{
-}
-
-static void
-impl_permission_manager_remove (EphyPermissionManager *manager,
- const char *host,
- const char *type)
-{
-}
-
-static void
-impl_permission_manager_clear (EphyPermissionManager *manager)
-{
-}
-
-static EphyPermission
-impl_permission_manager_test (EphyPermissionManager *manager,
- const char *host,
- const char *type)
-{
- g_return_val_if_fail (type != NULL && type[0] != '\0', EPHY_PERMISSION_DEFAULT);
-
- return (EphyPermission)0;
-}
-
-static gboolean
-impl_init (EphyEmbedSingle *esingle)
-{
- SoupSession *session;
- SoupCookieJar *jar;
- char *filename;
-
- ephy_embed_prefs_init ();
-
- session = webkit_get_default_session ();
-
- /* Store cookies in moz-compatible SQLite format */
- filename = g_build_filename (ephy_dot_dir (), "cookies.sqlite", NULL);
- jar = soup_cookie_jar_sqlite_new (filename, FALSE);
- g_free (filename);
-
- soup_session_add_feature (session, SOUP_SESSION_FEATURE(jar));
- g_object_unref (jar);
-
- /* Use GNOME proxy settings through libproxy */
- soup_session_add_feature_by_type (session, SOUP_TYPE_PROXY_RESOLVER_GNOME);
-
- return TRUE;
-}
-
-static GList *
-impl_permission_manager_list (EphyPermissionManager *manager,
- const char *type)
-{
- GList *list = NULL;
- return list;
-}
-
-static GtkWidget *
-impl_open_window (EphyEmbedSingle *single,
- EphyEmbed *parent,
- const char *address,
- const char *name,
- const char *features)
-{
- return NULL;
-}
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-
-static gboolean
-impl_remove_certificate (EphyCertificateManager *manager,
- EphyX509Cert *cert)
-{
- return TRUE;
-}
-
-#define NICK_DELIMITER PRUnichar ('\001')
-static GList *
-impl_get_certificates (EphyCertificateManager *manager,
- EphyX509CertType type)
-{
- return NULL;
-}
-
-static gboolean
-impl_import (EphyCertificateManager *manager,
- const gchar *file)
-{
- return TRUE;
-}
-
-#endif /* ENABLE_CERTIFICATE_MANAGER */
-
-static void
-webkit_embed_single_get_property (GObject *object,
- guint prop_id,
- GValue *value,
- GParamSpec *pspec)
-{
- EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
-
- switch (prop_id) {
- case PROP_NETWORK_STATUS:
- g_value_set_boolean (value, ephy_embed_single_get_network_status (single));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-
-static void
-webkit_embed_single_set_property (GObject *object,
- guint prop_id,
- const GValue *value,
- GParamSpec *pspec)
-{
- EphyEmbedSingle *single = EPHY_EMBED_SINGLE (object);
-
- switch (prop_id) {
- case PROP_NETWORK_STATUS:
- ephy_embed_single_set_network_status (single, g_value_get_boolean (value));
- break;
- default:
- G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec);
- break;
- }
-}
-static void
-webkit_embed_single_class_init (WebKitEmbedSingleClass *klass)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (klass);
-
- object_class->finalize = webkit_embed_single_finalize;
- object_class->get_property = webkit_embed_single_get_property;
- object_class->set_property = webkit_embed_single_set_property;
-
- g_object_class_override_property (object_class, PROP_NETWORK_STATUS, "network-status");
-
- g_type_class_add_private (object_class, sizeof (WebKitEmbedSinglePrivate));
-}
-
-static void
-ephy_embed_single_iface_init (EphyEmbedSingleIface *iface)
-{
- iface->init = impl_init;
- iface->clear_cache = impl_clear_cache;
- iface->clear_auth_cache = impl_clear_auth_cache;
- iface->set_network_status = impl_set_network_status;
- iface->get_network_status = impl_get_network_status;
- iface->get_font_list = impl_get_font_list;
- iface->open_window = impl_open_window;
-}
-
-static void
-ephy_password_manager_iface_init (EphyPasswordManagerIface *iface)
-{
- iface->add = impl_add_password;
- iface->remove = impl_remove_password;
- iface->remove_all = impl_remove_all_passwords;
- iface->list = impl_list_passwords;
-}
-
-static void
-ephy_permission_manager_iface_init (EphyPermissionManagerIface *iface)
-{
- iface->add = impl_permission_manager_add;
- iface->remove = impl_permission_manager_remove;
- iface->clear = impl_permission_manager_clear;
- iface->test = impl_permission_manager_test;
- iface->list = impl_permission_manager_list;
-}
-
-#ifdef ENABLE_CERTIFICATE_MANAGER
-
-static void
-ephy_certificate_manager_iface_init (EphyCertificateManagerIface *iface)
-{
- iface->get_certificates = impl_get_certificates;
- iface->remove_certificate = impl_remove_certificate;
- iface->import = impl_import;
-}
-
-#endif /* ENABLE_CERTIFICATE_MANAGER */
diff --git a/embed/webkit/webkit-embed-single.h b/embed/webkit/webkit-embed-single.h
deleted file mode 100644
index aae444e9c..000000000
--- a/embed/webkit/webkit-embed-single.h
+++ /dev/null
@@ -1,55 +0,0 @@
-/* -*- Mode: C; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2; -*- */
-/*
- * Copyright © 2000-2003 Marco Pesenti Gritti
- * Copyright © 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., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
- *
- */
-
-#ifndef WEBKIT_EMBED_SINGLE_H
-#define WEBKIT_EMBED_SINGLE_H
-
-#include <glib-object.h>
-
-G_BEGIN_DECLS
-
-#define WEBKIT_TYPE_EMBED_SINGLE (webkit_embed_single_get_type ())
-#define WEBKIT_EMBED_SINGLE(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSingle))
-#define WEBKIT_EMBED_SINGLE_CLASS(k) (G_TYPE_CHECK_CLASS_CAST ((k), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSingleClass))
-#define WEBKIT_IS_EMBED_SINGLE(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), WEBKIT_TYPE_EMBED_SINGLE))
-#define WEBKIT_IS_EMBED_SINGLE_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), WEBKIT_TYPE_EMBED_SINGLE))
-#define WEBKIT_EMBED_SINGLE_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), WEBKIT_TYPE_EMBED_SINGLE, WebKitEmbedSingleClass))
-
-typedef struct WebKitEmbedSingle WebKitEmbedSingle;
-typedef struct WebKitEmbedSingleClass WebKitEmbedSingleClass;
-typedef struct WebKitEmbedSinglePrivate WebKitEmbedSinglePrivate;
-
-struct WebKitEmbedSingle {
- GObject parent;
-
- /*< private >*/
- WebKitEmbedSinglePrivate *priv;
-};
-
-struct WebKitEmbedSingleClass {
- GObjectClass parent_class;
-};
-
-GType webkit_embed_single_get_type (void);
-
-G_END_DECLS
-
-#endif