summaryrefslogtreecommitdiffstats
path: root/addon-sdk/source/lib/sdk/addon/events.js
diff options
context:
space:
mode:
authorMatt A. Tobin <email@mattatobin.com>2018-02-09 06:46:43 -0500
committerMatt A. Tobin <email@mattatobin.com>2018-02-09 06:46:43 -0500
commitac46df8daea09899ce30dc8fd70986e258c746bf (patch)
tree2750d3125fc253fd5b0671e4bd268eff1fd97296 /addon-sdk/source/lib/sdk/addon/events.js
parent8cecf8d5208f3945b35f879bba3015bb1a11bec6 (diff)
downloadUXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar.gz
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar.lz
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.tar.xz
UXP-ac46df8daea09899ce30dc8fd70986e258c746bf.zip
Move Add-on SDK source to toolkit/jetpack
Diffstat (limited to 'addon-sdk/source/lib/sdk/addon/events.js')
-rw-r--r--addon-sdk/source/lib/sdk/addon/events.js56
1 files changed, 0 insertions, 56 deletions
diff --git a/addon-sdk/source/lib/sdk/addon/events.js b/addon-sdk/source/lib/sdk/addon/events.js
deleted file mode 100644
index 45bada6e1..000000000
--- a/addon-sdk/source/lib/sdk/addon/events.js
+++ /dev/null
@@ -1,56 +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';
-
-module.metadata = {
- 'stability': 'experimental'
-};
-
-var { request: hostReq, response: hostRes } = require('./host');
-var { defer: async } = require('../lang/functional');
-var { defer } = require('../core/promise');
-var { emit: emitSync, on, off } = require('../event/core');
-var { uuid } = require('../util/uuid');
-var emit = async(emitSync);
-
-// Map of IDs to deferreds
-var requests = new Map();
-
-// May not be necessary to wrap this in `async`
-// once promises are async via bug 881047
-var receive = async(function ({data, id, error}) {
- let request = requests.get(id);
- if (request) {
- if (error) request.reject(error);
- else request.resolve(clone(data));
- requests.delete(id);
- }
-});
-on(hostRes, 'data', receive);
-
-/*
- * Send is a helper to be used in client APIs to send
- * a request to host
- */
-function send (eventName, data) {
- let id = uuid();
- let deferred = defer();
- requests.set(id, deferred);
- emit(hostReq, 'data', {
- id: id,
- data: clone(data),
- event: eventName
- });
- return deferred.promise;
-}
-exports.send = send;
-
-/*
- * Implement internal structured cloning algorithm in the future?
- * http://www.whatwg.org/specs/web-apps/current-work/multipage/common-dom-interfaces.html#internal-structured-cloning-algorithm
- */
-function clone (obj) {
- return JSON.parse(JSON.stringify(obj || {}));
-}