// // Try to open a tab. This provides code coverage for a few things, // although currently there's no automated functional test of correctness: // // * On opt builds, when the tab is closed and the process exits, it // will hang for 3s and the parent will kill it after 2s. // // * On debug[*] builds, the parent process will wait until the // process exits normally; but also, on browser shutdown, the // preallocated content processes will block parent shutdown in // WillDestroyCurrentMessageLoop. // // [*] Also sanitizer and code coverage builds. //
add_task(async function () {
await BrowserTestUtils.withNewTab(
{
gBrowser,
url: "https://example.com/",
forceNewProcess: true,
},
async function () { // browser.frameLoader.remoteTab.osPid is the child pid; once we // have a way to get notifications about child process termination // events, that could be useful.
ok(true, "Browser isn't broken");
}
); // eslint-disable-next-line mozilla/no-arbitrary-setTimeout
await new Promise(resolve => setTimeout(resolve, 4000));
ok(true, "Still running after child process (hopefully) exited");
});
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.