24 lines
748 B
JavaScript
24 lines
748 B
JavaScript
/* 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");
|
|
});
|