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