81 lines
2.2 KiB
JavaScript
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"
|
|
);
|
|
});
|