aboutsummaryrefslogtreecommitdiffstats
path: root/embed/ephy-embed-prefs.c
diff options
context:
space:
mode:
authorCarlos Garcia Campos <cgarcia@igalia.com>2013-03-17 23:22:34 +0800
committerCarlos Garcia Campos <carlosgc@gnome.org>2013-03-19 00:33:36 +0800
commitfca6216c67cea8ac074c6af912526066aa6dd098 (patch)
tree0e7c0f058edf49b4e20de920b0647fa8d561352d /embed/ephy-embed-prefs.c
parentd54c82c4f07888c6aa7f7aa104e0e253ec770b86 (diff)
downloadgsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.tar
gsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.tar.gz
gsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.tar.bz2
gsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.tar.lz
gsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.tar.xz
gsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.tar.zst
gsoc2013-epiphany-fca6216c67cea8ac074c6af912526066aa6dd098.zip
embed: Use a custom WebKitWebViewGroup for all ephy web views
Create all ephy web views with the global group that shares all the global settings.
Diffstat (limited to 'embed/ephy-embed-prefs.c')
-rw-r--r--embed/ephy-embed-prefs.c35
1 files changed, 24 insertions, 11 deletions
diff --git a/embed/ephy-embed-prefs.c b/embed/ephy-embed-prefs.c
index e03995787..482b97934 100644
--- a/embed/ephy-embed-prefs.c
+++ b/embed/ephy-embed-prefs.c
@@ -48,6 +48,7 @@ typedef struct
#define ENABLE_SCRIPTS_SETTING "enable-javascript"
#define DEFAULT_ENCODING_SETTING "default-charset"
static WebKitSettings *webkit_settings = NULL;
+static WebKitWebViewGroup *web_view_group = NULL;
#else
#define ENABLE_SCRIPTS_SETTING "enable-scripts"
#define DEFAULT_ENCODING_SETTING "default-encoding"
@@ -665,28 +666,29 @@ static const PrefData webkit_pref_entries[] =
webkit_pref_callback_cookie_accept_policy },
};
-#ifdef HAVE_WEBKIT2
-static void
-ephy_embed_prefs_apply (EphyEmbed *embed, WebKitSettings *settings)
-#else
+#ifndef HAVE_WEBKIT2
static void
ephy_embed_prefs_apply (EphyEmbed *embed, WebKitWebSettings *settings)
-#endif
{
webkit_web_view_set_settings (EPHY_GET_WEBKIT_WEB_VIEW_FROM_EMBED (embed),
settings);
}
+#endif
void
ephy_embed_prefs_init (void)
{
int i;
#ifdef HAVE_WEBKIT2
- webkit_settings = webkit_settings_new_with_settings ("enable-developer-extras", TRUE,
- "enable-fullscreen", TRUE,
- "enable-site-specific-quirks", TRUE,
- "enable-dns-prefetching", TRUE,
- NULL);
+ web_view_group = webkit_web_view_group_new ("Ephy WebView Group");
+ webkit_settings = webkit_web_view_group_get_settings (web_view_group);
+
+ g_object_set (webkit_settings,
+ "enable-developer-extras", TRUE,
+ "enable-fullscreen", TRUE,
+ "enable-site-specific-quirks", TRUE,
+ "enable-dns-prefetching", TRUE,
+ NULL);
#else
webkit_settings = webkit_web_settings_new ();
@@ -758,12 +760,23 @@ ephy_embed_prefs_init (void)
void
ephy_embed_prefs_shutdown (void)
{
+#ifdef HAVE_WEBKIT2
+ g_object_unref (web_view_group);
+#else
g_object_unref (webkit_settings);
+#endif
}
+#ifdef HAVE_WEBKIT2
+WebKitWebViewGroup *
+ephy_embed_prefs_get_web_view_group (void)
+{
+ return web_view_group;
+}
+#else
void
ephy_embed_prefs_add_embed (EphyEmbed *embed)
{
ephy_embed_prefs_apply (embed, webkit_settings);
}
-
+#endif