Source code

Revision control

Copy as Markdown

Other Tools

/* eslint-env mozilla/chrome-script */
"use strict";
var observer = {
observe(subject, topic) {
if (topic == "cookie-changed") {
let notification = subject.QueryInterface(Ci.nsICookieNotification);
let cookie = notification.cookie.QueryInterface(Ci.nsICookie);
sendAsyncMessage("cookieName", cookie.name + "=" + cookie.value);
sendAsyncMessage("cookieOperation", notification.action);
}
},
};
addMessageListener("createObserver", function () {
Services.obs.addObserver(observer, "cookie-changed");
sendAsyncMessage("createObserver:return");
});
addMessageListener("removeObserver", function () {
Services.obs.removeObserver(observer, "cookie-changed");
sendAsyncMessage("removeObserver:return");
});