aboutsummaryrefslogtreecommitdiff
path: root/tools/addon-sdk-1.12/lib/sdk/self.js
diff options
context:
space:
mode:
authorGravatar Rogan Creswick <creswick@gmail.com>2013-01-02 15:31:43 -0800
committerGravatar Rogan Creswick <creswick@gmail.com>2013-01-02 15:31:43 -0800
commit91c8d16838b39c7726f6c0a0fb333f5ba38d2494 (patch)
tree136df17525e5e62f3ddc5b7a6dc71ffd31e2aa42 /tools/addon-sdk-1.12/lib/sdk/self.js
parentf7b228c479bac8828e521a2826d7f57f150da877 (diff)
updated addon-sdk to 1.12
Diffstat (limited to 'tools/addon-sdk-1.12/lib/sdk/self.js')
-rw-r--r--tools/addon-sdk-1.12/lib/sdk/self.js36
1 files changed, 36 insertions, 0 deletions
diff --git a/tools/addon-sdk-1.12/lib/sdk/self.js b/tools/addon-sdk-1.12/lib/sdk/self.js
new file mode 100644
index 0000000..f9fca1e
--- /dev/null
+++ b/tools/addon-sdk-1.12/lib/sdk/self.js
@@ -0,0 +1,36 @@
+/* vim:st=2:sts=2:sw=2:
+ * 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 { CC } = require('chrome');
+const { id, name, prefixURI, rootURI,
+ version, loadReason } = require('@loader/options');
+
+const { readURISync } = require('./net/url');
+
+const addonDataURI = prefixURI + name + '/data/';
+
+function uri(path) {
+ return addonDataURI + (path || '');
+}
+
+
+// Some XPCOM APIs require valid URIs as an argument for certain operations
+// (see `nsILoginManager` for example). This property represents add-on
+// associated unique URI string that can be used for that.
+exports.uri = 'addon:' + id;
+exports.id = id;
+exports.name = name;
+exports.loadReason = loadReason;
+exports.version = version;
+// If `rootURI` is jar:file://...!/ than add-on is packed.
+exports.packed = rootURI.indexOf('jar:') === 0
+exports.data = Object.freeze({
+ url: uri,
+ load: function read(path) {
+ return readURISync(uri(path));
+ }
+});