summaryrefslogtreecommitdiffstats
path: root/dom/base/test/file_bug704320_preload_common.js
blob: efae9f4985b49cb4270dabe8c9505a92766bbc8b (plain)
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
// Common code for the iframes used by bug704320_preload.

var loadCount = 0;

// Called by the various onload handlers to indicate that a resource has
// been fully loaded.  We require three loads to complete (img, script,
// link) for this test.
function incrementLoad(tag) {
  loadCount++;
  if (loadCount == 3) {
    window.parent.postMessage("childLoadComplete", window.location.origin);
  } else if (loadCount > 3) {
    document.write("<h1>Too Many Load Events!</h1>");
    window.parent.postMessage("childOverload", window.location.origin);
  }
}

// This is same as incrementLoad, but the caller passes in the loadCount.
function incrementLoad2(tag, expectedLoadCount) {
  loadCount++;
  if (loadCount == expectedLoadCount) {
    window.parent.postMessage("childLoadComplete", window.location.origin);
  } else if (loadCount > expectedLoadCount) {
    document.write("<h1>Too Many Load Events!</h1>");
    window.parent.postMessage("childOverload", window.location.origin);
  }
}

// in case something fails to load, cause the test to fail.
function postfail(msg) {
  window.parent.postMessage("fail-" + msg, window.location.origin);
}