Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

/* Any copyright is dedicated to the Public Domain.
"use strict";
ChromeUtils.defineLazyGetter(this, "UrlbarTestUtils", () => {
const { UrlbarTestUtils: module } = ChromeUtils.importESModule(
);
module.init(this);
return module;
});
add_task(async function test_scheme_modification() {
await SpecialPowers.pushPrefEnv({
set: [
["dom.security.https_first", true],
["dom.security.https_first_schemeless", true],
],
});
await BrowserTestUtils.withNewTab("example.net", async function (browser) {
is(browser.currentURI.schemeIs("https"), true, "Do upgrade schemeless");
{
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: "example.org",
});
const onLoad = BrowserTestUtils.browserLoaded(
gBrowser.selectedBrowser,
false,
null
);
EventUtils.synthesizeKey("KEY_Enter");
await onLoad;
is(browser.currentURI.schemeIs("https"), true, "Do upgrade schemeless");
}
{
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
// eslint-disable-next-line @microsoft/sdl/no-insecure-url
value: "http://example.com",
});
const onLoad = BrowserTestUtils.browserLoaded(
gBrowser.selectedBrowser,
false,
null
);
EventUtils.synthesizeKey("KEY_Enter");
await onLoad;
is(
browser.currentURI.schemeIs("http"),
true,
"Do not upgrade a scheme of http"
);
}
{
await UrlbarTestUtils.promiseAutocompleteResultPopup({
window,
value: "example.com",
});
const onLoad = BrowserTestUtils.browserLoaded(
gBrowser.selectedBrowser,
false,
null
);
EventUtils.synthesizeKey("KEY_Enter");
await onLoad;
is(
browser.currentURI.schemeIs("http"),
true,
"Do not upgrade schemeless inputs after we have an exception"
);
}
});
});