2008-08-19 21:11:39 -07:00
|
|
|
/* Check for the correct behaviour of the report web forgery/not a web forgery
|
|
|
|
menu items.
|
|
|
|
|
|
|
|
Mac makes this astonishingly painful to test since their help menu is special magic,
|
|
|
|
but we can at least test it on the other platforms.*/
|
|
|
|
var menu;
|
|
|
|
|
|
|
|
function test() {
|
|
|
|
waitForExplicitFinish();
|
2010-03-13 08:55:44 -08:00
|
|
|
|
2009-09-16 03:21:19 -07:00
|
|
|
gBrowser.selectedTab = gBrowser.addTab();
|
2008-08-19 21:11:39 -07:00
|
|
|
|
|
|
|
// Navigate to a normal site
|
2010-03-13 08:55:44 -08:00
|
|
|
gBrowser.addEventListener("DOMContentLoaded", testNormal, false);
|
2009-09-16 03:21:19 -07:00
|
|
|
content.location = "http://example.com/";
|
2008-08-19 21:11:39 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
function testNormal() {
|
2010-03-13 08:55:44 -08:00
|
|
|
gBrowser.removeEventListener("DOMContentLoaded", testNormal, false);
|
|
|
|
|
2008-08-19 21:11:39 -07:00
|
|
|
// open the menu, to force it to update
|
|
|
|
menu = document.getElementById("menu_HelpPopup");
|
|
|
|
ok(menu, "Help menu should exist!");
|
|
|
|
|
|
|
|
menu.addEventListener("popupshown", testNormal_PopupListener, false);
|
|
|
|
menu.openPopup(null, "", 0, 0, false, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
function testNormal_PopupListener() {
|
|
|
|
menu.removeEventListener("popupshown", testNormal_PopupListener, false);
|
|
|
|
|
|
|
|
var reportMenu = document.getElementById("menu_HelpPopup_reportPhishingtoolmenu");
|
|
|
|
var errorMenu = document.getElementById("menu_HelpPopup_reportPhishingErrortoolmenu");
|
|
|
|
is(reportMenu.hidden, false, "Report phishing menu should be visible on normal sites");
|
|
|
|
is(errorMenu.hidden, true, "Report error menu item should be hidden on normal sites");
|
|
|
|
menu.hidePopup();
|
|
|
|
|
|
|
|
// Now launch the phishing test. Can't use onload here because error pages don't
|
|
|
|
// fire normal load events.
|
2009-09-16 03:21:19 -07:00
|
|
|
content.location = "http://www.mozilla.com/firefox/its-a-trap.html";
|
2010-03-13 08:55:44 -08:00
|
|
|
setTimeout(testPhishing, 2000);
|
2008-08-19 21:11:39 -07:00
|
|
|
}
|
|
|
|
|
|
|
|
function testPhishing() {
|
|
|
|
menu.addEventListener("popupshown", testPhishing_PopupListener, false);
|
|
|
|
menu.openPopup(null, "", 0, 0, false, null);
|
|
|
|
}
|
|
|
|
|
|
|
|
function testPhishing_PopupListener() {
|
|
|
|
menu.removeEventListener("popupshown", testPhishing_PopupListener, false);
|
|
|
|
|
|
|
|
var reportMenu = document.getElementById("menu_HelpPopup_reportPhishingtoolmenu");
|
|
|
|
var errorMenu = document.getElementById("menu_HelpPopup_reportPhishingErrortoolmenu");
|
|
|
|
is(reportMenu.hidden, true, "Report phishing menu should be hidden on phishing sites");
|
|
|
|
is(errorMenu.hidden, false, "Report error menu item should be visible on phishing sites");
|
|
|
|
menu.hidePopup();
|
|
|
|
|
|
|
|
gBrowser.removeCurrentTab();
|
|
|
|
finish();
|
|
|
|
}
|