mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-24 21:31:04 +00:00
merge mozilla-inbound to mozilla-central a=merge
This commit is contained in:
commit
8e3fa527c9
@ -63,6 +63,7 @@
|
||||
var shadow = component.createShadowRoot();
|
||||
for (var child = component.firstChild; child; child = child.nextSibling) {
|
||||
if (child.nodeType === 8)
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
shadow.innerHTML = child.data;
|
||||
}
|
||||
}
|
||||
|
@ -177,11 +177,13 @@
|
||||
errDesc = document.getElementById("ed_generic");
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.querySelector(".title-text").innerHTML = errTitle.innerHTML;
|
||||
|
||||
var sd = document.getElementById("errorShortDescText");
|
||||
if (sd) {
|
||||
if (gIsCertError) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
sd.innerHTML = errDesc.innerHTML;
|
||||
} else {
|
||||
sd.textContent = getDescription();
|
||||
@ -201,6 +203,7 @@
|
||||
|
||||
var ld = document.getElementById("errorLongDesc");
|
||||
if (ld) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
ld.innerHTML = errDesc.innerHTML;
|
||||
}
|
||||
|
||||
|
@ -334,6 +334,7 @@ function showSnippets() {
|
||||
if (snippets) {
|
||||
// Injecting snippets can throw if they're invalid XML.
|
||||
try {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
snippetsElt.innerHTML = snippets;
|
||||
// Scripts injected by innerHTML are inactive, so we have to relocate them
|
||||
// through DOM manipulation to activate their contents.
|
||||
|
@ -124,6 +124,7 @@ var gEMEHandler = {
|
||||
// Do a little dance to get rich content into the notification:
|
||||
let fragment = document.createDocumentFragment();
|
||||
let descriptionContainer = document.createElement("description");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
descriptionContainer.innerHTML = message;
|
||||
while (descriptionContainer.childNodes.length) {
|
||||
fragment.appendChild(descriptionContainer.childNodes[0]);
|
||||
|
@ -620,6 +620,7 @@ ContentSearchUIController.prototype = {
|
||||
}
|
||||
let searchWithHeader = document.getElementById("contentSearchSearchWithHeader");
|
||||
if (this.input.value) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
searchWithHeader.innerHTML = this._strings.searchForSomethingWith;
|
||||
searchWithHeader.querySelector(".contentSearchSearchWithHeaderSearchText").textContent = this.input.value;
|
||||
} else {
|
||||
|
@ -40,6 +40,7 @@ async function doTest(parentTabSpec, childTabSpec, testTaskFn, waitForMetaRefres
|
||||
|
||||
// Add the link for the child tab to the page.
|
||||
let mainDiv = content.document.createElement("div");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
mainDiv.innerHTML =
|
||||
'<p><a id="linkToOpenInNewTab" href="' + childTabSpec + '">Link</a></p>';
|
||||
content.document.body.appendChild(mainDiv);
|
||||
|
@ -35,6 +35,7 @@
|
||||
is(blockedMixedDisplay, false, "OK: Should not block mixed display content!");
|
||||
|
||||
var newValue = "Verifying MCB does not trigger warning/error for an http page with https css that includes http font";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("testDiv").innerHTML = newValue;
|
||||
}
|
||||
</script>
|
||||
|
@ -36,6 +36,7 @@
|
||||
|
||||
var newValue = "Verifying MCB does not trigger warning/error for an http page ";
|
||||
newValue += "with https css that imports another http css which includes http font";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("testDiv").innerHTML = newValue;
|
||||
}
|
||||
</script>
|
||||
|
@ -35,6 +35,7 @@
|
||||
is(blockedMixedDisplay, false, "OK: Should not block mixed display content!");
|
||||
|
||||
var newValue = "Verifying MCB does not trigger warning/error for an http page with https css that includes http image";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("testDiv").innerHTML = newValue;
|
||||
}
|
||||
</script>
|
||||
|
@ -18,6 +18,7 @@ try {
|
||||
}
|
||||
|
||||
function message(m) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("message").innerHTML = m;
|
||||
window.parent.postMessage(m, "*");
|
||||
}
|
||||
|
@ -18,6 +18,7 @@ try {
|
||||
}
|
||||
|
||||
function message(m) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("message").innerHTML = m;
|
||||
window.parent.postMessage(m, "*");
|
||||
}
|
||||
|
@ -331,6 +331,7 @@ const CustomizableWidgets = [
|
||||
let promoParentElt = doc.getElementById("PanelUI-remotetabs-mobile-promo");
|
||||
// Put it all together...
|
||||
let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo.text2", formatArgs);
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
promoParentElt.innerHTML = contents;
|
||||
// We manually manage the "click" event to open the promo links because
|
||||
// allowing the "text-link" widget handle it has 2 problems: (1) it only
|
||||
|
@ -726,6 +726,7 @@ CustomizeMode.prototype = {
|
||||
// Put the tip contents in the popup.
|
||||
let bundle = this.document.getElementById("bundle_browser");
|
||||
const kLabelClass = "customization-tipPanel-link";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
messageNode.innerHTML = bundle.getFormattedString("customizeTips.tip0", [
|
||||
"<label class=\"customization-tipPanel-em\" value=\"" +
|
||||
bundle.getString("customizeTips.tip0.hint") + "\"/>",
|
||||
|
@ -12,6 +12,7 @@ async function getResultFromSharedworker(aBrowser) {
|
||||
|
||||
let result = await new Promise(resolve => {
|
||||
worker.port.onmessage = function(e) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
content.document.getElementById("display").innerHTML = e.data;
|
||||
resolve(e.data);
|
||||
};
|
||||
|
@ -10,6 +10,7 @@
|
||||
<script type="text/javascript">
|
||||
let bc = new BroadcastChannel("testBroadcastChannel");
|
||||
bc.onmessage = function(e) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("display").innerHTML = e.data;
|
||||
};
|
||||
</script>
|
||||
|
@ -1,5 +1,7 @@
|
||||
<meta charset="UTF-8">
|
||||
Hi, I was opened via a <script>document.write(location.search ?
|
||||
Hi, I was opened via a <script>
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write(location.search ?
|
||||
"popup call from the opened window... uh oh, that shouldn't happen!" :
|
||||
"bookmarklet, and I will open a new window myself.")</script><br>
|
||||
<script>
|
||||
|
@ -267,6 +267,7 @@ var gSearchResultsPane = {
|
||||
strings.getFormattedString("searchResults.sorryMessageUnix", [this.query]);
|
||||
let helpUrl = Services.urlFormatter.formatURLPref("app.support.baseURL") + "preferences";
|
||||
let brandName = document.getElementById("bundleBrand").getString("brandShortName");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("need-help").innerHTML =
|
||||
strings.getFormattedString("searchResults.needHelp2", [helpUrl, brandName]);
|
||||
} else {
|
||||
|
@ -23,6 +23,7 @@
|
||||
result["buildID"] = navigator.buildID;
|
||||
result["hardwareConcurrency"] = navigator.hardwareConcurrency;
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.getElementById("result").innerHTML = JSON.stringify(result);
|
||||
}
|
||||
</script>
|
||||
|
@ -20,6 +20,7 @@ function test() {
|
||||
tab.linkedBrowser.removeEventListener("load", arguments.callee, true);
|
||||
|
||||
let iframes = tab.linkedBrowser.contentWindow.frames;
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
iframes[1].document.body.innerHTML = uniqueValue;
|
||||
|
||||
frameCount = 0;
|
||||
|
@ -75,6 +75,7 @@ SyncedTabsDeckView.prototype = {
|
||||
});
|
||||
// Put it all together...
|
||||
let contents = bundle.getFormattedString("appMenuRemoteTabs.mobilePromo.text2", formatArgs);
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.container.querySelector(".device-promo").innerHTML = contents;
|
||||
},
|
||||
|
||||
|
@ -163,6 +163,7 @@ var onboardingTours = [
|
||||
let div = win.document.createElement("div");
|
||||
let defaultBrowserButtonId = win.matchMedia("(-moz-os-version: windows-win7)").matches ?
|
||||
"onboarding.tour-default-browser.win7.button" : "onboarding.tour-default-browser.button";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
div.innerHTML = `
|
||||
<section class="onboarding-tour-description">
|
||||
<h1 data-l10n-id="onboarding.tour-default-browser.title2"></h1>
|
||||
|
@ -378,8 +378,10 @@ this.ExtensionsUI = {
|
||||
function eventCallback(topic) {
|
||||
let doc = this.browser.ownerDocument;
|
||||
if (topic == "showing") {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
doc.getElementById("addon-webext-perm-header").innerHTML = strings.header;
|
||||
let textEl = doc.getElementById("addon-webext-perm-text");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
textEl.innerHTML = strings.text;
|
||||
textEl.hidden = !strings.text;
|
||||
|
||||
@ -436,6 +438,7 @@ this.ExtensionsUI = {
|
||||
];
|
||||
|
||||
win.PopupNotifications.show(browser, "addon-webext-permissions", "",
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
"addons-notification-icon",
|
||||
action, secondaryActions, popupOptions);
|
||||
});
|
||||
@ -476,8 +479,10 @@ this.ExtensionsUI = {
|
||||
eventCallback(topic) {
|
||||
if (topic == "showing") {
|
||||
let doc = this.browser.ownerDocument;
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
doc.getElementById("addon-installed-notification-header")
|
||||
.innerHTML = msg1;
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
doc.getElementById("addon-installed-notification-message")
|
||||
.innerHTML = msg2;
|
||||
} else if (topic == "dismissed") {
|
||||
|
@ -248,6 +248,36 @@ add_task(async function test_one_pending() {
|
||||
clearPendingCrashReports();
|
||||
});
|
||||
|
||||
/**
|
||||
* Tests that an ignored crash report does not suppress a notification that
|
||||
* would be trigged by another, unignored crash report.
|
||||
*/
|
||||
add_task(async function test_other_ignored() {
|
||||
let toIgnore = await createPendingCrashReports(1);
|
||||
let notification =
|
||||
await UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
|
||||
Assert.ok(notification, "There should be a notification");
|
||||
|
||||
// Dismiss notification, creating the .dmp.ignore file
|
||||
let anonyNodes = document.getAnonymousNodes(notification)[0];
|
||||
let closeButton = anonyNodes.querySelector(".close-icon");
|
||||
closeButton.click();
|
||||
gNotificationBox.removeNotification(notification, true);
|
||||
await waitForIgnoredReports(toIgnore);
|
||||
|
||||
notification =
|
||||
await UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
|
||||
Assert.ok(!notification, "There should not be a notification");
|
||||
|
||||
await createPendingCrashReports(1);
|
||||
notification =
|
||||
await UnsubmittedCrashHandler.checkForUnsubmittedCrashReports();
|
||||
Assert.ok(notification, "There should be a notification");
|
||||
|
||||
gNotificationBox.removeNotification(notification, true);
|
||||
clearPendingCrashReports();
|
||||
});
|
||||
|
||||
/**
|
||||
* Tests that there is a notification if there is more than one
|
||||
* pending crash report.
|
||||
|
@ -636,6 +636,7 @@ function prompt(aBrowser, aRequest) {
|
||||
string = bundle.getFormattedString("getUserMedia.shareFirefoxWarning.message",
|
||||
[brand, learnMore]);
|
||||
}
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
warning.innerHTML = string;
|
||||
}
|
||||
|
||||
|
@ -1388,6 +1388,7 @@ MarkupView.prototype = {
|
||||
|
||||
let injectedNodes = [];
|
||||
container.undo.do(() => {
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
this.walker.insertAdjacentHTML(node, position, value).then(nodeArray => {
|
||||
injectedNodes = nodeArray.nodes;
|
||||
return nodeArray;
|
||||
|
@ -388,6 +388,7 @@ AutocompletePopup.prototype = {
|
||||
}
|
||||
|
||||
// Update the clone content to match the current list content.
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this._listClone.innerHTML = this._list.innerHTML;
|
||||
|
||||
this._activeElement.setAttribute("aria-activedescendant", id);
|
||||
|
@ -29,6 +29,7 @@ function runTest(index, host, doc) {
|
||||
holder.id = options.name;
|
||||
let body = doc.body;
|
||||
body.appendChild(holder);
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
holder.innerHTML = options.template;
|
||||
|
||||
info("Running " + options.name);
|
||||
|
@ -265,6 +265,7 @@ ColorWidget.prototype = {
|
||||
this.element = this.parentEl.ownerDocument.createElementNS(XHTML_NS, "div");
|
||||
|
||||
this.element.className = "colorwidget-container";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.element.innerHTML = `
|
||||
<div class="colorwidget-top">
|
||||
<div class="colorwidget-fill"></div>
|
||||
|
@ -162,6 +162,7 @@ CSSFilterEditorWidget.prototype = {
|
||||
let newPresetPlaceholder = L10N.getStr("newPresetPlaceholder");
|
||||
let savePresetButton = L10N.getStr("savePresetButton");
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.el.innerHTML = `
|
||||
<div class="filters-list">
|
||||
<div id="filters"></div>
|
||||
@ -216,6 +217,7 @@ CSSFilterEditorWidget.prototype = {
|
||||
let select = this.filterSelect;
|
||||
filterList.forEach(filter => {
|
||||
let option = this.doc.createElementNS(XHTML_NS, "option");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
option.innerHTML = option.value = filter.name;
|
||||
select.appendChild(option);
|
||||
});
|
||||
@ -628,6 +630,7 @@ CSSFilterEditorWidget.prototype = {
|
||||
*/
|
||||
render: function () {
|
||||
if (!this.filters.length) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.filtersList.innerHTML = `<p> ${L10N.getStr("emptyFilterList")} <br />
|
||||
${L10N.getStr("addUsingList")} </p>`;
|
||||
this.emit("render");
|
||||
@ -709,6 +712,7 @@ CSSFilterEditorWidget.prototype = {
|
||||
}
|
||||
|
||||
if (!presets || !presets.length) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.presetsList.innerHTML = `<p>${L10N.getStr("emptyPresetList")}</p>`;
|
||||
this.emit("render");
|
||||
return;
|
||||
|
@ -506,6 +506,7 @@ HTMLTooltip.prototype = {
|
||||
if (this.type === TYPE.ARROW) {
|
||||
html += '<div class="tooltip-arrow"></div>';
|
||||
}
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
container.innerHTML = html;
|
||||
return container;
|
||||
},
|
||||
|
@ -106,6 +106,7 @@ function setImageTooltip(tooltip, doc, imageUrl, options) {
|
||||
<span class="theme-comment devtools-tooltip-caption">${label}</span>
|
||||
</div>`;
|
||||
}
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
div.innerHTML = html;
|
||||
|
||||
// Calculate tooltip dimensions
|
||||
|
@ -819,6 +819,7 @@ Editor.prototype = {
|
||||
|
||||
let marker = cm.getWrapperElement().ownerDocument.createElement("div");
|
||||
marker.className = markerClass;
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
marker.innerHTML = content;
|
||||
cm.setGutterMarker(info.line, gutterName, marker);
|
||||
},
|
||||
|
@ -306,6 +306,7 @@ function* generateConsoleApiStubs() {
|
||||
[key, code],
|
||||
function ([subKey, subCode]) {
|
||||
let script = content.document.createElement("script");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
script.innerHTML = `function triggerPacket() {${subCode}}`;
|
||||
content.document.body.appendChild(script);
|
||||
content.wrappedJSObject.triggerPacket();
|
||||
@ -349,6 +350,7 @@ function* generateCssMessageStubs() {
|
||||
[key, code],
|
||||
function ([subKey, subCode]) {
|
||||
let style = content.document.createElement("style");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
style.innerHTML = subCode;
|
||||
content.document.body.appendChild(style);
|
||||
}
|
||||
@ -438,6 +440,7 @@ function* generateNetworkEventStubs() {
|
||||
[key, code],
|
||||
function ([subKey, subCode]) {
|
||||
let script = content.document.createElement("script");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
script.innerHTML = `function triggerPacket() {${subCode}}`;
|
||||
content.document.body.appendChild(script);
|
||||
content.wrappedJSObject.triggerPacket();
|
||||
@ -484,6 +487,7 @@ function* generatePageErrorStubs() {
|
||||
[key, code],
|
||||
function ([subKey, subCode]) {
|
||||
let script = content.document.createElement("script");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
script.innerHTML = subCode;
|
||||
content.document.body.appendChild(script);
|
||||
script.remove();
|
||||
|
@ -177,7 +177,7 @@ stubPackets.set("GET request", {
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 7,
|
||||
"lineNumber": 8,
|
||||
"columnNumber": 9,
|
||||
"functionName": null,
|
||||
"asyncCause": null
|
||||
@ -250,7 +250,7 @@ stubPackets.set("XHR GET request", {
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 7,
|
||||
"lineNumber": 8,
|
||||
"columnNumber": 9,
|
||||
"functionName": null,
|
||||
"asyncCause": null
|
||||
@ -323,7 +323,7 @@ stubPackets.set("XHR POST request", {
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 7,
|
||||
"lineNumber": 8,
|
||||
"columnNumber": 9,
|
||||
"functionName": null,
|
||||
"asyncCause": null
|
||||
|
@ -44,7 +44,7 @@ stubPreparedMessages.set("ReferenceError: asdf is not defined", new ConsoleMessa
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 6,
|
||||
"lineNumber": 7,
|
||||
"columnNumber": 9,
|
||||
"functionName": null
|
||||
},
|
||||
@ -80,7 +80,7 @@ stubPreparedMessages.set("SyntaxError: redeclaration of let a", new ConsoleMessa
|
||||
"stacktrace": [
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 6,
|
||||
"lineNumber": 7,
|
||||
"columnNumber": 9,
|
||||
"functionName": null
|
||||
},
|
||||
@ -135,7 +135,7 @@ stubPreparedMessages.set("TypeError longString message", new ConsoleMessage({
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 6,
|
||||
"lineNumber": 7,
|
||||
"columnNumber": 9,
|
||||
"functionName": null
|
||||
},
|
||||
@ -197,7 +197,7 @@ stubPackets.set("ReferenceError: asdf is not defined", {
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 6,
|
||||
"lineNumber": 7,
|
||||
"columnNumber": 9,
|
||||
"functionName": null
|
||||
},
|
||||
@ -233,7 +233,7 @@ stubPackets.set("SyntaxError: redeclaration of let a", {
|
||||
"stacktrace": [
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 6,
|
||||
"lineNumber": 7,
|
||||
"columnNumber": 9,
|
||||
"functionName": null
|
||||
},
|
||||
@ -289,7 +289,7 @@ stubPackets.set("TypeError longString message", {
|
||||
},
|
||||
{
|
||||
"filename": "resource://testing-common/content-task.js line 52 > eval",
|
||||
"lineNumber": 6,
|
||||
"lineNumber": 7,
|
||||
"columnNumber": 9,
|
||||
"functionName": null
|
||||
},
|
||||
|
@ -1997,6 +1997,7 @@ var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
|
||||
if (rawNode.nodeType !== rawNode.ownerDocument.ELEMENT_NODE) {
|
||||
throw new Error("Can only change innerHTML to element nodes");
|
||||
}
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
rawNode.innerHTML = value;
|
||||
},
|
||||
|
||||
@ -2036,12 +2037,14 @@ var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
|
||||
if (parsedDOM.head.innerHTML === "") {
|
||||
parentNode.replaceChild(parsedDOM.body, rawNode);
|
||||
} else {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
rawNode.outerHTML = value;
|
||||
}
|
||||
} else if (rawNode.tagName === "HEAD") {
|
||||
if (parsedDOM.body.innerHTML === "") {
|
||||
parentNode.replaceChild(parsedDOM.head, rawNode);
|
||||
} else {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
rawNode.outerHTML = value;
|
||||
}
|
||||
} else if (node.isDocumentElement()) {
|
||||
@ -2065,6 +2068,7 @@ var WalkerActor = protocol.ActorClassWithSpec(walkerSpec, {
|
||||
rawNode.replaceChild(parsedDOM.head, rawNode.querySelector("head"));
|
||||
rawNode.replaceChild(parsedDOM.body, rawNode.querySelector("body"));
|
||||
} else {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
rawNode.outerHTML = value;
|
||||
}
|
||||
},
|
||||
|
@ -42,6 +42,7 @@ Test that css-logic calculates CSS specificity properly
|
||||
function createDocument() {
|
||||
let text = TEST_DATA.map(i=>i.text).join(",");
|
||||
text = '<style type="text/css">' + text + " {color:red;}</style>";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
document.body.innerHTML = text;
|
||||
}
|
||||
|
||||
|
@ -109,7 +109,7 @@ protected:
|
||||
{
|
||||
}
|
||||
|
||||
nsTArray< nsCOMPtr<nsIContent> > mElements;
|
||||
AutoTArray<nsCOMPtr<nsIContent>, 10> mElements;
|
||||
};
|
||||
|
||||
|
||||
|
@ -301,8 +301,9 @@ public:
|
||||
|
||||
if (mTimer) {
|
||||
mTimer->SetTarget(mTarget);
|
||||
mTimer->InitWithFuncCallback(TimedOut, this, aDelay,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
mTimer->InitWithNamedFuncCallback(TimedOut, this, aDelay,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"CollectorRunner");
|
||||
mTimerActive = true;
|
||||
}
|
||||
}
|
||||
@ -360,8 +361,9 @@ public:
|
||||
|
||||
// We weren't allowed to do idle dispatch immediately, do it after a
|
||||
// short timeout.
|
||||
mScheduleTimer->InitWithFuncCallback(ScheduleTimedOut, this, 16,
|
||||
nsITimer::TYPE_ONE_SHOT_LOW_PRIORITY);
|
||||
mScheduleTimer->InitWithNamedFuncCallback(ScheduleTimedOut, this, 16,
|
||||
nsITimer::TYPE_ONE_SHOT_LOW_PRIORITY,
|
||||
"CollectorRunner");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1227,7 +1227,6 @@ BrowserElementChild.prototype = {
|
||||
var visible = data.json.visible;
|
||||
if (docShell && docShell.isActive !== visible) {
|
||||
docShell.isActive = visible;
|
||||
sendAsyncMsg('visibilitychange', {visible: visible});
|
||||
|
||||
// Ensure painting is not frozen if the app goes visible.
|
||||
if (visible && this._paintFrozenTimer) {
|
||||
|
@ -172,7 +172,6 @@ BrowserElementParent.prototype = {
|
||||
"fullscreen-origin-change": this._fullscreenOriginChange,
|
||||
"exit-dom-fullscreen": this._exitDomFullscreen,
|
||||
"got-visible": this._gotDOMRequestResult,
|
||||
"visibilitychange": this._childVisibilityChange,
|
||||
"got-set-input-method-active": this._gotDOMRequestResult,
|
||||
"scrollviewchange": this._handleScrollViewChange,
|
||||
"caretstatechanged": this._handleCaretStateChanged,
|
||||
@ -862,16 +861,6 @@ BrowserElementParent.prototype = {
|
||||
{visible: !this._window.document.hidden});
|
||||
},
|
||||
|
||||
/*
|
||||
* Called when the child notices that its visibility has changed.
|
||||
*/
|
||||
_childVisibilityChange: function(data) {
|
||||
debug("_childVisibilityChange(" + data.json.visible + ")");
|
||||
this._frameLoader.visible = data.json.visible;
|
||||
|
||||
this._fireEventFromMsg(data);
|
||||
},
|
||||
|
||||
_requestedDOMFullscreen: function() {
|
||||
this._pendingDOMFullscreen = true;
|
||||
this._windowUtils.remoteFrameFullscreenChanged(this._frameElement);
|
||||
|
@ -320,11 +320,6 @@ WebGLTexture::IsComplete(const char* funcName, uint32_t texUnit,
|
||||
return false;
|
||||
}
|
||||
|
||||
if (!EnsureLevelInitialized(funcName, mBaseMipmapLevel)) {
|
||||
*out_initFailed = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
// Texture completeness is established at GLES 3.0.4, p160-161.
|
||||
// "[A] texture is complete unless any of the following conditions hold true:"
|
||||
|
||||
@ -452,6 +447,11 @@ WebGLTexture::IsComplete(const char* funcName, uint32_t texUnit,
|
||||
// (already covered)
|
||||
}
|
||||
|
||||
if (!EnsureLevelInitialized(funcName, mBaseMipmapLevel)) {
|
||||
*out_initFailed = true;
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -228,7 +228,7 @@ GetDirectoryListingTaskParent::GetSuccessRequestResult(ErrorResult& aRv) const
|
||||
nsresult rv = NS_NewLocalFile(mTargetData[i].mPath, true,
|
||||
getter_AddRefs(path));
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return FileSystemErrorResponse(rv);
|
||||
continue;
|
||||
}
|
||||
|
||||
FileSystemDirectoryListingResponseFile fileData;
|
||||
@ -251,7 +251,7 @@ GetDirectoryListingTaskParent::GetSuccessRequestResult(ErrorResult& aRv) const
|
||||
rv =
|
||||
IPCBlobUtils::Serialize(blobImpl, mRequestParent->Manager(), ipcBlob);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
return FileSystemErrorResponse(rv);
|
||||
continue;
|
||||
}
|
||||
|
||||
fileData.blob() = ipcBlob;
|
||||
|
@ -27,7 +27,7 @@ function create_fileList() {
|
||||
}
|
||||
|
||||
script.addMessageListener("dir.opened", onOpened);
|
||||
script.sendAsyncMessage("dir.open", { path: 'ProfD' });
|
||||
script.sendAsyncMessage("dir.open", { path: 'test' });
|
||||
}
|
||||
|
||||
function test_worker() {
|
||||
|
@ -342,9 +342,10 @@ DirectInputMessageLoopOnceCallback(nsITimer *aTimer, void* aClosure)
|
||||
}
|
||||
aTimer->Cancel();
|
||||
if (!sIsShutdown) {
|
||||
aTimer->InitWithFuncCallback(DirectInputMessageLoopOnceCallback,
|
||||
nullptr, kWindowsGamepadPollInterval,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
aTimer->InitWithNamedFuncCallback(DirectInputMessageLoopOnceCallback,
|
||||
nullptr, kWindowsGamepadPollInterval,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"DirectInputMessageLoopOnceCallback");
|
||||
}
|
||||
}
|
||||
|
||||
@ -367,9 +368,10 @@ class WindowsGamepadService
|
||||
void StartMessageLoop()
|
||||
{
|
||||
MOZ_ASSERT(mDirectInputTimer);
|
||||
mDirectInputTimer->InitWithFuncCallback(DirectInputMessageLoopOnceCallback,
|
||||
nullptr, kWindowsGamepadPollInterval,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
mDirectInputTimer->InitWithNamedFuncCallback(DirectInputMessageLoopOnceCallback,
|
||||
nullptr, kWindowsGamepadPollInterval,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"DirectInputMessageLoopOnceCallback");
|
||||
}
|
||||
|
||||
void Startup();
|
||||
@ -444,8 +446,9 @@ WindowsGamepadService::XInputMessageLoopOnceCallback(nsITimer *aTimer,
|
||||
self->PollXInput();
|
||||
if (self->mIsXInputMonitoring) {
|
||||
aTimer->Cancel();
|
||||
aTimer->InitWithFuncCallback(XInputMessageLoopOnceCallback, self,
|
||||
kWindowsGamepadPollInterval, nsITimer::TYPE_ONE_SHOT);
|
||||
aTimer->InitWithNamedFuncCallback(XInputMessageLoopOnceCallback, self,
|
||||
kWindowsGamepadPollInterval, nsITimer::TYPE_ONE_SHOT,
|
||||
"XInputMessageLoopOnceCallback");
|
||||
}
|
||||
}
|
||||
|
||||
@ -533,9 +536,10 @@ WindowsGamepadService::ScanForDevices()
|
||||
mXInputTimer->Cancel();
|
||||
if (ScanForXInputDevices()) {
|
||||
mIsXInputMonitoring = true;
|
||||
mXInputTimer->InitWithFuncCallback(XInputMessageLoopOnceCallback, this,
|
||||
kWindowsGamepadPollInterval,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
mXInputTimer->InitWithNamedFuncCallback(XInputMessageLoopOnceCallback, this,
|
||||
kWindowsGamepadPollInterval,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"XInputMessageLoopOnceCallback");
|
||||
} else {
|
||||
mIsXInputMonitoring = false;
|
||||
}
|
||||
@ -943,9 +947,10 @@ WindowsGamepadService::DevicesChanged(bool aIsStablizing)
|
||||
{
|
||||
if (aIsStablizing) {
|
||||
mDeviceChangeTimer->Cancel();
|
||||
mDeviceChangeTimer->InitWithFuncCallback(DevicesChangeCallback, this,
|
||||
kDevicesChangedStableDelay,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
mDeviceChangeTimer->InitWithNamedFuncCallback(DevicesChangeCallback, this,
|
||||
kDevicesChangedStableDelay,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"DevicesChangeCallback");
|
||||
} else {
|
||||
ScanForDevices();
|
||||
}
|
||||
|
@ -12463,10 +12463,11 @@ ConnectionPool::AdjustIdleTimer()
|
||||
}
|
||||
|
||||
MOZ_ALWAYS_SUCCEEDS(
|
||||
mIdleTimer->InitWithFuncCallback(IdleTimerCallback,
|
||||
this,
|
||||
delay,
|
||||
nsITimer::TYPE_ONE_SHOT));
|
||||
mIdleTimer->InitWithNamedFuncCallback(IdleTimerCallback,
|
||||
this,
|
||||
delay,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"ConnectionPool::IdleTimerCallback"));
|
||||
|
||||
mTargetIdleTime = newTargetIdleTime;
|
||||
}
|
||||
|
@ -53,6 +53,7 @@
|
||||
#include "mozilla/intl/LocaleService.h"
|
||||
#include "mozilla/ipc/TestShellChild.h"
|
||||
#include "mozilla/jsipc/CrossProcessObjectWrappers.h"
|
||||
#include "mozilla/jsipc/PJavaScript.h"
|
||||
#include "mozilla/layers/APZChild.h"
|
||||
#include "mozilla/layers/CompositorManagerChild.h"
|
||||
#include "mozilla/layers/ContentProcessController.h"
|
||||
@ -3539,5 +3540,16 @@ ContentChild::RecvShareCodeCoverageMutex(const CrossProcessMutexHandle& aHandle)
|
||||
#endif
|
||||
}
|
||||
|
||||
already_AddRefed<nsIEventTarget>
|
||||
ContentChild::GetSpecificMessageEventTarget(const Message& aMsg)
|
||||
{
|
||||
if (aMsg.type() == PJavaScript::Msg_DropTemporaryStrongReferences__ID
|
||||
|| aMsg.type() == PJavaScript::Msg_DropObject__ID) {
|
||||
return do_AddRef(SystemGroup::EventTargetFor(TaskCategory::Other));
|
||||
}
|
||||
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace dom
|
||||
} // namespace mozilla
|
||||
|
@ -681,6 +681,9 @@ private:
|
||||
virtual already_AddRefed<nsIEventTarget>
|
||||
GetConstructedEventTarget(const Message& aMsg) override;
|
||||
|
||||
virtual already_AddRefed<nsIEventTarget>
|
||||
GetSpecificMessageEventTarget(const Message& aMsg) override;
|
||||
|
||||
InfallibleTArray<nsAutoPtr<AlertObserver> > mAlertObservers;
|
||||
RefPtr<ConsoleListener> mConsoleListener;
|
||||
|
||||
|
@ -91,8 +91,9 @@ ChannelMediaDecoder::ResourceCallback::NotifyDataArrived()
|
||||
// calls to MediaDecoder::NotifyDataArrived() which will update the buffer
|
||||
// ranges of the reader.
|
||||
mTimerArmed = true;
|
||||
mTimer->InitWithFuncCallback(
|
||||
TimerCallback, this, sDelay, nsITimer::TYPE_ONE_SHOT);
|
||||
mTimer->InitWithNamedFuncCallback(
|
||||
TimerCallback, this, sDelay, nsITimer::TYPE_ONE_SHOT,
|
||||
"ChannelMediaDecoder::ResourceCallback::TimerCallback");
|
||||
}
|
||||
|
||||
void
|
||||
|
@ -1419,8 +1419,9 @@ void nsPluginInstanceOwner::AddToCARefreshTimer() {
|
||||
|
||||
if (sCARefreshListeners->Length() == 1) {
|
||||
*sCATimer = do_CreateInstance("@mozilla.org/timer;1");
|
||||
(*sCATimer)->InitWithFuncCallback(CARefresh, nullptr,
|
||||
DEFAULT_REFRESH_RATE, nsITimer::TYPE_REPEATING_SLACK);
|
||||
(*sCATimer)->InitWithNamedFuncCallback(CARefresh, nullptr,
|
||||
DEFAULT_REFRESH_RATE, nsITimer::TYPE_REPEATING_SLACK,
|
||||
"nsPluginInstanceOwner::CARefresh");
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -3634,10 +3634,11 @@ QuotaManager::Shutdown()
|
||||
|
||||
// Kick off the shutdown timer.
|
||||
MOZ_ALWAYS_SUCCEEDS(
|
||||
mShutdownTimer->InitWithFuncCallback(&ShutdownTimerCallback,
|
||||
this,
|
||||
DEFAULT_SHUTDOWN_TIMER_MS,
|
||||
nsITimer::TYPE_ONE_SHOT));
|
||||
mShutdownTimer->InitWithNamedFuncCallback(&ShutdownTimerCallback,
|
||||
this,
|
||||
DEFAULT_SHUTDOWN_TIMER_MS,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"QuotaManager::ShutdownTimerCallback"));
|
||||
|
||||
// Each client will spin the event loop while we wait on all the threads
|
||||
// to close. Our timer may fire during that loop.
|
||||
|
@ -1985,10 +1985,11 @@ RuntimeService::ShutdownIdleThreads(nsITimer* aTimer, void* /* aClosure */)
|
||||
|
||||
// Reschedule the timer.
|
||||
MOZ_ALWAYS_SUCCEEDS(
|
||||
aTimer->InitWithFuncCallback(ShutdownIdleThreads,
|
||||
nullptr,
|
||||
delay,
|
||||
nsITimer::TYPE_ONE_SHOT));
|
||||
aTimer->InitWithNamedFuncCallback(ShutdownIdleThreads,
|
||||
nullptr,
|
||||
delay,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"RuntimeService::ShutdownIdleThreads"));
|
||||
}
|
||||
|
||||
for (uint32_t index = 0; index < expiredThreads.Length(); index++) {
|
||||
@ -2622,10 +2623,11 @@ RuntimeService::NoteIdleThread(WorkerThread* aThread)
|
||||
MOZ_ALWAYS_SUCCEEDS(aThread->Shutdown());
|
||||
} else if (scheduleTimer) {
|
||||
MOZ_ALWAYS_SUCCEEDS(
|
||||
mIdleThreadTimer->InitWithFuncCallback(ShutdownIdleThreads,
|
||||
nullptr,
|
||||
IDLE_THREAD_TIMEOUT_SEC * 1000,
|
||||
nsITimer::TYPE_ONE_SHOT));
|
||||
mIdleThreadTimer->InitWithNamedFuncCallback(ShutdownIdleThreads,
|
||||
nullptr,
|
||||
IDLE_THREAD_TIMEOUT_SEC * 1000,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"RuntimeService::ShutdownIdleThreads"));
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -351,11 +351,15 @@ nsBindingManager::AddToAttachedQueue(nsXBLBinding* aBinding)
|
||||
void
|
||||
nsBindingManager::PostProcessAttachedQueueEvent()
|
||||
{
|
||||
MOZ_ASSERT(NS_IsMainThread());
|
||||
if (!mDocument) {
|
||||
return;
|
||||
}
|
||||
mProcessAttachedQueueEvent =
|
||||
NewRunnableMethod("nsBindingManager::DoProcessAttachedQueue",
|
||||
this, &nsBindingManager::DoProcessAttachedQueue);
|
||||
nsresult rv = NS_DispatchToCurrentThread(mProcessAttachedQueueEvent);
|
||||
if (NS_SUCCEEDED(rv) && mDocument) {
|
||||
nsresult rv = mDocument->EventTargetFor(TaskCategory::Other)->Dispatch(do_AddRef(mProcessAttachedQueueEvent));
|
||||
if (NS_SUCCEEDED(rv)) {
|
||||
mDocument->BlockOnload();
|
||||
}
|
||||
}
|
||||
|
@ -12,6 +12,7 @@
|
||||
#include "mozilla/gfx/Blur.h"
|
||||
#include "mozilla/gfx/PathHelpers.h"
|
||||
#include "mozilla/Maybe.h"
|
||||
#include "mozilla/SystemGroup.h"
|
||||
#include "nsExpirationTracker.h"
|
||||
#include "nsClassHashtable.h"
|
||||
#include "gfxUtils.h"
|
||||
@ -351,7 +352,8 @@ class BlurCache final : public nsExpirationTracker<BlurCacheData,4>
|
||||
{
|
||||
public:
|
||||
BlurCache()
|
||||
: nsExpirationTracker<BlurCacheData, 4>(GENERATION_MS, "BlurCache")
|
||||
: nsExpirationTracker<BlurCacheData, 4>(GENERATION_MS, "BlurCache",
|
||||
SystemGroup::EventTargetFor(TaskCategory::Other))
|
||||
{
|
||||
}
|
||||
|
||||
|
@ -8,6 +8,7 @@
|
||||
#include "PLDHashTable.h"
|
||||
#include "nsExpirationTracker.h"
|
||||
#include "nsClassHashtable.h"
|
||||
#include "mozilla/SystemGroup.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
#include "gfxGradientCache.h"
|
||||
#include <time.h>
|
||||
@ -123,7 +124,8 @@ class GradientCache final : public nsExpirationTracker<GradientCacheData,4>
|
||||
public:
|
||||
GradientCache()
|
||||
: nsExpirationTracker<GradientCacheData,4>(MAX_GENERATION_MS,
|
||||
"GradientCache")
|
||||
"GradientCache",
|
||||
SystemGroup::EventTargetFor(TaskCategory::Other))
|
||||
{
|
||||
srand(time(nullptr));
|
||||
mTimerPeriod = rand() % MAX_GENERATION_MS + 1;
|
||||
|
@ -457,7 +457,8 @@ public:
|
||||
// because on a late 2013 15" retina, it takes about that
|
||||
// long to come back up from sleep.
|
||||
uint32_t delay = 100;
|
||||
mTimer->InitWithFuncCallback(RetryEnableVsync, this, delay, nsITimer::TYPE_ONE_SHOT);
|
||||
mTimer->InitWithNamedFuncCallback(RetryEnableVsync, this, delay, nsITimer::TYPE_ONE_SHOT,
|
||||
"RetryEnableVsync");
|
||||
return;
|
||||
}
|
||||
|
||||
|
@ -113,10 +113,11 @@ EnableSensorNotifications(SensorType aSensor)
|
||||
if (!sUpdateTimer) {
|
||||
CallCreateInstance("@mozilla.org/timer;1", &sUpdateTimer);
|
||||
if (sUpdateTimer) {
|
||||
sUpdateTimer->InitWithFuncCallback(UpdateHandler,
|
||||
nullptr,
|
||||
DEFAULT_SENSOR_POLL,
|
||||
nsITimer::TYPE_REPEATING_SLACK);
|
||||
sUpdateTimer->InitWithNamedFuncCallback(UpdateHandler,
|
||||
nullptr,
|
||||
DEFAULT_SENSOR_POLL,
|
||||
nsITimer::TYPE_REPEATING_SLACK,
|
||||
"hal_impl::UpdateHandler");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -1184,10 +1184,11 @@ ParentImpl::ShutdownBackgroundThread()
|
||||
TimerCallbackClosure closure(thread, liveActors);
|
||||
|
||||
MOZ_ALWAYS_SUCCEEDS(
|
||||
shutdownTimer->InitWithFuncCallback(&ShutdownTimerCallback,
|
||||
&closure,
|
||||
kShutdownTimerDelayMS,
|
||||
nsITimer::TYPE_ONE_SHOT));
|
||||
shutdownTimer->InitWithNamedFuncCallback(&ShutdownTimerCallback,
|
||||
&closure,
|
||||
kShutdownTimerDelayMS,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"ParentImpl::ShutdownTimerCallback"));
|
||||
|
||||
SpinEventLoopUntil([&]() { return !sLiveActorCount; });
|
||||
|
||||
|
@ -84,40 +84,6 @@ bool nsStyleCoord::operator==(const nsStyleCoord& aOther) const
|
||||
return false;
|
||||
}
|
||||
|
||||
uint32_t nsStyleCoord::HashValue(uint32_t aHash = 0) const
|
||||
{
|
||||
aHash = mozilla::AddToHash(aHash, mUnit);
|
||||
|
||||
switch (mUnit) {
|
||||
case eStyleUnit_Null:
|
||||
case eStyleUnit_Normal:
|
||||
case eStyleUnit_Auto:
|
||||
case eStyleUnit_None:
|
||||
return mozilla::AddToHash(aHash, true);
|
||||
case eStyleUnit_Percent:
|
||||
case eStyleUnit_Factor:
|
||||
case eStyleUnit_Degree:
|
||||
case eStyleUnit_Grad:
|
||||
case eStyleUnit_Radian:
|
||||
case eStyleUnit_Turn:
|
||||
case eStyleUnit_FlexFraction:
|
||||
return mozilla::AddToHash(aHash, mValue.mFloat);
|
||||
case eStyleUnit_Coord:
|
||||
case eStyleUnit_Integer:
|
||||
case eStyleUnit_Enumerated:
|
||||
return mozilla::AddToHash(aHash, mValue.mInt);
|
||||
case eStyleUnit_Calc:
|
||||
Calc* calcValue = GetCalcValue();
|
||||
aHash = mozilla::AddToHash(aHash, calcValue->mLength);
|
||||
if (HasPercent()) {
|
||||
return mozilla::AddToHash(aHash, calcValue->mPercent);
|
||||
}
|
||||
return aHash;
|
||||
}
|
||||
MOZ_ASSERT(false, "unexpected unit");
|
||||
return aHash;
|
||||
}
|
||||
|
||||
void nsStyleCoord::Reset()
|
||||
{
|
||||
Reset(mUnit, mValue);
|
||||
|
@ -224,7 +224,6 @@ public:
|
||||
double GetAngleValueInRadians() const;
|
||||
float GetFlexFractionValue() const;
|
||||
Calc* GetCalcValue() const;
|
||||
uint32_t HashValue(uint32_t aHash) const;
|
||||
template<typename T,
|
||||
typename = typename std::enable_if<std::is_enum<T>::value>::type>
|
||||
T GetEnumValue() const
|
||||
|
@ -850,10 +850,11 @@ void TransportLayerDtls::StateChange(TransportLayer *layer, State state) {
|
||||
TL_SET_STATE(TS_CONNECTING);
|
||||
timer_->Cancel();
|
||||
timer_->SetTarget(target_);
|
||||
timer_->InitWithFuncCallback(TimerCallback,
|
||||
this,
|
||||
0,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
timer_->InitWithNamedFuncCallback(TimerCallback,
|
||||
this,
|
||||
0,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"TransportLayerDtls::TimerCallback");
|
||||
break;
|
||||
|
||||
case TS_CLOSED:
|
||||
@ -912,9 +913,10 @@ void TransportLayerDtls::Handshake() {
|
||||
MOZ_MTLOG(ML_DEBUG,
|
||||
LAYER_INFO << "Setting DTLS timeout to " << timeout_ms);
|
||||
timer_->SetTarget(target_);
|
||||
timer_->InitWithFuncCallback(TimerCallback,
|
||||
this, timeout_ms,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
timer_->InitWithNamedFuncCallback(TimerCallback,
|
||||
this, timeout_ms,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"TransportLayerDtls::TimerCallback");
|
||||
}
|
||||
break;
|
||||
default:
|
||||
|
@ -91,8 +91,9 @@ public:
|
||||
{
|
||||
mTimer = do_CreateInstance(NS_TIMER_CONTRACTID);
|
||||
mTimer->SetTarget(test_utils->sts_target());
|
||||
mTimer->InitWithFuncCallback(FakeAudioStreamTrackGenerateData, this, 20,
|
||||
nsITimer::TYPE_REPEATING_SLACK);
|
||||
mTimer->InitWithNamedFuncCallback(FakeAudioStreamTrackGenerateData, this, 20,
|
||||
nsITimer::TYPE_REPEATING_SLACK,
|
||||
"FakeAudioStreamTrack::FakeAudioStreamTrackGenerateData");
|
||||
|
||||
}
|
||||
|
||||
|
@ -282,8 +282,9 @@ WebrtcVideoConduit::WebrtcVideoConduit(RefPtr<WebRtcCallWrapper> aCall)
|
||||
self->mRecvPacketCounts = stats.rtcp_packet_type_counts;
|
||||
}
|
||||
};
|
||||
mVideoStatsTimer->InitWithFuncCallback(
|
||||
callback, this, 1000, nsITimer::TYPE_REPEATING_PRECISE_CAN_SKIP);
|
||||
mVideoStatsTimer->InitWithNamedFuncCallback(
|
||||
callback, this, 1000, nsITimer::TYPE_REPEATING_PRECISE_CAN_SKIP,
|
||||
"WebrtcVideoConduit::WebrtcVideoConduit");
|
||||
}
|
||||
|
||||
WebrtcVideoConduit::~WebrtcVideoConduit()
|
||||
|
@ -370,8 +370,9 @@ nsresult PeerConnectionCtx::Initialize() {
|
||||
MOZ_ASSERT(mTelemetryTimer);
|
||||
nsresult rv = mTelemetryTimer->SetTarget(gMainThread);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
mTelemetryTimer->InitWithFuncCallback(EverySecondTelemetryCallback_m, this, 1000,
|
||||
nsITimer::TYPE_REPEATING_PRECISE_CAN_SKIP);
|
||||
mTelemetryTimer->InitWithNamedFuncCallback(EverySecondTelemetryCallback_m, this, 1000,
|
||||
nsITimer::TYPE_REPEATING_PRECISE_CAN_SKIP,
|
||||
"EverySecondTelemetryCallback_m");
|
||||
|
||||
if (XRE_IsContentProcess()) {
|
||||
WebrtcGlobalChild::Create();
|
||||
|
@ -2523,8 +2523,9 @@ PeerConnectionImpl::InsertDTMF(mozilla::dom::RTCRtpSender& sender,
|
||||
state->mDuration = duration;
|
||||
state->mInterToneGap = interToneGap;
|
||||
if (!state->mTones.IsEmpty()) {
|
||||
state->mSendTimer->InitWithFuncCallback(DTMFSendTimerCallback_m, state, 0,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
state->mSendTimer->InitWithNamedFuncCallback(DTMFSendTimerCallback_m, state, 0,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"DTMFSendTimerCallback_m");
|
||||
}
|
||||
return NS_OK;
|
||||
}
|
||||
@ -4048,13 +4049,15 @@ PeerConnectionImpl::DTMFSendTimerCallback_m(nsITimer* timer, void* closure)
|
||||
state->mTones.Cut(0, 1);
|
||||
|
||||
if (tone == -1) {
|
||||
state->mSendTimer->InitWithFuncCallback(DTMFSendTimerCallback_m, state,
|
||||
2000, nsITimer::TYPE_ONE_SHOT);
|
||||
state->mSendTimer->InitWithNamedFuncCallback(DTMFSendTimerCallback_m, state,
|
||||
2000, nsITimer::TYPE_ONE_SHOT,
|
||||
"DTMFSendTimerCallback_m");
|
||||
} else {
|
||||
// Reset delay if necessary
|
||||
state->mSendTimer->InitWithFuncCallback(DTMFSendTimerCallback_m, state,
|
||||
state->mDuration + state->mInterToneGap,
|
||||
nsITimer::TYPE_ONE_SHOT);
|
||||
state->mSendTimer->InitWithNamedFuncCallback(DTMFSendTimerCallback_m, state,
|
||||
state->mDuration + state->mInterToneGap,
|
||||
nsITimer::TYPE_ONE_SHOT,
|
||||
"DTMFSendTimerCallback_m");
|
||||
|
||||
RefPtr<AudioSessionConduit> conduit =
|
||||
state->mPeerConnectionImpl->mMedia->GetAudioConduit(state->mLevel);
|
||||
|
@ -597,6 +597,7 @@ Pref.prototype = {
|
||||
this.li.setAttribute("contextmenu", "prefs-context-menu");
|
||||
|
||||
// Create list item outline, bind to object actions
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.li.innerHTML =
|
||||
"<div class='pref-name' " +
|
||||
"onclick='AboutConfig.selectOrToggleBoolPref(event);'>" +
|
||||
|
@ -33,6 +33,7 @@ for (var y = 0; y < 2000; y += 100) {
|
||||
g = g & 0xFC;
|
||||
var b = (Math.floor(y / 3) % 256);
|
||||
b = b & 0xF8;
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write("<div style='float: left; width: 100px; height: 100px; margin: 0; padding: 0; border: none; background-color: rgb(" + r + "," + g + "," + b + ")'> </div>\n");
|
||||
}
|
||||
document.write("</div>\n");
|
||||
|
@ -119,6 +119,7 @@
|
||||
SpecialPowers.Ci.nsIDocShell).editor;
|
||||
};
|
||||
setValue = function(val) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
contentEditable.innerHTML = val;
|
||||
};
|
||||
setSelection = function(pos) {
|
||||
@ -136,6 +137,7 @@
|
||||
SpecialPowers.Ci.nsIDocShell).editor;
|
||||
};
|
||||
setValue = function(val) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
designMode.contentDocument.body.innerHTML = val;
|
||||
};
|
||||
setSelection = function(pos) {
|
||||
|
@ -5741,13 +5741,9 @@ pref("fuzzing.enabled", false);
|
||||
#endif
|
||||
|
||||
#if defined(XP_WIN)
|
||||
#if defined(NIGHTLY_BUILD)
|
||||
pref("layers.mlgpu.dev-enabled", true);
|
||||
#else
|
||||
pref("layers.mlgpu.dev-enabled", false);
|
||||
#endif
|
||||
|
||||
// Both this and the master "enabled" pref must be on to use Advanced Layers
|
||||
// Both this and the master "enabled" pref must be on to use Advanced LAyers
|
||||
// on Windows 7.
|
||||
pref("layers.mlgpu.enable-on-windows7", false);
|
||||
#endif
|
||||
|
@ -64,14 +64,14 @@ CacheFileChunkBuffer::FillInvalidRanges(CacheFileChunkBuffer *aOther,
|
||||
MOZ_RELEASE_ASSERT(invalidOffset <= validOffset);
|
||||
invalidLength = validOffset - invalidOffset;
|
||||
if (invalidLength > 0) {
|
||||
MOZ_RELEASE_ASSERT(invalidOffset + invalidLength <= aOther->mBufSize);
|
||||
MOZ_RELEASE_ASSERT(invalidOffset + invalidLength <= aOther->mDataSize);
|
||||
memcpy(mBuf + invalidOffset, aOther->mBuf + invalidOffset, invalidLength);
|
||||
}
|
||||
invalidOffset = validOffset + validLength;
|
||||
}
|
||||
|
||||
if (invalidOffset < aOther->mBufSize) {
|
||||
invalidLength = aOther->mBufSize - invalidOffset;
|
||||
if (invalidOffset < aOther->mDataSize) {
|
||||
invalidLength = aOther->mDataSize - invalidOffset;
|
||||
memcpy(mBuf + invalidOffset, aOther->mBuf + invalidOffset, invalidLength);
|
||||
}
|
||||
|
||||
|
554
npm-shrinkwrap.json
generated
554
npm-shrinkwrap.json
generated
File diff suppressed because it is too large
Load Diff
@ -7,9 +7,10 @@
|
||||
"escope": "^3.6.0",
|
||||
"eslint": "3.19.0",
|
||||
"eslint-plugin-html": "2.0.3",
|
||||
"eslint-plugin-mozilla": "file:tools\\lint\\eslint\\eslint-plugin-mozilla",
|
||||
"eslint-plugin-mozilla": "file:tools/lint/eslint/eslint-plugin-mozilla",
|
||||
"eslint-plugin-no-unsanitized": "2.0.1",
|
||||
"eslint-plugin-react": "6.10.3",
|
||||
"eslint-plugin-spidermonkey-js": "file:tools\\lint\\eslint\\eslint-plugin-spidermonkey-js",
|
||||
"eslint-plugin-spidermonkey-js": "file:tools/lint/eslint/eslint-plugin-spidermonkey-js",
|
||||
"espree": "^3.4.0",
|
||||
"estraverse": "^4.2.0",
|
||||
"ini-parser": "^0.0.2",
|
||||
|
@ -2,6 +2,7 @@
|
||||
"use strict";
|
||||
|
||||
document.open();
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write("This is insecure XSS script " + document.cookie);
|
||||
isSecurityState("broken", "security broken after document write from unsecure script");
|
||||
finish();
|
||||
|
@ -7,6 +7,7 @@
|
||||
This is frame 1:
|
||||
<script>
|
||||
"use strict";
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write(location.href);
|
||||
</script>
|
||||
</body>
|
||||
|
@ -7,6 +7,7 @@
|
||||
This is frame 2:
|
||||
<script>
|
||||
"use strict";
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write(location.href);
|
||||
</script>
|
||||
<iframe src="http://example.com/tests/security/manager/ssl/tests/mochitest/mixedcontent/iframe.html"></iframe>
|
||||
|
@ -19,6 +19,7 @@
|
||||
<!-- This frame should be loaded over HTTPS to set the STS header. -->
|
||||
This frame was loaded using
|
||||
<script>
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write(document.location.protocol);
|
||||
</script>
|
||||
and set the STS header to force this site and allow subdomain upgrading.
|
||||
|
@ -19,6 +19,7 @@
|
||||
<!-- This frame should be loaded over HTTPS to set the STS header. -->
|
||||
This frame was loaded using
|
||||
<script>
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write(document.location.protocol);
|
||||
</script>
|
||||
and set the STS header to force this site and allow subdomain upgrading.
|
||||
|
@ -19,6 +19,7 @@
|
||||
<!-- This frame should be loaded over HTTPS to set the STS header. -->
|
||||
This frame was loaded using
|
||||
<script>
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write(document.location.protocol);
|
||||
</script>
|
||||
and set the STS header to force this site and allow subdomain upgrading.
|
||||
|
@ -202,6 +202,7 @@ macosx64/opt:
|
||||
- macosx64-tests-talos
|
||||
- macosx64-tests
|
||||
- desktop-screenshot-capture
|
||||
- awsy
|
||||
|
||||
macosx64-nightly/opt:
|
||||
build-platform: macosx64-nightly/opt
|
||||
|
@ -21,6 +21,8 @@ awsy:
|
||||
by-test-platform:
|
||||
windows.*/opt:
|
||||
- awsy/taskcluster_windows_config.py
|
||||
macosx.*/opt:
|
||||
- awsy/macosx_config.py
|
||||
default:
|
||||
- awsy/linux_config.py
|
||||
|
||||
|
41
testing/mozharness/configs/awsy/macosx_config.py
Normal file
41
testing/mozharness/configs/awsy/macosx_config.py
Normal file
@ -0,0 +1,41 @@
|
||||
import os
|
||||
import platform
|
||||
|
||||
PYTHON = "/usr/bin/env python"
|
||||
VENV_PATH = '%s/build/venv' % os.getcwd()
|
||||
TOOLTOOL_MANIFEST_PATH = "config/tooltool-manifests/macosx64/releng.manifest"
|
||||
MINIDUMP_STACKWALK_PATH = "macosx64-minidump_stackwalk"
|
||||
ABS_WORK_DIR = os.path.join(os.getcwd(), "build")
|
||||
INSTALLER_PATH = os.path.join(ABS_WORK_DIR, "installer.dmg")
|
||||
|
||||
config = {
|
||||
"log_name": "awsy",
|
||||
"download_tooltool": True,
|
||||
"installer_path": INSTALLER_PATH,
|
||||
"virtualenv_path": VENV_PATH,
|
||||
"find_links": [
|
||||
"http://pypi.pvt.build.mozilla.org/pub",
|
||||
"http://pypi.pub.build.mozilla.org/pub",
|
||||
],
|
||||
"cmd_timeout": 6500,
|
||||
"pip_index": False,
|
||||
"exes": {
|
||||
},
|
||||
"title": os.uname()[1].lower().split('.')[0],
|
||||
"default_actions": [
|
||||
"clobber",
|
||||
"download-and-extract",
|
||||
"populate-webroot",
|
||||
"create-virtualenv",
|
||||
"install",
|
||||
"run-tests",
|
||||
],
|
||||
"default_blob_upload_servers": [
|
||||
"https://blobupload.elasticbeanstalk.com",
|
||||
],
|
||||
"blob_uploader_auth_file": os.path.join(os.getcwd(), "oauth.txt"),
|
||||
"download_minidump_stackwalk": True,
|
||||
"minidump_stackwalk_path": MINIDUMP_STACKWALK_PATH,
|
||||
"minidump_tooltool_manifest_path": TOOLTOOL_MANIFEST_PATH,
|
||||
"tooltool_cache": os.path.join(os.getcwd(), "tooltool_cache"),
|
||||
}
|
@ -29,13 +29,17 @@
|
||||
function triggerBuildXpi() {
|
||||
function $(id) { return document.getElementById(id); }
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
$("status-text").innerHTML = "Preparing ...";
|
||||
$("result").style.display = "none";
|
||||
$("status").style.display = "inline";
|
||||
|
||||
createXpiDataUri(base, files, {
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
onprogress(p) { $("status-text").innerHTML = "Preparing ... " + p.toFixed(0) + "%"; },
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
onerror(e) { $("status-text").innerHTML = "Oops, couldn't generate XPI. Reload to retry.<br/>" + e; },
|
||||
|
||||
onsuccess(u) {
|
||||
|
@ -31,8 +31,11 @@
|
||||
$("status").style.display = "inline";
|
||||
|
||||
createXpiDataUri(base, files, {
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
onprogress(p) { $("status-text").innerHTML = "Preparing ... " + p.toFixed(0) + "%"; },
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
onerror(e) { $("status-text").innerHTML = "Oops, couldn't generate XPI. Reload to retry.<br/>" + e; },
|
||||
|
||||
onsuccess(u) {
|
||||
|
@ -31,6 +31,8 @@
|
||||
}
|
||||
for (i = 0; i < 2000; i++) {
|
||||
div = document.createElement("div");
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
div.innerHTML = "<div role='progressbar'>progressbar</div>" +
|
||||
"<span id='span" + i + "'>cb</span>";
|
||||
container.appendChild(div);
|
||||
|
@ -100,6 +100,8 @@ function doneTest(dispResult) {
|
||||
|
||||
dispStats += "<hr/><b>Individual animations</b>:<br/>";
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
$("run-results").innerHTML = "<hr/><br/>Results <button onclick='toClipboard(lastResults)'>[ Copy to clipboard as JSON ]</button>:<br/>" + dispStats + dispResult.join("<br/>");
|
||||
}
|
||||
}
|
||||
|
@ -67,6 +67,8 @@ Utilities:
|
||||
<b>Configure DAMP</b> (CTRL-F5 to reset to talos defaults) <button type="button" onclick="deselectAll()">Deselect all tests</button><br/>
|
||||
<script>
|
||||
for (var test in defaultConfig.subtests) {
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write('<input type="checkbox" id="subtest-' + test + '" ' + (defaultConfig.subtests[test] ? "" : "un") + "checked>"
|
||||
+ test + "</input>"
|
||||
+ '<span style="color:grey"> ' + testsInfo[test] + "</span>"
|
||||
|
@ -113,6 +113,8 @@ function doneTest(dispResult) {
|
||||
|
||||
dispStats += "<hr/><b>Individual animations</b>:<br/>";
|
||||
}
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
$("run-results").innerHTML = "<hr/><br/>Results <button onclick='toClipboard(lastResults)'>[ Copy to clipboard as JSON ]</button>:<br/>" + dispStats + dispResult.join("<br/>");
|
||||
}
|
||||
}
|
||||
@ -264,6 +266,8 @@ Utilities:
|
||||
<b>Configure TART</b> (CTRL-F5 to reset to talos defaults) <button type="button" onclick="deselectAll()">Deselect all tests</button><br/>
|
||||
<script>
|
||||
for (var test in defaultConfig.subtests) {
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.write('<input type="checkbox" id="subtest-' + test + '" ' + (defaultConfig.subtests[test] ? "" : "un") + "checked>"
|
||||
+ test + "</input>"
|
||||
+ '<span style="color:grey"> ' + testsInfo[test] + "</span>"
|
||||
|
@ -42,6 +42,7 @@ function NarrateControls(mm, win, languagePromise) {
|
||||
dropdown.id = "narrate-dropdown";
|
||||
// We need inline svg here for the animation to work (bug 908634 & 1190881).
|
||||
// The style animation can't be scoped (bug 830056).
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
dropdown.innerHTML =
|
||||
localize`<style scoped>
|
||||
@import url("chrome://global/skin/narrateControls.css");
|
||||
|
@ -13,6 +13,7 @@ function VoiceSelect(win, label) {
|
||||
|
||||
let element = win.document.createElement("div");
|
||||
element.classList.add("voiceselect");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
element.innerHTML =
|
||||
`<button class="select-toggle" aria-controls="voice-options">
|
||||
<span class="label">${label}</span> <span class="current-voice"></span>
|
||||
|
@ -121,6 +121,7 @@ add_task(async function test() {
|
||||
|
||||
let processedFormPromise = promiseFormsProcessed(numFormLikesExpected);
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
frameDoc.documentElement.innerHTML = tc.document;
|
||||
info("waiting for " + numFormLikesExpected + " processed form(s)");
|
||||
await processedFormPromise;
|
||||
|
@ -140,6 +140,7 @@ add_task(async function test() {
|
||||
|
||||
for (let tc of TESTCASES) {
|
||||
info("Starting testcase: " + JSON.stringify(tc));
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
frameDoc.documentElement.innerHTML = tc.document;
|
||||
let inputForFormLike = frameDoc.querySelectorAll("input")[tc.inputIndexForFormLike];
|
||||
|
||||
|
@ -148,6 +148,7 @@ add_task(async function test() {
|
||||
await loadedPromise;
|
||||
|
||||
let frameDoc = SpecialPowers.wrap(loginFrame.contentWindow).document;
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
frameDoc.documentElement.innerHTML = tc.document;
|
||||
// Wait for the form to be processed before trying to submit.
|
||||
await promiseFormsProcessed();
|
||||
|
@ -101,6 +101,7 @@ add_task(async function test() {
|
||||
await loadedPromise;
|
||||
|
||||
let frameDoc = SpecialPowers.wrap(loginFrame.contentWindow).document;
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
frameDoc.documentElement.innerHTML = tc.document;
|
||||
|
||||
// Wait for the form to be processed before trying to submit.
|
||||
|
@ -113,6 +113,7 @@ async function reinitializeForm(index) {
|
||||
let form = document.getElementById("form" + index);
|
||||
let temp = form.innerHTML;
|
||||
form.innerHTML = "";
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
form.innerHTML = temp;
|
||||
|
||||
await new Promise(resolve => {
|
||||
|
@ -266,6 +266,8 @@ var Settings = {
|
||||
let parameters = [fhrEnabled, extendedEnabled].map(this.convertStringToLink);
|
||||
|
||||
let explanation = bundle.formatStringFromName("homeExplanation", parameters, 2);
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
homeExplanation.innerHTML = explanation;
|
||||
this.attachObservers()
|
||||
},
|
||||
@ -335,6 +337,8 @@ var PingPicker = {
|
||||
|
||||
let explanation = bundle.formatStringFromName("pingExplanation", [pingLink, pingName], 2);
|
||||
let pingExplanation = document.getElementById("ping-explanation");
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
pingExplanation.innerHTML = explanation;
|
||||
GenericSubsection.deleteAllSubSections();
|
||||
},
|
||||
|
@ -140,6 +140,7 @@ Control.prototype = {
|
||||
this.ctrl.textContent = this._label;
|
||||
|
||||
if (this._message) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
this.msg.innerHTML =
|
||||
`<span class="info-label">${this._messageHeader}:</span> ${this._message}`;
|
||||
} else {
|
||||
@ -305,6 +306,7 @@ var AboutWebRTC = {
|
||||
msg.textContent = getString("cannot_retrieve_log");
|
||||
parent.appendChild(msg);
|
||||
msg = document.createElement("p");
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
msg.innerHTML = `${data.error.name}: ${data.error.message}`;
|
||||
parent.appendChild(msg);
|
||||
return;
|
||||
|
@ -15,6 +15,7 @@
|
||||
var strBundleService = Components.classes["@mozilla.org/intl/stringbundle;1"].getService(Ci.nsIStringBundleService);
|
||||
var pluginsbundle = strBundleService.createBundle("chrome://global/locale/plugins.properties");
|
||||
|
||||
// eslint-disable-next-line no-unsanitized/method
|
||||
document.writeln("<title>" + pluginsbundle.GetStringFromName("title_label") + "<\/title>");
|
||||
</script>
|
||||
<link rel="stylesheet" type="text/css" href="chrome://global/content/plugins.css">
|
||||
|
@ -519,7 +519,7 @@ this.CrashSubmit = {
|
||||
let matchesIgnore = entry.name.match(/(.+)\.dmp.ignore$/);
|
||||
|
||||
if (matchesIgnore) {
|
||||
let id = matches[1];
|
||||
let id = matchesIgnore[1];
|
||||
|
||||
if (UUID_REGEX.test(id)) {
|
||||
ignored[id] = true;
|
||||
@ -532,7 +532,7 @@ this.CrashSubmit = {
|
||||
for (let entry in entries) {
|
||||
let entryInfo = await entries[entry];
|
||||
|
||||
if (!(`${entry}.dmp.ignore` in ignored) &&
|
||||
if (!(entry in ignored) &&
|
||||
entryInfo.lastAccessDate > minFileDate) {
|
||||
ids.push(entry);
|
||||
}
|
||||
|
@ -204,6 +204,7 @@ var FormDataInternal = {
|
||||
|
||||
// designMode is undefined e.g. for XUL documents (as about:config)
|
||||
if ((doc.designMode || "") == "on" && doc.body) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
ret.innerHTML = doc.body.innerHTML;
|
||||
}
|
||||
|
||||
@ -261,6 +262,7 @@ var FormDataInternal = {
|
||||
|
||||
if ("innerHTML" in data) {
|
||||
if (doc.body && doc.designMode == "on") {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
doc.body.innerHTML = data.innerHTML;
|
||||
this.fireEvent(doc.body, "input");
|
||||
}
|
||||
|
@ -3255,6 +3255,7 @@ var gDetailView = {
|
||||
// plugins without having bug 624602 fixed yet, and intentionally ignores
|
||||
// localisation.
|
||||
if (aAddon.isGMPlugin) {
|
||||
// eslint-disable-next-line no-unsanitized/property
|
||||
fullDesc.innerHTML = aAddon.fullDescription;
|
||||
} else {
|
||||
fullDesc.textContent = aAddon.fullDescription;
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user