1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
|
/**
* (C) Copyright 2008 Jeremy Maitin-Shepard
*
* Use, modification, and distribution are subject to the terms specified in the
* COPYING file.
**/
var cookie_manager = Cc["@mozilla.org/cookiemanager;1"]
.getService(Ci.nsICookieManager2);
function clear_cookies () {
cookie_manager.removeAll();
}
interactive("clear-cookies", "Permanently delete all existing cookies.",
function (I) {
clear_cookies();
I.minibuffer.message("Cookies cleared.");
});
define_label("COOKIE_LIFETIME_DEFAULT");
define_label("COOKIE_LIFETIME_SESSION");
define_label("COOKIE_LIFETIME_DAYS", "days");
define_label("COOKIE_LIFETIME_PROMPT");
define_special_variable("cookie_lifetime_policy",
function () {
switch (get_pref("network.cookie.lifetimePolicy")) {
case 0:
return COOKIE_LIFETIME_DEFAULT;
case 1:
return COOKIE_LIFETIME_PROMPT;
case 2:
return COOKIE_LIFETIME_SESSION;
case 3:
return COOKIE_LIFETIME_DAYS(get_pref("network.cookie.lifetime.days"));
default:
return undefined;
}
},
function (value) {
switch (label_id(value)) {
case COOKIE_LIFETIME_DEFAULT:
session_pref("network.cookie.lifetimePolicy", 0);
break;
case COOKIE_LIFETIME_PROMPT:
session_pref("network.cookie.lifetimePolicy", 1);
break;
case COOKIE_LIFETIME_SESSION:
session_pref("network.cookie.lifetimePolicy", 2);
break;
case COOKIE_LIFETIME_DAYS:
session_pref("network.cookie.lifetimePolicy", 3);
session_pref("network.cookie.lifetime.days", value.days);
break;
}
},
"Specifies the default cookie lifetime policy.");
provide("cookie");
|