mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
d0986b9f70
--HG-- extra : rebase_source : 3eee5463d514dfe1f62cd59a9c317e31903e7313
121 lines
4.0 KiB
JavaScript
121 lines
4.0 KiB
JavaScript
/* Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ */
|
|
|
|
const URI_BLOCKLIST_DIALOG = "chrome://mozapps/content/extensions/blocklist.xul";
|
|
|
|
// This tests that the blocklist dialog still affects soft-blocked add-ons
|
|
// if the user clicks the "Restart Later" button. It also ensures that the
|
|
// "Cancel" button is correctly renamed (to "Restart Later").
|
|
let args = {
|
|
restart: false,
|
|
list: [{
|
|
name: "Bug 523784 softblocked addon",
|
|
version: "1",
|
|
icon: "chrome://mozapps/skin/plugins/pluginGeneric.png",
|
|
disable: false,
|
|
blocked: false,
|
|
url: 'http://example.com/bug523784_1',
|
|
}],
|
|
};
|
|
|
|
function test() {
|
|
waitForExplicitFinish();
|
|
|
|
let windowObserver = function(aSubject, aTopic, aData) {
|
|
if (aTopic != "domwindowopened")
|
|
return;
|
|
|
|
Services.ww.unregisterNotification(windowObserver);
|
|
|
|
let win = aSubject.QueryInterface(Ci.nsIDOMWindow);
|
|
win.addEventListener("load", function() {
|
|
win.removeEventListener("load", arguments.callee, false);
|
|
|
|
executeSoon(function() bug523784_test1(win));
|
|
}, false);
|
|
};
|
|
Services.ww.registerNotification(windowObserver);
|
|
|
|
args.wrappedJSObject = args;
|
|
Services.ww.openWindow(null, URI_BLOCKLIST_DIALOG, "",
|
|
"chrome,centerscreen,dialog,titlebar", args);
|
|
}
|
|
|
|
function bug523784_test1(win) {
|
|
let bundle = Services.strings.
|
|
createBundle("chrome://mozapps/locale/update/updates.properties");
|
|
let cancelButton = win.document.documentElement.getButton("cancel");
|
|
let moreInfoLink = win.document.getElementById("moreInfo");
|
|
|
|
is(cancelButton.getAttribute("label"),
|
|
bundle.GetStringFromName("restartLaterButton"),
|
|
"Text should be changed on Cancel button");
|
|
is(cancelButton.getAttribute("accesskey"),
|
|
bundle.GetStringFromName("restartLaterButton.accesskey"),
|
|
"Accesskey should also be changed on Cancel button");
|
|
is(moreInfoLink.getAttribute("href"),
|
|
'http://example.com/bug523784_1',
|
|
"More Info link should link to a detailed blocklist page.");
|
|
let windowObserver = function(aSubject, aTopic, aData) {
|
|
if (aTopic != "domwindowclosed")
|
|
return;
|
|
|
|
Services.ww.unregisterNotification(windowObserver);
|
|
|
|
ok(args.list[0].disable, "Should be blocking add-on");
|
|
ok(!args.restart, "Should not restart browser immediately");
|
|
|
|
executeSoon(bug523784_test2);
|
|
};
|
|
Services.ww.registerNotification(windowObserver);
|
|
|
|
cancelButton.doCommand();
|
|
}
|
|
|
|
function bug523784_test2(win) {
|
|
let windowObserver = function(aSubject, aTopic, aData) {
|
|
if (aTopic != "domwindowopened")
|
|
return;
|
|
|
|
Services.ww.unregisterNotification(windowObserver);
|
|
let win = aSubject.QueryInterface(Ci.nsIDOMWindow);
|
|
win.addEventListener("load", function() {
|
|
win.removeEventListener("load", arguments.callee, false);
|
|
|
|
executeSoon(function(){
|
|
let moreInfoLink = win.document.getElementById("moreInfo");
|
|
let cancelButton = win.document.documentElement.getButton("cancel");
|
|
is(moreInfoLink.getAttribute("href"),
|
|
Services.urlFormatter.formatURLPref("extensions.blocklist.detailsURL"),
|
|
"More Info link should link to the general blocklist page.");
|
|
cancelButton.doCommand();
|
|
executeSoon(finish);
|
|
})
|
|
}, false);
|
|
};
|
|
Services.ww.registerNotification(windowObserver);
|
|
|
|
// Add 2 more addons to the blocked list to check that the more info link
|
|
// points to the general blocked list page.
|
|
args.list.push({
|
|
name: "Bug 523784 softblocked addon 2",
|
|
version: "2",
|
|
icon: "chrome://mozapps/skin/plugins/pluginGeneric.png",
|
|
disable: false,
|
|
blocked: false,
|
|
url: 'http://example.com/bug523784_2'
|
|
});
|
|
args.list.push({
|
|
name: "Bug 523784 softblocked addon 3",
|
|
version: "4",
|
|
icon: "chrome://mozapps/skin/plugins/pluginGeneric.png",
|
|
disable: false,
|
|
blocked: false,
|
|
url: 'http://example.com/bug523784_3'
|
|
});
|
|
|
|
args.wrappedJSObject = args;
|
|
Services.ww.openWindow(null, URI_BLOCKLIST_DIALOG, "",
|
|
"chrome,centerscreen,dialog,titlebar", args);
|
|
}
|