From 79361992bc6a0fc58c14703967174a61cfc35642 Mon Sep 17 00:00:00 2001 From: Stevan Andjelkovic Date: Thu, 29 Dec 2011 22:11:14 +0100 Subject: Add "remove all cookies from domain" button FS#85 Code from Elias Norberg (xyzzy) ok marco@ --- about.c | 22 ++++++++++++++++++---- 1 file changed, 18 insertions(+), 4 deletions(-) (limited to 'about.c') diff --git a/about.c b/about.c index 4e3f8b3..77fcde3 100644 --- a/about.c +++ b/about.c @@ -79,6 +79,7 @@ /* XTP cookie actions */ #define XT_XTP_CL_LIST (1) #define XT_XTP_CL_REMOVE (2) +#define XT_XTP_CL_REMOVE_DOMAIN (3) /* XTP cookie actions */ #define XT_XTP_FL_LIST (1) @@ -716,6 +717,9 @@ xtp_handle_cl(struct tab *t, uint8_t cmd, int arg) case XT_XTP_CL_REMOVE: remove_cookie(arg); break; + case XT_XTP_CL_REMOVE_DOMAIN: + remove_cookie_domain(arg); + break; default: show_oops(t, "%s: unknown cookie xtp command", __func__); break; @@ -1135,6 +1139,7 @@ xtp_page_cl(struct tab *t, struct karg *args) { char *body, *page, *tmp; int i = 1; /* all ids start 1 */ + int domain_id = 0; GSList *sc, *pc, *pc_start; SoupCookie *c; char *type, *table_headers, *last_domain; @@ -1172,19 +1177,28 @@ xtp_page_cl(struct tab *t, struct karg *args) if (strcmp(last_domain, c->domain) != 0) { /* new domain */ + domain_id ++; free(last_domain); last_domain = strdup(c->domain); if (body != NULL) { tmp = body; body = g_strdup_printf("%s" - "

%s

%s\n", - body, c->domain, table_headers); + "

%s

" + "remove all%s\n", + body, c->domain, + XT_XTP_STR, XT_XTP_CL, + cl_session_key, XT_XTP_CL_REMOVE_DOMAIN, domain_id, + table_headers); g_free(tmp); } else { /* first domain */ - body = g_strdup_printf("

%s

%s\n", - c->domain, table_headers); + body = g_strdup_printf("

%s

" + "remove all%s\n", + c->domain, + XT_XTP_STR, XT_XTP_CL, + cl_session_key, XT_XTP_CL_REMOVE_DOMAIN, domain_id, + table_headers); } } -- cgit 1.4.1-2-gfad0