Bug 1425897 - Fix race condition in about:debugging test helper;r=baku
MozReview-Commit-ID: ELvxWzld9Um
--- a/devtools/client/aboutdebugging/test/head.js
+++ b/devtools/client/aboutdebugging/test/head.js
@@ -396,29 +396,32 @@ function* waitForServiceWorkerActivation
yield waitUntil(() => {
return targetStatus.textContent !== "Registering";
}, 100);
}
/**
* Set all preferences needed to enable service worker debugging and testing.
*/
-function enableServiceWorkerDebugging() {
- return new Promise(done => {
- let options = { "set": [
- // Enable service workers.
- ["dom.serviceWorkers.enabled", true],
- // Accept workers from mochitest's http.
- ["dom.serviceWorkers.testing.enabled", true],
- // Force single content process.
- ["dom.ipc.processCount", 1],
- ]};
+function* enableServiceWorkerDebugging() {
+ let options = { "set": [
+ // Enable service workers.
+ ["dom.serviceWorkers.enabled", true],
+ // Accept workers from mochitest's http.
+ ["dom.serviceWorkers.testing.enabled", true],
+ // Force single content process.
+ ["dom.ipc.processCount", 1],
+ ]};
+
+ // Wait for dom.ipc.processCount to be updated before releasing processes.
+ yield new Promise(done => {
SpecialPowers.pushPrefEnv(options, done);
- Services.ppmm.releaseCachedProcesses();
});
+
+ Services.ppmm.releaseCachedProcesses();
}
/**
* Returns a promise that resolves when the given add-on event is fired. The
* resolved value is an array of arguments passed for the event.
*/
function promiseAddonEvent(event) {
return new Promise(resolve => {