File: browser_bug400731.js

package info (click to toggle)
icedove 1%3A45.8.0-3~deb8u1
  • links: PTS, VCS
  • area: main
  • in suites: jessie
  • size: 1,488,584 kB
  • ctags: 1,068,813
  • sloc: cpp: 4,801,496; ansic: 1,929,291; python: 379,296; java: 252,018; xml: 173,182; asm: 146,741; sh: 89,229; makefile: 23,462; perl: 16,380; objc: 4,088; yacc: 1,841; lex: 1,222; exp: 499; php: 437; lisp: 228; awk: 152; pascal: 116; sed: 51; ruby: 47; csh: 31; ada: 16
file content (77 lines) | stat: -rw-r--r-- 2,832 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
/* Check for the intended visibility of the "Ignore this warning" text*/

function test() {
  waitForExplicitFinish();
  
  gBrowser.selectedTab = gBrowser.addTab();
  
  // Navigate to malware site.  Can't use an onload listener here since
  // error pages don't fire onload.  Also can't register the DOMContentLoaded
  // handler here because registering it too soon would mean that we might
  // get it for about:blank, and not about:blocked.
  gBrowser.addTabsProgressListener({
    onLocationChange: function(aTab, aWebProgress, aRequest, aLocation, aFlags) {
      if (aFlags & Ci.nsIWebProgressListener.LOCATION_CHANGE_ERROR_PAGE) {
        gBrowser.removeTabsProgressListener(this);
        window.addEventListener("DOMContentLoaded", testMalware, true);
      }
    }
  });
  content.location = "http://www.itisatrap.org/firefox/its-an-attack.html";
}

function testMalware(event) {
  if (event.target != gBrowser.selectedBrowser.contentDocument) {
    return;
  }

  window.removeEventListener("DOMContentLoaded", testMalware, true);

  // Confirm that "Ignore this warning" is visible - bug 422410
  var el = content.document.getElementById("ignoreWarningButton");
  ok(el, "Ignore warning button should be present for malware");
  
  var style = content.getComputedStyle(el, null);
  is(style.display, "inline-block", "Ignore Warning button should be display:inline-block for malware");

  Services.prefs.setBoolPref("browser.safebrowsing.allowOverride", false);

  // Now launch the unwanted software test
  window.addEventListener("DOMContentLoaded", testUnwanted, true);
  content.location = "http://www.itisatrap.org/firefox/unwanted.html";
}

function testUnwanted(event) {
  if (event.target != gBrowser.selectedBrowser.contentDocument) {
    return;
  }

  window.removeEventListener("DOMContentLoaded", testUnwanted, true);

  // Confirm that "Ignore this warning" is visible - bug 422410
  var el = content.document.getElementById("ignoreWarningButton");
  ok(!el, "Ignore warning button should be missing for unwanted software");

  Services.prefs.setBoolPref("browser.safebrowsing.allowOverride", true);

  // Now launch the phishing test
  window.addEventListener("DOMContentLoaded", testPhishing, true);
  content.location = "http://www.itisatrap.org/firefox/its-a-trap.html";
}

function testPhishing(event) {
  if (event.target != gBrowser.selectedBrowser.contentDocument) {
    return;
  }

  window.removeEventListener("DOMContentLoaded", testPhishing, true);
  
  var el = content.document.getElementById("ignoreWarningButton");
  ok(el, "Ignore warning button should be present for phishing");
  
  var style = content.getComputedStyle(el, null);
  is(style.display, "inline-block", "Ignore Warning button should be display:inline-block for phishing");
  
  gBrowser.removeCurrentTab();
  finish();
}