Backed out changeset 2edd2bd119ff (bug 941354) for browser-chrome related failures. CLOSED TREE

This commit is contained in:
Butkovits Atila 2020-10-26 23:31:58 +02:00
Родитель 2466eeaf4a
Коммит 9817823a41
6 изменённых файлов: 11 добавлений и 108 удалений

Просмотреть файл

@ -24,11 +24,8 @@ class NetErrorChild extends RemotePageChild {
actorCreated() {
super.actorCreated();
// If you add a new function, remember to add it to RemotePageAccessManager.jsm
// to allow content-privileged about:neterror or about:certerror to use it.
const exportableFunctions = [
"RPMGetAppBuildID",
"RPMGetInnerMostURI",
"RPMPrefIsLocked",
"RPMAddToHistogram",
"RPMRecordTelemetryEvent",
@ -71,15 +68,6 @@ class NetErrorChild extends RemotePageChild {
}
}
RPMGetInnerMostURI(uriString) {
let uri = Services.io.newURI(uriString);
if (uri instanceof Ci.nsINestedURI) {
uri = uri.QueryInterface(Ci.nsINestedURI).innermostURI;
}
return uri.spec;
}
RPMGetAppBuildID() {
return Services.appinfo.appBuildID;
}

Просмотреть файл

@ -11,8 +11,6 @@ const TLS_ERROR_REPORT_TELEMETRY_AUTO_CHECKED = 2;
const TLS_ERROR_REPORT_TELEMETRY_AUTO_UNCHECKED = 3;
const TLS_ERROR_REPORT_TELEMETRY_UI_SHOWN = 0;
const HOST_NAME = new URL(RPMGetInnerMostURI(document.location.href)).hostname;
// Used to check if we have a specific localized message for an error.
const KNOWN_ERROR_TITLE_IDS = new Set([
// Error titles:
@ -140,7 +138,7 @@ function setupAdvancedButton() {
// Get the hostname and add it to the panel
var panel = document.getElementById("badCertAdvancedPanel");
for (var span of panel.querySelectorAll("span.hostname")) {
span.textContent = HOST_NAME;
span.textContent = document.location.hostname;
}
// Register click handler for the weakCryptoAdvancedPanel
@ -432,7 +430,7 @@ function initPage() {
var container = document.getElementById("errorLongDesc");
for (var span of container.querySelectorAll("span.hostname")) {
span.textContent = HOST_NAME;
span.textContent = document.location.hostname;
}
}
}
@ -557,8 +555,7 @@ function onSetBlockingReportAutomatic(checked) {
}
async function setNetErrorMessageFromCode() {
let hostString = HOST_NAME;
let hostString = document.location.hostname;
let port = document.location.port;
if (port && port != 443) {
hostString += ":" + port;
@ -647,7 +644,7 @@ function initPageCaptivePortal() {
function initPageCertError() {
document.body.classList.add("certerror");
for (let host of document.querySelectorAll(".hostname")) {
host.textContent = HOST_NAME;
host.textContent = document.location.hostname;
}
addAutofocus("#returnButton");
@ -856,11 +853,12 @@ function setCertErrorDetails(event) {
// without replicating the complex logic from certverifier code.
case "MOZILLA_PKIX_ERROR_ADDITIONAL_POLICY_CONSTRAINT_FAILED":
desc = document.getElementById("errorShortDescText2");
let hostname = document.location.hostname;
document.l10n.setAttributes(
desc,
"cert-error-symantec-distrust-description",
{
HOST_NAME,
hostname,
}
);
@ -1000,7 +998,7 @@ function setCertErrorDetails(event) {
sd.innerHTML = errDesc.innerHTML;
let span = sd.querySelector(".hostname");
span.textContent = HOST_NAME;
span.textContent = document.location.hostname;
// The secondary description mentions expired certificates explicitly
// and should only be shown if the certificate has actually expired
@ -1090,7 +1088,7 @@ async function setTechnicalDetailsOnCertError(
let cssClass = getCSSClass();
let error = getErrorCode();
let hostString = HOST_NAME;
let hostString = document.location.hostname;
let port = document.location.port;
if (port && port != 443) {
hostString += ":" + port;
@ -1156,7 +1154,7 @@ async function setTechnicalDetailsOnCertError(
// Let's check if we want to make this a link.
let okHost = failedCertInfo.subjectAltNames;
let href = "";
let thisHost = HOST_NAME;
let thisHost = document.location.hostname;
let proto = document.location.protocol + "//";
// If okHost is a wildcard domain ("*.example.com") let's
// use "www" instead. "*.example.com" isn't going to

Просмотреть файл

@ -528,77 +528,3 @@ add_task(async function checkSandboxedIframe() {
});
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});
add_task(async function checkViewSource() {
info(
"Loading a bad sts cert error in a sandboxed iframe and check that the correct headline is shown"
);
let uri = "view-source:" + BAD_CERT;
let tab = await openErrorPage(uri);
let browser = tab.linkedBrowser;
await SpecialPowers.spawn(browser, [], async function() {
let doc = content.document;
// Wait until fluent sets the errorCode inner text.
let el;
await ContentTaskUtils.waitForCondition(() => {
el = doc.getElementById("errorCode");
return el.textContent != "";
}, "error code has been set inside the advanced button panel");
Assert.equal(
el.textContent,
"SEC_ERROR_EXPIRED_CERTIFICATE",
"Correct error message found"
);
Assert.equal(el.tagName, "a", "Error message is a link");
let titleText = doc.querySelector(".title-text");
Assert.equal(
titleText.textContent,
"Warning: Potential Security Risk Ahead"
);
let shortDescText = doc.getElementById("errorShortDescText");
Assert.ok(
shortDescText.textContent.includes("expired.example.com"),
"Should list hostname in error message."
);
let whatToDoText = doc.getElementById("errorWhatToDoText");
Assert.ok(
whatToDoText.textContent.includes("expired.example.com"),
"Should list hostname in what to do text."
);
});
let loaded = BrowserTestUtils.browserLoaded(browser, false, uri);
info("Clicking the exceptionDialogButton in advanced panel");
await SpecialPowers.spawn(browser, [], async function() {
let doc = content.document;
let exceptionButton = doc.getElementById("exceptionDialogButton");
exceptionButton.click();
});
info("Loading the url after adding exception");
await loaded;
await SpecialPowers.spawn(browser, [], async function() {
let doc = content.document;
ok(
!doc.documentURI.startsWith("about:certerror"),
"Exception has been added"
);
});
let certOverrideService = Cc[
"@mozilla.org/security/certoverride;1"
].getService(Ci.nsICertOverrideService);
certOverrideService.clearValidityOverride("expired.example.com", -1);
loaded = BrowserTestUtils.waitForErrorPage(browser);
BrowserReloadSkipCache();
await loaded;
BrowserTestUtils.removeTab(gBrowser.selectedTab);
});

Просмотреть файл

@ -1480,17 +1480,10 @@ already_AddRefed<mozilla::dom::Promise> Document::AddCertException(
promise->MaybeReject(NS_ERROR_DOM_INVALID_STATE_ERR);
return promise.forget();
}
nsCOMPtr<nsIURI> innerURI = NS_GetInnermostURI(failedChannelURI);
if (!innerURI) {
promise->MaybeReject(NS_ERROR_DOM_INVALID_STATE_ERR);
return promise.forget();
}
nsAutoCString host;
innerURI->GetAsciiHost(host);
failedChannelURI->GetAsciiHost(host);
int32_t port;
innerURI->GetPort(&port);
failedChannelURI->GetPort(&port);
tsi = do_QueryInterface(info);
if (NS_WARN_IF(!tsi)) {

Просмотреть файл

@ -62,7 +62,6 @@ let RemotePageAccessManager = {
"services.settings.last_update_seconds",
],
RPMGetAppBuildID: ["*"],
RPMGetInnerMostURI: ["*"],
RPMIsWindowPrivate: ["*"],
RPMAddToHistogram: ["*"],
},

Просмотреть файл

@ -24,7 +24,6 @@ module.exports = {
sendSyncMessage: false,
tabEventTarget: false,
RPMGetAppBuildID: false,
RPMGetInnerMostURI: false,
RPMGetIntPref: false,
RPMGetStringPref: false,
RPMGetBoolPref: false,