summaryrefslogtreecommitdiffstats
path: root/mobile/android/modules/PageActions.jsm
diff options
context:
space:
mode:
Diffstat (limited to 'mobile/android/modules/PageActions.jsm')
-rw-r--r--mobile/android/modules/PageActions.jsm113
1 files changed, 0 insertions, 113 deletions
diff --git a/mobile/android/modules/PageActions.jsm b/mobile/android/modules/PageActions.jsm
deleted file mode 100644
index a66268f82..000000000
--- a/mobile/android/modules/PageActions.jsm
+++ /dev/null
@@ -1,113 +0,0 @@
-/* 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";
-
-const { classes: Cc, interfaces: Ci, utils: Cu } = Components;
-Cu.import("resource://gre/modules/XPCOMUtils.jsm");
-Cu.import("resource://gre/modules/Services.jsm");
-Cu.import("resource://gre/modules/Messaging.jsm");
-
-XPCOMUtils.defineLazyServiceGetter(this, "uuidgen",
- "@mozilla.org/uuid-generator;1",
- "nsIUUIDGenerator");
-
-this.EXPORTED_SYMBOLS = ["PageActions"];
-
-// Copied from browser.js
-// TODO: We should move this method to a common importable location
-function resolveGeckoURI(aURI) {
- if (!aURI)
- throw "Can't resolve an empty uri";
-
- if (aURI.startsWith("chrome://")) {
- let registry = Cc['@mozilla.org/chrome/chrome-registry;1'].getService(Ci["nsIChromeRegistry"]);
- return registry.convertChromeURL(Services.io.newURI(aURI, null, null)).spec;
- } else if (aURI.startsWith("resource://")) {
- let handler = Services.io.getProtocolHandler("resource").QueryInterface(Ci.nsIResProtocolHandler);
- return handler.resolveURI(Services.io.newURI(aURI, null, null));
- }
- return aURI;
-}
-
-var PageActions = {
- _items: { },
-
- _inited: false,
-
- _maybeInit: function() {
- if (!this._inited && Object.keys(this._items).length > 0) {
- this._inited = true;
- Services.obs.addObserver(this, "PageActions:Clicked", false);
- Services.obs.addObserver(this, "PageActions:LongClicked", false);
- }
- },
-
- _maybeUninit: function() {
- if (this._inited && Object.keys(this._items).length == 0) {
- this._inited = false;
- Services.obs.removeObserver(this, "PageActions:Clicked");
- Services.obs.removeObserver(this, "PageActions:LongClicked");
- }
- },
-
- observe: function(aSubject, aTopic, aData) {
- let item = this._items[aData];
- if (aTopic == "PageActions:Clicked") {
- if (item.clickCallback) {
- item.clickCallback();
- }
- } else if (aTopic == "PageActions:LongClicked") {
- if (item.longClickCallback) {
- item.longClickCallback();
- }
- }
- },
-
- isShown: function(id) {
- return !!this._items[id];
- },
-
- synthesizeClick: function(id) {
- let item = this._items[id];
- if (item && item.clickCallback) {
- item.clickCallback();
- }
- },
-
- add: function(aOptions) {
- let id = aOptions.id || uuidgen.generateUUID().toString()
-
- Messaging.sendRequest({
- type: "PageActions:Add",
- id: id,
- title: aOptions.title,
- icon: resolveGeckoURI(aOptions.icon),
- important: "important" in aOptions ? aOptions.important : false
- });
-
- this._items[id] = {};
-
- if (aOptions.clickCallback) {
- this._items[id].clickCallback = aOptions.clickCallback;
- }
-
- if (aOptions.longClickCallback) {
- this._items[id].longClickCallback = aOptions.longClickCallback;
- }
-
- this._maybeInit();
- return id;
- },
-
- remove: function(id) {
- Messaging.sendRequest({
- type: "PageActions:Remove",
- id: id
- });
-
- delete this._items[id];
- this._maybeUninit();
- }
-}