Wed, 31 Dec 2014 06:09:35 +0100
Cloned upstream origin tor-browser at tor-browser-31.3.0esr-4.5-1-build1
revision ID fc1c9ff7c1b2defdbc039f12214767608f46423f for hacking purpose.
1 /* Check for the correct behaviour of the report web forgery/not a web forgery
2 menu items.
4 Mac makes this astonishingly painful to test since their help menu is special magic,
5 but we can at least test it on the other platforms.*/
6 var menu;
8 function test() {
9 waitForExplicitFinish();
11 gBrowser.selectedTab = gBrowser.addTab();
13 // Navigate to a normal site
14 gBrowser.addEventListener("DOMContentLoaded", testNormal, false);
15 content.location = "http://example.com/";
16 }
18 function testNormal() {
19 gBrowser.removeEventListener("DOMContentLoaded", testNormal, false);
21 // open the menu, to force it to update
22 menu = document.getElementById("menu_HelpPopup");
23 ok(menu, "Help menu should exist!");
25 menu.addEventListener("popupshown", testNormal_PopupListener, false);
26 menu.openPopup(null, "", 0, 0, false, null);
27 }
29 function testNormal_PopupListener() {
30 menu.removeEventListener("popupshown", testNormal_PopupListener, false);
32 var reportMenu = document.getElementById("menu_HelpPopup_reportPhishingtoolmenu");
33 var errorMenu = document.getElementById("menu_HelpPopup_reportPhishingErrortoolmenu");
34 is(reportMenu.hidden, false, "Report phishing menu should be visible on normal sites");
35 is(errorMenu.hidden, true, "Report error menu item should be hidden on normal sites");
36 menu.hidePopup();
38 // Now launch the phishing test. Can't use onload here because error pages don't
39 // fire normal load events.
40 window.addEventListener("DOMContentLoaded", testPhishing, true);
41 content.location = "http://www.itisatrap.org/firefox/its-a-trap.html";
42 }
44 function testPhishing() {
45 window.removeEventListener("DOMContentLoaded", testPhishing, true);
47 menu.addEventListener("popupshown", testPhishing_PopupListener, false);
48 menu.openPopup(null, "", 0, 0, false, null);
49 }
51 function testPhishing_PopupListener() {
52 menu.removeEventListener("popupshown", testPhishing_PopupListener, false);
54 var reportMenu = document.getElementById("menu_HelpPopup_reportPhishingtoolmenu");
55 var errorMenu = document.getElementById("menu_HelpPopup_reportPhishingErrortoolmenu");
56 is(reportMenu.hidden, true, "Report phishing menu should be hidden on phishing sites");
57 is(errorMenu.hidden, false, "Report error menu item should be visible on phishing sites");
58 menu.hidePopup();
60 gBrowser.removeCurrentTab();
61 finish();
62 }