summaryrefslogtreecommitdiffstats
path: root/dom/tests/mochitest/localstorage/interOriginFrame.js
blob: 64470c4ef61b109263cb46bf99df7cda83713bf0 (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
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
function postMsg(message) {
  parent.postMessage(message, "http://mochi.test:8888");
}

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;
  }

  postMsg("Invalid message");
}

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() {
  try {
    localStorage.clear();
  } catch (e) {}
  postMsg("done");
  return false;
}