/* Any copyright is dedicated to the Public Domain. * http://creativecommons.org/publicdomain/zero/1.0/ */ // The test loads a HTTPS web page with active content from HTTP .onion URLs // and makes sure that the mixed content flags on the docshell are not set. // // Note that the URLs referenced within the test page intentionally use the // unassigned port 8 because we don't want to actually load anything, we just // want to check that the URLs are not blocked. const TEST_URL = getRootDirectory(gTestPath).replace( "chrome://mochitests/content", "https://example.com" ) + "test_no_mcb_for_onions.html"; const PREF_BLOCK_DISPLAY = "security.mixed_content.block_display_content"; const PREF_BLOCK_ACTIVE = "security.mixed_content.block_active_content"; const PREF_ONION_ALLOWLIST = "dom.securecontext.allowlist_onions"; add_task(async function allowOnionMixedContent() { registerCleanupFunction(function () { gBrowser.removeCurrentTab(); }); await SpecialPowers.pushPrefEnv({ set: [[PREF_BLOCK_DISPLAY, true]] }); await SpecialPowers.pushPrefEnv({ set: [[PREF_BLOCK_ACTIVE, true]] }); await SpecialPowers.pushPrefEnv({ set: [[PREF_ONION_ALLOWLIST, true]] }); const tab = await BrowserTestUtils.openNewForegroundTab( gBrowser, TEST_URL ).catch(console.error); const browser = gBrowser.getBrowserForTab(tab); await assertMixedContentBlockingState(browser, { activeBlocked: false, activeLoaded: false, passiveLoaded: false, }); });