Bug 1372664 - Fix browser_messagemanager_loadprocessscript.js to pass when Activity Stream is enabled draft bug1372664
authork88hudson <khudson@mozilla.com>
Tue, 13 Jun 2017 14:41:59 -0400
changeset 593487 dd4315471dbcbf5632c7e2b25540b85253459ac2
parent 592895 e3638c5119ed03dcd6ad243f99b08251194e375b
child 633127 9d7943d212f46a19bd4c24b7aff230c02baa8520
push id63714
push userkhudson@mozilla.com
push dateTue, 13 Jun 2017 18:42:25 +0000
bugs1372664
milestone56.0a1
Bug 1372664 - Fix browser_messagemanager_loadprocessscript.js to pass when Activity Stream is enabled MozReview-Commit-ID: HblEC3Qi3pm
dom/base/test/browser_messagemanager_loadprocessscript.js
--- a/dom/base/test/browser_messagemanager_loadprocessscript.js
+++ b/dom/base/test/browser_messagemanager_loadprocessscript.js
@@ -1,10 +1,13 @@
 var ppmm = Cc["@mozilla.org/parentprocessmessagemanager;1"]
            .getService(Ci.nsIMessageBroadcaster);
+
+var BASE_NUMBER_OF_PROCESSES = Services.prefs.getBoolPref("browser.newtabpage.activity-stream.enabled") ? 4 : 3;
+
 ppmm.QueryInterface(Ci.nsIProcessScriptLoader);
 
 function processScript() {
   let cpmm = Components.classes["@mozilla.org/childprocessmessagemanager;1"]
            .getService(Components.interfaces.nsISyncMessageSender);
   if (cpmm !== this) {
     dump("Test failed: wrong global object\n");
     return;
@@ -71,17 +74,17 @@ add_task(function*(){
     tabs[i] = yield BrowserTestUtils.openNewForegroundTab(gBrowser, "about:blank");
   }
 
   for (let i = 0; i < 3; i++) {
     yield BrowserTestUtils.removeTab(tabs[i]);
   }
 
   ppmm.releaseCachedProcesses();
-  is(ppmm.childCount, 3, "Should get back to 3 processes at this point.");
+  is(ppmm.childCount, BASE_NUMBER_OF_PROCESSES, `Should be back to ${BASE_NUMBER_OF_PROCESSES} processes at this point`);
 })
 
 // Test that loading a process script loads in all existing processes
 add_task(function*() {
   let checks = [];
   for (let i = 0; i < ppmm.childCount; i++)
     checks.push(checkProcess(ppmm.getChildAt(i)));
 
@@ -90,17 +93,17 @@ add_task(function*() {
 });
 
 // Test that loading a process script loads in new processes
 add_task(function*() {
   // This test is only relevant in e10s
   if (!gMultiProcessBrowser)
     return;
 
-  is(ppmm.childCount, 3, "Should be three processes at this point");
+  is(ppmm.childCount, BASE_NUMBER_OF_PROCESSES, `Should be ${BASE_NUMBER_OF_PROCESSES} processes at this point`);
 
   // Load something in the main process
   gBrowser.selectedBrowser.loadURI("about:robots");
   yield BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
 
   let init = ppmm.initialProcessData;
   init.test123 = "hello";
   init.test456 = new Map();
@@ -120,17 +123,17 @@ add_task(function*() {
     yield check;
 
     check = checkProcess(ppmm);
     // Reset the default browser to start a new child process
     gBrowser.updateBrowserRemoteness(gBrowser.selectedBrowser, true);
     gBrowser.selectedBrowser.loadURI("about:blank");
     yield BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser);
 
-    is(ppmm.childCount, 3, "Should be back to three processes at this point");
+    is(ppmm.childCount, BASE_NUMBER_OF_PROCESSES, `Should be back to ${BASE_NUMBER_OF_PROCESSES} processes at this point`);
 
     // The new process should have responded
     yield check;
 
     ppmm.removeDelayedProcessScript(processScriptURL);
 
     let childMM;
     childMM = ppmm.getChildAt(2);