1
0
Fork 0
firefox/netwerk/test/browser/browser_bug1629307.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

81 lines
2.2 KiB
JavaScript

/* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
"use strict";
// Load a web page containing an iframe that requires authentication but includes the X-Frame-Options: SAMEORIGIN header.
// Make sure that we don't needlessly show an authentication prompt for it.
const { PromptTestUtils } = ChromeUtils.importESModule(
"resource://testing-common/PromptTestUtils.sys.mjs"
);
add_task(async function () {
SpecialPowers.pushPrefEnv({
set: [["network.auth.supress_auth_prompt_for_XFO_failures", true]],
});
let URL =
"https://example.com/browser/netwerk/test/browser/test_1629307.html";
let hasPrompt = false;
PromptTestUtils.handleNextPrompt(
window,
{
modalType: Ci.nsIPrompt.MODAL_TYPE_TAB,
promptType: "promptUserAndPass",
},
{ buttonNumClick: 1 }
)
.then(function () {
hasPrompt = true;
})
.catch(function () {});
BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, URL);
// wait until the page and its iframe page is loaded
await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser, true, URL);
Assert.equal(
hasPrompt,
false,
"no prompt when loading page via iframe with x-auth options"
);
});
add_task(async function () {
SpecialPowers.pushPrefEnv({
set: [["network.auth.supress_auth_prompt_for_XFO_failures", false]],
});
let URL =
"https://example.com/browser/netwerk/test/browser/test_1629307.html";
let hasPrompt = false;
PromptTestUtils.handleNextPrompt(
window,
{
modalType: Ci.nsIPrompt.MODAL_TYPE_TAB,
promptType: "promptUserAndPass",
},
{ buttonNumClick: 1 }
)
.then(function () {
hasPrompt = true;
})
.catch(function () {});
BrowserTestUtils.startLoadingURIString(gBrowser.selectedBrowser, URL);
await BrowserTestUtils.browserLoaded(gBrowser.selectedBrowser, true, URL);
Assert.equal(
hasPrompt,
true,
"prompt when loading page via iframe with x-auth options with pref network.auth.supress_auth_prompt_for_XFO_failures disabled"
);
});