mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 14:15:30 +00:00
e2b946adfc
We used to need explicit names for functions to make stack traces display properly. The JS engine is smarter now so doesn't need them and they just make the code messy and redundant. --HG-- extra : commitid : 4FEIiQYhRQu extra : rebase_source : 26689d5417f592d0f327f32076245cb4f154229a
73 lines
2.4 KiB
JavaScript
73 lines
2.4 KiB
JavaScript
// -*- indent-tabs-mode: nil; js-indent-level: 2 -*-
|
|
|
|
/* 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";
|
|
|
|
Components.utils.import("resource://gre/modules/Services.jsm");
|
|
|
|
var gArgs;
|
|
|
|
function init() {
|
|
var hasHardBlocks = false;
|
|
var hasSoftBlocks = false;
|
|
gArgs = window.arguments[0].wrappedJSObject;
|
|
|
|
// NOTE: We use strings from the "updates.properties" bundleset to change the
|
|
// text on the "Cancel" button to "Restart Later". (bug 523784)
|
|
let bundle = Services.strings.
|
|
createBundle("chrome://mozapps/locale/update/updates.properties");
|
|
let cancelButton = document.documentElement.getButton("cancel");
|
|
cancelButton.setAttribute("label", bundle.GetStringFromName("restartLaterButton"));
|
|
cancelButton.setAttribute("accesskey",
|
|
bundle.GetStringFromName("restartLaterButton.accesskey"));
|
|
|
|
var richlist = document.getElementById("addonList");
|
|
var list = gArgs.list;
|
|
list.sort(function(a, b) { return String.localeCompare(a.name, b.name); });
|
|
for (let listItem of list) {
|
|
let item = document.createElement("richlistitem");
|
|
item.setAttribute("name", listItem.name);
|
|
item.setAttribute("version", listItem.version);
|
|
item.setAttribute("icon", listItem.icon);
|
|
if (listItem.blocked) {
|
|
item.setAttribute("class", "hardBlockedAddon");
|
|
hasHardBlocks = true;
|
|
}
|
|
else {
|
|
item.setAttribute("class", "softBlockedAddon");
|
|
hasSoftBlocks = true;
|
|
}
|
|
richlist.appendChild(item);
|
|
}
|
|
|
|
if (hasHardBlocks && hasSoftBlocks)
|
|
document.getElementById("bothMessage").hidden = false;
|
|
else if (hasHardBlocks)
|
|
document.getElementById("hardBlockMessage").hidden = false;
|
|
else
|
|
document.getElementById("softBlockMessage").hidden = false;
|
|
|
|
var link = document.getElementById("moreInfo");
|
|
if (list.length == 1 && list[0].url) {
|
|
link.setAttribute("href", list[0].url);
|
|
}
|
|
else {
|
|
var url = Services.urlFormatter.formatURLPref("extensions.blocklist.detailsURL");
|
|
link.setAttribute("href", url);
|
|
}
|
|
}
|
|
|
|
function finish(shouldRestartNow) {
|
|
gArgs.restart = shouldRestartNow;
|
|
var list = gArgs.list;
|
|
var items = document.getElementById("addonList").childNodes;
|
|
for (let i = 0; i < list.length; i++) {
|
|
if (!list[i].blocked)
|
|
list[i].disable = items[i].checked;
|
|
}
|
|
return true;
|
|
}
|