summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/file_drawImage_document_domain.html
blob: a3d4360c5a317c2ff806d82143443abb311a7023 (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
<!DOCTYPE html>
  <canvas id="c" width="1" height="1"></canvas>
  <img id="img" src="image_green-1x1.png">
<script>
  window.onmessage = function(ev) {
    if (ev.data != "start") {
      parent.postMessage({ msg: "unknown_message", data: ev.data }, "*");
      return;
    }

    // Set document.domain to itself, so we trigger the
    // "set effective script origin" cases.
    // eslint-disable-next-line no-self-assign
    document.domain = document.domain
    var ctx = document.getElementById("c").getContext("2d");
    ctx.drawImage(document.getElementById("img"), 0, 0);
    try {
      var data = ctx.getImageData(0, 0, 1, 1).data;
      parent.postMessage(
        {
          msg: "color",
          data: "rgba(" + data[0] + ", " + data[1] + ", " + data[2] + ", " + data[3]/255 + ")"
        },
        "*");
    } catch (e) {
      parent.postMessage({ msg: "exception", data: e.toString() }, "*");
    }

    parent.postMessage({ msg: "done" }, "*");
  }
</script>