summaryrefslogtreecommitdiffstats
path: root/browser/extensions/pocket/content/pocket-content-process.js
diff options
context:
space:
mode:
Diffstat (limited to 'browser/extensions/pocket/content/pocket-content-process.js')
-rw-r--r--browser/extensions/pocket/content/pocket-content-process.js54
1 files changed, 54 insertions, 0 deletions
diff --git a/browser/extensions/pocket/content/pocket-content-process.js b/browser/extensions/pocket/content/pocket-content-process.js
new file mode 100644
index 000000000..9b158a0ed
--- /dev/null
+++ b/browser/extensions/pocket/content/pocket-content-process.js
@@ -0,0 +1,54 @@
+/* This Source Code Form is subject to the terms of the Mozilla Public
+ * License, v. 2.0. If a copy of the MPL was not distributed with this
+ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
+"use strict";
+
+// This file is loaded as a process script, it will be loaded in the parent
+// process as well as all content processes.
+
+const { utils: Cu } = Components;
+Cu.import("resource://gre/modules/XPCOMUtils.jsm");
+Cu.import("resource://gre/modules/Services.jsm");
+Cu.import("chrome://pocket/content/AboutPocket.jsm");
+
+function AboutPocketChildListener() {
+}
+AboutPocketChildListener.prototype = {
+ onStartup: function onStartup() {
+
+ // Only do this in content processes since, as the broadcaster of this
+ // message, the parent process doesn't also receive it. We handlers
+ // the shutting down separately.
+ if (Services.appinfo.processType ==
+ Services.appinfo.PROCESS_TYPE_CONTENT) {
+
+ Services.cpmm.addMessageListener("PocketShuttingDown", this, true);
+ }
+
+ AboutPocket.aboutSaved.register();
+ AboutPocket.aboutSignup.register();
+ },
+
+ onShutdown: function onShutdown() {
+ AboutPocket.aboutSignup.unregister();
+ AboutPocket.aboutSaved.unregister();
+
+ Services.cpmm.removeMessageListener("PocketShuttingDown", this);
+ Cu.unload("chrome://pocket/content/AboutPocket.jsm");
+ },
+
+ receiveMessage: function receiveMessage(message) {
+ switch (message.name) {
+ case "PocketShuttingDown":
+ this.onShutdown();
+ break;
+ default:
+ break;
+ }
+
+ return;
+ }
+};
+
+const listener = new AboutPocketChildListener();
+listener.onStartup();