file_cookiemanager.js (552B)
1 /* eslint-env mozilla/chrome-script */ 2 3 addMessageListener("getCookieFromManager", ({ host, path }) => { 4 let cm = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager); 5 let values = []; 6 path = path.substring(0, path.lastIndexOf("/")); 7 for (let cookie of cm.cookies) { 8 if (!cookie) { 9 break; 10 } 11 if (host != cookie.host || path != cookie.path) { 12 continue; 13 } 14 values.push(cookie.name + "=" + cookie.value); 15 } 16 17 sendAsyncMessage("getCookieFromManager:return", { 18 cookie: values.join("; "), 19 }); 20 });