Quelle browser_force_process_selector.js
Sprache: JAVA
"use strict";
const CONTENT_CREATED = "ipc:content-created";
// Make sure that BTU.withNewTab({ ..., forceNewProcess: true }) loads // new tabs in their own process.
async function spawnNewAndTest(recur, pids) {
await BrowserTestUtils.withNewTab(
{ gBrowser, url: "about:blank", forceNewProcess: true },
async function (browser) { // Make sure our new browser is in its own process.
let newPid = browser.frameLoader.remoteTab.osPid;
ok(!pids.has(newPid), "new tab is in its own process: " + recur);
pids.add(newPid);
if (recur) {
await spawnNewAndTest(recur - 1, pids);
} else {
await BrowserTestUtils.withNewTab(
{ gBrowser, url: "about:blank" }, function (lastBrowser) {
let lastPid = lastBrowser.frameLoader.remoteTab.osPid;
ok(pids.has(lastPid), "final tab cannot be in its own process");
}
);
}
}
);
}
add_task(async function test() {
let curPid = gBrowser.selectedBrowser.frameLoader.remoteTab.osPid;
let maxCount = Services.prefs.getIntPref("dom.ipc.processCount");
// Use at least one more tab than max processes or at least 5 to make this // test interesting.
await spawnNewAndTest(Math.max(maxCount + 1, 5), new Set([curPid]));
});
Messung V0.5
¤ Dauer der Verarbeitung: 0.11 Sekunden
(vorverarbeitet)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.