aboutsummaryrefslogtreecommitdiff
path: root/tests/hello_world_gles_shell.html
blob: 22ecee7bcf6ac3ff3d0ee45dbce3dacb93e9ffe2 (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
54
55
<html>
  <head>
    <title>Emscripten-Generated Code</title>
  <body>
    <center>
      <canvas id='canvas' width='256' height='256'></canvas>
    </center>
    <hr>
    <div id='output'></div>
    <hr>
    <script type='text/javascript'>
      /**
       * TODO: Encapsulate this part in a reusable token such as
       *       EMSCRIPTEN_ENVIRONMENT so that we can share code
       *       between the default shell and custom ones.
       */
      // connect to canvas
      var Module = {
        print: (function() {
          var element = document.getElementById('output');
          return function(text) {
            element.innerHTML += text.replace('\n', '<br>', 'g') + '<br>';
          };
        })(),
        canvas: document.getElementById('canvas')
      };

      // Test code
      function simulateKeyEvent(keyCode) {
        var event = document.createEvent("KeyboardEvent");
        event.initKeyEvent("keydown", true, true, window,
                           0, 0, 0, 0, keyCode, 0);
        document.body.dispatchEvent(event);
      }
      function reportResult(result) {
        var xhr = new XMLHttpRequest();
        xhr.open('GET', 'http://localhost:8888/report_gl_result?' + result, true);
        xhr.send();
        setTimeout(function() { window.close() }, 1000);
      }
      function doTest() {
        var firstImage = Module.canvas.toDataURL();
        simulateKeyEvent(0x25 /* DOM_VK_LEFT */);
        setTimeout(function() {
          var secondImage = Module.canvas.toDataURL();
          reportResult(firstImage != secondImage);
        }, 0);
      }
      Module.postRun = doTest;

    </script>
    {{{ SCRIPT }}}
  </body>
</html>