From 26a029d407be480d791972afb5975cf62c9360a6 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Fri, 19 Apr 2024 02:47:55 +0200 Subject: Adding upstream version 124.0.1. Signed-off-by: Daniel Baumann --- dom/security/test/https-only/browser_bug1874801.js | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 dom/security/test/https-only/browser_bug1874801.js (limited to 'dom/security/test/https-only/browser_bug1874801.js') diff --git a/dom/security/test/https-only/browser_bug1874801.js b/dom/security/test/https-only/browser_bug1874801.js new file mode 100644 index 0000000000..280a072736 --- /dev/null +++ b/dom/security/test/https-only/browser_bug1874801.js @@ -0,0 +1,56 @@ +/* Any copyright is dedicated to the Public Domain. + http://creativecommons.org/publicdomain/zero/1.0/ */ + +"use strict"; + +// Specifically test https://bugzilla.mozilla.org/show_bug.cgi?id=1874801 + +const TAB_URL = + "https://example.com/browser/dom/security/test/https-only/file_bug1874801.html"; + +function assertImageLoaded(tab) { + return ContentTask.spawn(tab.linkedBrowser, {}, () => { + const img = content.document.getElementsByTagName("img")[0]; + + ok(!!img, "Image tag should exist"); + ok(img.complete && img.naturalWidth > 0, "Image should have loaded "); + }); +} + +add_task(async function test_bug1874801() { + await SpecialPowers.pushPrefEnv({ + set: [ + ["security.mixed_content.upgrade_display_content", false], + ["dom.security.https_first", true], + ["dom.security.https_only_mode", true], + ], + }); + + // Open Tab + const tabToClose = await BrowserTestUtils.openNewForegroundTab( + gBrowser, + TAB_URL, + true + ); + + // Make sure the image was loaded via HTTPS + await assertImageLoaded(tabToClose); + + // Close Tab + const tabClosePromise = + BrowserTestUtils.waitForSessionStoreUpdate(tabToClose); + BrowserTestUtils.removeTab(tabToClose); + await tabClosePromise; + + // Restore Tab + const restoredTabPromise = BrowserTestUtils.waitForNewTab( + gBrowser, + TAB_URL, + true + ); + undoCloseTab(); + const restoredTab = await restoredTabPromise; + + // Make sure the image was loaded via HTTPS + await assertImageLoaded(restoredTab); +}); -- cgit v1.2.3