Bug 1288276 - Add chromeScript.awaitOneMessage to SpecialPowers r=billm

MozReview-Commit-ID: DcqnN3TosM8

--HG--
extra : rebase_source : 578e6437ef32830fdd3a1081947ca8081d1e3497
This commit is contained in:
Rob Wu 2016-08-07 19:09:03 -07:00
parent f962373a71
commit d96579c768

View File

@ -503,6 +503,13 @@ SpecialPowersAPI.prototype = {
listeners.push({ name: name, listener: listener });
},
promiseOneMessage: name => new Promise(resolve => {
chromeScript.addMessageListener(name, function listener(message) {
chromeScript.removeMessageListener(name, listener);
resolve(message);
});
}),
removeMessageListener: (name, listener) => {
listeners = listeners.filter(
o => (o.name != name || o.listener != listener)