diff options
Diffstat (limited to 'dom/html/test/file_cookiemanager.js')
-rw-r--r-- | dom/html/test/file_cookiemanager.js | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/dom/html/test/file_cookiemanager.js b/dom/html/test/file_cookiemanager.js new file mode 100644 index 000000000..98f356534 --- /dev/null +++ b/dom/html/test/file_cookiemanager.js @@ -0,0 +1,20 @@ +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("; ") }); +}); |