[Xfce4-commits] <midori:master> Honor site data policy when clearing web cookies
Christian Dywan
noreply at xfce.org
Sun Feb 26 00:04:05 CET 2012
Updating branch refs/heads/master
to 6fd666aa9fac694df1019fab36ef97b222a55f46 (commit)
from 4c142e76883ba1805e4f5a042d53b7a4f3364ed2 (commit)
commit 6fd666aa9fac694df1019fab36ef97b222a55f46
Author: Christian Dywan <christian at twotoasts.de>
Date: Sun Feb 26 00:01:26 2012 +0100
Honor site data policy when clearing web cookies
midori/main.c | 8 ++++++++
1 files changed, 8 insertions(+), 0 deletions(-)
diff --git a/midori/main.c b/midori/main.c
index f0efec4..f124908 100644
--- a/midori/main.c
+++ b/midori/main.c
@@ -996,6 +996,7 @@ static gboolean
midori_load_soup_session (gpointer settings)
{
SoupSession* session = webkit_get_default_session ();
+ g_object_set_data (G_OBJECT (session), "midori-settings", settings);
#if defined (HAVE_LIBSOUP_2_37_1)
g_object_set (session,
@@ -1724,6 +1725,7 @@ static void
midori_clear_web_cookies_cb (void)
{
SoupSession* session = webkit_get_default_session ();
+ MidoriWebSettings* settings = g_object_get_data (G_OBJECT (session), "midori-settings");
SoupSessionFeature* jar = soup_session_get_feature (session, SOUP_TYPE_COOKIE_JAR);
GSList* cookies = soup_cookie_jar_all_cookies (SOUP_COOKIE_JAR (jar));
SoupSessionFeature* feature;
@@ -1731,7 +1733,13 @@ midori_clear_web_cookies_cb (void)
/* HTTP Cookies/ Web Cookies */
for (; cookies != NULL; cookies = g_slist_next (cookies))
+ {
+ const gchar* domain = ((SoupCookie*)cookies->data)->domain;
+ if (midori_web_settings_get_site_data_policy (settings, domain)
+ == MIDORI_SITE_DATA_PRESERVE)
+ continue;
soup_cookie_jar_delete_cookie ((SoupCookieJar*)jar, cookies->data);
+ }
soup_cookies_free (cookies);
/* Removing KatzeHttpCookies makes it save outstanding changes */
if ((feature = soup_session_get_feature (session, KATZE_TYPE_HTTP_COOKIES)))
More information about the Xfce4-commits
mailing list