diff options
author | Carlos Garcia Campos <cgarcia@igalia.com> | 2012-08-23 18:09:04 +0800 |
---|---|---|
committer | Carlos Garcia Campos <carlosgc@gnome.org> | 2012-09-02 16:55:26 +0800 |
commit | 815e51df8f3c080aaab113257f6eabb8392f9684 (patch) | |
tree | 26e368ea27e3f05c178571fbb02b36e4d1b848ab | |
parent | 4f81935681945df5883f59a218bfb7ea3b29a1d8 (diff) | |
download | gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.tar gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.tar.gz gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.tar.bz2 gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.tar.lz gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.tar.xz gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.tar.zst gsoc2013-epiphany-815e51df8f3c080aaab113257f6eabb8392f9684.zip |
ephy-embed-prefs: Port preferred languages to WebKit2
https://bugzilla.gnome.org/show_bug.cgi?id=679685
-rw-r--r-- | embed/ephy-embed-prefs.c | 22 |
1 files changed, 13 insertions, 9 deletions
diff --git a/embed/ephy-embed-prefs.c b/embed/ephy-embed-prefs.c index 554d6d5cd..2c9346310 100644 --- a/embed/ephy-embed-prefs.c +++ b/embed/ephy-embed-prefs.c @@ -283,6 +283,7 @@ webkit_pref_callback_font_family (GSettings *settings, g_free (value); } +#ifndef HAVE_WEBKIT2 /* Part of this code taken from libsoup (soup-session.c) */ static gchar * build_accept_languages_header (GArray *languages) @@ -325,6 +326,7 @@ build_accept_languages_header (GArray *languages) return langs_str; } +#endif /* Based on Christian Persch's code from gecko backend of epiphany (old transform_accept_languages_list() function) */ @@ -333,18 +335,15 @@ webkit_pref_callback_accept_languages (GSettings *settings, char *key, gpointer data) { -#ifdef HAVE_WEBKIT2 - /* TODO: Languages */ -#else +#ifndef HAVE_WEBKIT2 SoupSession *session; + char *webkit_pref = data; + char *langs_str; +#endif GArray *array; char **languages; - char *langs_str; - char *webkit_pref; int i; - webkit_pref = data; - languages = g_settings_get_strv (settings, key); array = g_array_new (TRUE, FALSE, sizeof (char *)); @@ -360,16 +359,21 @@ webkit_pref_callback_accept_languages (GSettings *settings, ephy_langs_sanitise (array); +#ifdef HAVE_WEBKIT2 + webkit_web_context_set_preferred_languages (webkit_web_context_get_default (), + (const char * const *)array->data); +#else langs_str = build_accept_languages_header (array); /* Update Soup session */ session = webkit_get_default_session (); g_object_set (G_OBJECT (session), webkit_pref, langs_str, NULL); - g_strfreev (languages); g_free (langs_str); - g_array_free (array, TRUE); #endif + + g_strfreev (languages); + g_array_free (array, TRUE); } |