File: interOriginFrame.js

package info (click to toggle)
firefox-esr 140.5.0esr-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 4,538,920 kB
  • sloc: cpp: 7,381,527; javascript: 6,388,905; ansic: 3,710,087; python: 1,393,776; xml: 628,165; asm: 426,916; java: 184,004; sh: 65,744; makefile: 19,302; objc: 13,059; perl: 12,912; yacc: 4,583; cs: 3,846; pascal: 3,352; lex: 1,720; ruby: 1,226; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 54; csh: 10
file content (63 lines) | stat: -rw-r--r-- 1,387 bytes parent folder | download | duplicates (29)
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
let parentLocation = "";

// The first time this gets called in a page, the location of the parent
// should be passed in. This will be used as the target origin argument
// for the postMessage call for all subsequent calls to postMsg().
function postMsg(message, newParentLocation) {
  if (newParentLocation) {
    parentLocation = newParentLocation;
  } else if (parentLocation == "") {
    throw new Error("Failed to pass in newParentLocation");
  }

  parent.postMessage(message, parentLocation);
}

window.addEventListener("message", onMessageReceived);

function onMessageReceived(event) {
  if (event.data == "step") {
    var performed = false;
    try {
      performed = doStep();
    } catch (ex) {
      postMsg("FAILURE: exception threw at " + location + ":\n" + ex);
      finishTest();
    }

    if (performed) {
      postMsg("perf");
    }

    return;
  }

  if (parent) {
    postMsg(event.data);
  }
}

function ok(a, message) {
  if (!a) {
    postMsg("FAILURE: " + message);
  } else {
    postMsg(message);
  }
}

function is(a, b, message) {
  if (a != b) {
    postMsg("FAILURE: " + message + ", expected " + b + " got " + a);
  } else {
    postMsg(message + ", expected " + b + " got " + a);
  }
}

function todo(a, b, message) {
  postMsg("TODO: " + message + ", expected " + b + " got " + a);
}

function finishTest() {
  postMsg("done");
  return false;
}