From d96579c768b53d98814d62d31058816537e874d8 Mon Sep 17 00:00:00 2001 From: Rob Wu Date: Sun, 7 Aug 2016 19:09:03 -0700 Subject: [PATCH] Bug 1288276 - Add chromeScript.awaitOneMessage to SpecialPowers r=billm MozReview-Commit-ID: DcqnN3TosM8 --HG-- extra : rebase_source : 578e6437ef32830fdd3a1081947ca8081d1e3497 --- testing/specialpowers/content/specialpowersAPI.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/testing/specialpowers/content/specialpowersAPI.js b/testing/specialpowers/content/specialpowersAPI.js index ee3e43c92979..f7e84bff74d3 100644 --- a/testing/specialpowers/content/specialpowersAPI.js +++ b/testing/specialpowers/content/specialpowersAPI.js @@ -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)