gecko-dev/dom/html/test/file_cookiemanager.js

21 строка
654 B
JavaScript

let { classes: Cc, interfaces: Ci } = Components;
addMessageListener("getCookieFromManager", ({ host, path }) => {
let cm = Cc["@mozilla.org/cookiemanager;1"]
.getService(Ci.nsICookieManager);
let values = [];
path = path.substring(0, path.lastIndexOf("/") + 1);
let e = cm.enumerator;
while (e.hasMoreElements()) {
let cookie = e.getNext().QueryInterface(Ci.nsICookie);
if (!cookie) {
break;
}
if (host != cookie.host || path != cookie.path) {
continue;
}
values.push(cookie.name + "=" + cookie.value);
}
sendAsyncMessage("getCookieFromManager:return", { cookie: values.join("; ") });
});