summaryrefslogtreecommitdiffstats
path: root/dom/html/test/file_cookiemanager.js
blob: 08c9d72898c89a03dbd665ab6cd67352d5099d7a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/* eslint-env mozilla/chrome-script */

addMessageListener("getCookieFromManager", ({ host, path }) => {
  let cm = Cc["@mozilla.org/cookiemanager;1"].getService(Ci.nsICookieManager);
  let values = [];
  path = path.substring(0, path.lastIndexOf("/"));
  for (let cookie of cm.cookies) {
    if (!cookie) {
      break;
    }
    if (host != cookie.host || path != cookie.path) {
      continue;
    }
    values.push(cookie.name + "=" + cookie.value);
  }

  sendAsyncMessage("getCookieFromManager:return", {
    cookie: values.join("; "),
  });
});