Bug 1463766 - Change do_send_remote_message/do_await_remote_message to allow passing data r=Gijs draft
authorValentin Gosu <valentin.gosu@gmail.com>
Wed, 23 May 2018 16:51:58 +0200
changeset 798832 1c11159988f03ab90638c49d974ad99ab1c92a0b
parent 797705 dc1868d255be744a7d2d462216be205086cc60af
child 798921 bff2a5993e0de7431d0d5dcc1a6a49304de92b2a
push id110852
push uservalentin.gosu@gmail.com
push dateWed, 23 May 2018 14:52:56 +0000
reviewersGijs
bugs1463766
milestone62.0a1
Bug 1463766 - Change do_send_remote_message/do_await_remote_message to allow passing data r=Gijs MozReview-Commit-ID: 4OuzgmQlhn5
testing/xpcshell/head.js
--- a/testing/xpcshell/head.js
+++ b/testing/xpcshell/head.js
@@ -1240,19 +1240,19 @@ function run_test_in_child(testFile, opt
  * @return Promise Promise that is resolved when the message is received.
  */
 function do_await_remote_message(name, optionalCallback) {
   return new Promise((resolve) => {
     var listener = {
       receiveMessage(message) {
         if (message.name == name) {
           mm.removeMessageListener(name, listener);
-          resolve();
+          resolve(message.data);
           if (optionalCallback) {
-            optionalCallback();
+            optionalCallback(message.data);
           } else {
             do_test_finished();
           }
         }
       }
     };
 
     var mm;
@@ -1265,27 +1265,27 @@ function do_await_remote_message(name, o
     mm.addMessageListener(name, listener);
   });
 }
 
 /**
  * Asynchronously send a message to all remote processes. Pairs with do_await_remote_message
  * or equivalent ProcessMessageManager listeners.
  */
-function do_send_remote_message(name) {
+function do_send_remote_message(name, data) {
   var mm;
   var sender;
   if (runningInParent) {
     mm = Cc["@mozilla.org/parentprocessmessagemanager;1"].getService();
     sender = "broadcastAsyncMessage";
   } else {
     mm = Cc["@mozilla.org/childprocessmessagemanager;1"].getService();
     sender = "sendAsyncMessage";
   }
-  mm[sender](name);
+  mm[sender](name, data);
 }
 
 /**
  * Add a test function to the list of tests that are to be run asynchronously.
  *
  * @param funcOrProperties
  *        A function to be run or an object represents test properties.
  *        Supported properties: