diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2013-03-17 23:22:34 +0800 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2013-03-19 00:33:36 +0800 |
commit | fca6216c67cea8ac074c6af912526066aa6dd098 (patch) | |
tree | 0e7c0f058edf49b4e20de920b0647fa8d561352d /embed/ephy-embed-prefs.c | |
parent | d54c82c4f07888c6aa7f7aa104e0e253ec770b86 (diff) | |
download | gsoc2013-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.c | 35 |
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 |