File: file_drawImage_document_domain.html

package info (click to toggle)
firefox 144.0-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,637,504 kB
  • sloc: cpp: 7,576,692; javascript: 6,430,831; ansic: 3,748,119; python: 1,398,978; xml: 628,810; asm: 438,679; java: 186,194; sh: 63,212; makefile: 19,159; objc: 13,086; perl: 12,986; yacc: 4,583; cs: 3,846; pascal: 3,448; lex: 1,720; ruby: 1,003; exp: 762; php: 436; lisp: 258; awk: 247; sql: 66; sed: 53; csh: 10
file content (31 lines) | stat: -rw-r--r-- 980 bytes parent folder | download | duplicates (14)
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>