aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--embed/ephy-embed-prefs.c35
-rw-r--r--embed/ephy-embed-prefs.h20
-rw-r--r--embed/ephy-embed.c2
-rw-r--r--embed/ephy-web-view.c6
4 files changed, 44 insertions, 19 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
diff --git a/embed/ephy-embed-prefs.h b/embed/ephy-embed-prefs.h
index f214250e3..c49570e14 100644
--- a/embed/ephy-embed-prefs.h
+++ b/embed/ephy-embed-prefs.h
@@ -38,15 +38,21 @@
G_BEGIN_DECLS
-void ephy_embed_prefs_init (void);
-void ephy_embed_prefs_shutdown (void);
-void ephy_embed_prefs_add_embed (EphyEmbed *embed);
+void ephy_embed_prefs_init (void);
+void ephy_embed_prefs_shutdown (void);
+
+#ifdef HAVE_WEBKIT2
+WebKitWebViewGroup *ephy_embed_prefs_get_web_view_group (void);
+#else
+void ephy_embed_prefs_add_embed (EphyEmbed *embed);
+#endif
+
#ifdef HAVE_WEBKIT2
-void ephy_embed_prefs_set_cookie_accept_policy (WebKitCookieManager *cookie_manager,
- const char *settings_policy);
+void ephy_embed_prefs_set_cookie_accept_policy (WebKitCookieManager *cookie_manager,
+ const char *settings_policy);
#else
-void ephy_embed_prefs_set_cookie_jar_policy (SoupCookieJar *jar,
- const char *gconf_policy);
+void ephy_embed_prefs_set_cookie_jar_policy (SoupCookieJar *jar,
+ const char *gconf_policy);
#endif
G_END_DECLS
diff --git a/embed/ephy-embed.c b/embed/ephy-embed.c
index 470d4d045..c9b8bf4bd 100644
--- a/embed/ephy-embed.c
+++ b/embed/ephy-embed.c
@@ -1109,7 +1109,9 @@ ephy_embed_constructed (GObject *object)
NULL);
#endif
+#ifndef HAVE_WEBKIT2
ephy_embed_prefs_add_embed (embed);
+#endif
}
static void
diff --git a/embed/ephy-web-view.c b/embed/ephy-web-view.c
index 98b29d27c..439d83347 100644
--- a/embed/ephy-web-view.c
+++ b/embed/ephy-web-view.c
@@ -2835,7 +2835,11 @@ ephy_web_view_init (EphyWebView *web_view)
GtkWidget *
ephy_web_view_new (void)
{
- return g_object_new (EPHY_TYPE_WEB_VIEW, NULL);
+ return g_object_new (EPHY_TYPE_WEB_VIEW,
+#ifdef HAVE_WEBKIT2
+ "group", ephy_embed_prefs_get_web_view_group (),
+#endif
+ NULL);
}
static gboolean