forked from mirrors/gecko-dev
		
	
		
			
				
	
	
		
			62 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.9 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
/* Check presence of the "Ignore this warning" button */
 | 
						|
 | 
						|
/* eslint-env mozilla/frame-script */
 | 
						|
 | 
						|
function onDOMContentLoaded(callback) {
 | 
						|
  function complete({ data }) {
 | 
						|
    mm.removeMessageListener("Test:DOMContentLoaded", complete);
 | 
						|
    callback(data);
 | 
						|
  }
 | 
						|
 | 
						|
  let mm = gBrowser.selectedBrowser.messageManager;
 | 
						|
  mm.addMessageListener("Test:DOMContentLoaded", complete);
 | 
						|
 | 
						|
  function contentScript() {
 | 
						|
    let listener = function() {
 | 
						|
      removeEventListener("DOMContentLoaded", listener);
 | 
						|
 | 
						|
      let button = content.document.getElementById("ignoreWarningButton");
 | 
						|
 | 
						|
      sendAsyncMessage("Test:DOMContentLoaded", { buttonPresent: !!button });
 | 
						|
    };
 | 
						|
    addEventListener("DOMContentLoaded", listener);
 | 
						|
  }
 | 
						|
  mm.loadFrameScript("data:,(" + contentScript.toString() + ")();", true);
 | 
						|
}
 | 
						|
 | 
						|
function test() {
 | 
						|
  waitForExplicitFinish();
 | 
						|
 | 
						|
  waitForDBInit(() => {
 | 
						|
    gBrowser.selectedTab = BrowserTestUtils.addTab(gBrowser, "http://www.itisatrap.org/firefox/its-an-attack.html");
 | 
						|
    onDOMContentLoaded(testMalware);
 | 
						|
  });
 | 
						|
}
 | 
						|
 | 
						|
function testMalware(data) {
 | 
						|
  ok(data.buttonPresent, "Ignore warning button should be present for malware");
 | 
						|
 | 
						|
  Services.prefs.setBoolPref("browser.safebrowsing.allowOverride", false);
 | 
						|
 | 
						|
  // Now launch the unwanted software test
 | 
						|
  onDOMContentLoaded(testUnwanted);
 | 
						|
  gBrowser.loadURI("http://www.itisatrap.org/firefox/unwanted.html");
 | 
						|
}
 | 
						|
 | 
						|
function testUnwanted(data) {
 | 
						|
  // Confirm that "Ignore this warning" is visible - bug 422410
 | 
						|
  ok(!data.buttonPresent, "Ignore warning button should be missing for unwanted software");
 | 
						|
 | 
						|
  Services.prefs.setBoolPref("browser.safebrowsing.allowOverride", true);
 | 
						|
 | 
						|
  // Now launch the phishing test
 | 
						|
  onDOMContentLoaded(testPhishing);
 | 
						|
  gBrowser.loadURI("http://www.itisatrap.org/firefox/its-a-trap.html");
 | 
						|
}
 | 
						|
 | 
						|
function testPhishing(data) {
 | 
						|
  ok(data.buttonPresent, "Ignore warning button should be present for phishing");
 | 
						|
 | 
						|
  gBrowser.removeCurrentTab();
 | 
						|
  finish();
 | 
						|
}
 |