file_documentcookie_maxage_chromescript.js (986B)
1 /* eslint-env mozilla/chrome-script */ 2 3 "use strict"; 4 5 function getCookieService() { 6 // eslint-disable-next-line mozilla/use-services 7 return Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager); 8 } 9 10 function getCookies(cs) { 11 let cookies = []; 12 for (let cookie of cs.cookies) { 13 cookies.push({ 14 host: cookie.host, 15 path: cookie.path, 16 name: cookie.name, 17 value: cookie.value, 18 expires: cookie.expires, 19 }); 20 } 21 return cookies; 22 } 23 24 function removeAllCookies(cs) { 25 cs.removeAll(); 26 } 27 28 addMessageListener("init", _ => { 29 let cs = getCookieService(); 30 removeAllCookies(cs); 31 sendAsyncMessage("init:return"); 32 }); 33 34 addMessageListener("getCookies", _ => { 35 let cs = getCookieService(); 36 let cookies = getCookies(cs); 37 removeAllCookies(cs); 38 sendAsyncMessage("getCookies:return", { cookies }); 39 }); 40 41 addMessageListener("shutdown", _ => { 42 let cs = getCookieService(); 43 removeAllCookies(cs); 44 sendAsyncMessage("shutdown:return"); 45 });