1
0
Fork 0
firefox/ipc/glue/test/browser/browser_child_hang.js
Daniel Baumann 5e9a113729
Adding upstream version 140.0.
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
2025-06-25 09:37:52 +02:00

37 lines
1.3 KiB
JavaScript

/* Any copyright is dedicated to the Public Domain.
* http://creativecommons.org/publicdomain/zero/1.0/ */
"use strict";
//
// 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");
});