From 6bf0a5cb5034a7e684dcc3500e841785237ce2dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 19:32:43 +0200 Subject: Adding upstream version 1:115.7.0. Signed-off-by: Daniel Baumann --- .../content/test/tabcrashed/browser_launchFail.js | 59 ++++++++++++++++++++++ 1 file changed, 59 insertions(+) create mode 100644 browser/base/content/test/tabcrashed/browser_launchFail.js (limited to 'browser/base/content/test/tabcrashed/browser_launchFail.js') diff --git a/browser/base/content/test/tabcrashed/browser_launchFail.js b/browser/base/content/test/tabcrashed/browser_launchFail.js new file mode 100644 index 0000000000..e89038ac10 --- /dev/null +++ b/browser/base/content/test/tabcrashed/browser_launchFail.js @@ -0,0 +1,59 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +/** + * Tests that if the content process fails to launch in the + * foreground tab, that we show about:tabcrashed, but do not + * attempt to wait for a crash dump for it (which will never come). + */ +add_task(async function test_launchfail_foreground() { + // eslint-disable-next-line @microsoft/sdl/no-insecure-url + await BrowserTestUtils.withNewTab("http://example.com", async browser => { + let tabcrashed = BrowserTestUtils.waitForEvent( + browser, + "AboutTabCrashedReady", + false, + null, + true + ); + await BrowserTestUtils.simulateProcessLaunchFail(browser); + Assert.equal( + 0, + TabCrashHandler.queuedCrashedBrowsers, + "No crashed browsers should be queued." + ); + await tabcrashed; + }); +}); + +/** + * Tests that if the content process fails to launch in a background + * tab, that upon choosing that tab, we show about:tabcrashed, but do + * not attempt to wait for a crash dump for it (which will never come). + */ +add_task(async function test_launchfail_background() { + let originalTab = gBrowser.selectedTab; + // eslint-disable-next-line @microsoft/sdl/no-insecure-url + await BrowserTestUtils.withNewTab("http://example.com", async browser => { + let tab = gBrowser.getTabForBrowser(browser); + await BrowserTestUtils.switchTab(gBrowser, originalTab); + + let tabcrashed = BrowserTestUtils.waitForEvent( + browser, + "AboutTabCrashedReady", + false, + null, + true + ); + await BrowserTestUtils.simulateProcessLaunchFail(browser); + Assert.equal( + 0, + TabCrashHandler.queuedCrashedBrowsers, + "No crashed browsers should be queued." + ); + await BrowserTestUtils.switchTab(gBrowser, tab); + await tabcrashed; + }); +}); -- cgit v1.2.3