2017-02-01 15:34:24 +03:00
|
|
|
<!DOCTYPE HTML>
|
|
|
|
<html>
|
|
|
|
<!--
|
|
|
|
Test that the preallocated process starts up.
|
|
|
|
-->
|
|
|
|
<head>
|
|
|
|
<script type="application/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
|
|
|
|
<script type="application/javascript" src="../browserElementTestHelpers.js"></script>
|
|
|
|
<link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css"/>
|
|
|
|
</head>
|
|
|
|
<body>
|
|
|
|
|
2017-02-23 00:10:07 +03:00
|
|
|
<script type="application/javascript">
|
2017-02-01 15:34:24 +03:00
|
|
|
"use strict";
|
|
|
|
|
|
|
|
SimpleTest.waitForExplicitFinish();
|
|
|
|
|
|
|
|
function expectProcessCreated() {
|
|
|
|
return new Promise(resolve => {
|
|
|
|
function parentExpectProcessCreated() {
|
|
|
|
Components.utils.import('resource://gre/modules/Services.jsm');
|
|
|
|
let topic = "ipc:content-initializing";
|
|
|
|
let obs = { observe: function() {
|
|
|
|
Services.obs.removeObserver(obs, topic);
|
|
|
|
sendAsyncMessage('process-created');
|
|
|
|
}}
|
|
|
|
Services.obs.addObserver(obs, topic, /* weak = */ false);
|
|
|
|
}
|
|
|
|
|
|
|
|
let helper = SpecialPowers.loadChromeScript(parentExpectProcessCreated);
|
|
|
|
SimpleTest.registerCleanupFunction(function() { helper.destroy() });
|
|
|
|
helper.addMessageListener('process-created', resolve);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
expectProcessCreated().then(() => {
|
|
|
|
ok(true, "Process creation detected.");
|
|
|
|
SimpleTest.finish();
|
|
|
|
});
|
|
|
|
|
|
|
|
// Kill existing preallocated process.
|
|
|
|
SpecialPowers.pushPrefEnv({'set':[["dom.ipc.processPrelaunch.enabled", false]]}).then(() => {
|
|
|
|
// Make sure we have the capacity to launch preallocated process.
|
|
|
|
SpecialPowers.pushPrefEnv({'set':[["dom.ipc.processCount", 100]]}).then(() => {
|
|
|
|
// Enable preallocated process and run the test.
|
|
|
|
SpecialPowers.pushPrefEnv({'set':[["dom.ipc.processPrelaunch.enabled", true]]});
|
|
|
|
});
|
|
|
|
});
|
|
|
|
</script>
|
|
|
|
</body>
|
|
|
|
</html>
|