OLD | NEW |
---|---|
(Empty) | |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | |
2 // Use of this source code is governed by a BSD-style license that can be | |
3 // found in the LICENSE file. | |
4 | |
5 // Add event listeners after the NaCl module has loaded. These listeners will | |
6 // forward messages to the NaCl module via postMessage() | |
7 function moduleDidLoad() { | |
binji
2013/05/24 21:47:55
we usually use attachListeners() for this. See the
nfullagar1
2013/05/28 23:11:50
Done.
| |
8 document.getElementById("benchmark").addEventListener("click", | |
binji
2013/05/24 21:47:55
single quotes for strings
nfullagar1
2013/05/28 23:11:50
Done.
| |
9 function() { | |
10 common.naclModule.postMessage("run benchmark"); | |
11 alert("Please wait while running benchmark.") | |
binji
2013/05/24 21:47:55
alert() doesn't work in packaged apps.
nfullagar1
2013/05/28 23:11:50
Ok, changed to update Status: while benchmarking
| |
12 }, false); | |
binji
2013/05/24 21:47:55
", false" shouldn't be needed. We don't need to ca
nfullagar1
2013/05/28 23:11:50
Done.
| |
13 document.getElementById("draw_points").addEventListener("click", | |
binji
2013/05/24 21:47:55
we use camelCase for ids
nfullagar1
2013/05/28 23:11:50
Done.
| |
14 function() { | |
15 var checked = document.getElementById("draw_points").checked; | |
16 if (checked) | |
17 common.naclModule.postMessage("with points"); | |
18 else | |
19 common.naclModule.postMessage("without points"); | |
20 }, false); | |
21 document.getElementById("draw_interiors").addEventListener("click", | |
22 function() { | |
23 var checked = document.getElementById("draw_interiors").checked; | |
24 if (checked) | |
25 common.naclModule.postMessage("with interiors"); | |
26 else | |
27 common.naclModule.postMessage("without interiors"); | |
28 }, false); | |
29 document.getElementById("one").addEventListener("click", | |
binji
2013/05/24 21:47:55
this could probably be made a lot more obvious by
nfullagar1
2013/05/28 23:11:50
Done.
| |
30 function() { | |
31 common.naclModule.postMessage("threads: 1"); | |
32 }, false); | |
33 document.getElementById("two").addEventListener("click", | |
34 function() { | |
35 common.naclModule.postMessage("threads: 2"); | |
36 }, false); | |
37 document.getElementById("four").addEventListener("click", | |
38 function() { | |
39 common.naclModule.postMessage("threads: 4"); | |
40 }, false); | |
41 document.getElementById("six").addEventListener("click", | |
42 function() { | |
43 common.naclModule.postMessage("threads: 6"); | |
44 }, false); | |
45 document.getElementById("eight").addEventListener("click", | |
46 function() { | |
47 common.naclModule.postMessage("threads: 8"); | |
48 }, false); | |
49 document.getElementById("twelve").addEventListener("click", | |
50 function() { | |
51 common.naclModule.postMessage("threads: 12"); | |
52 }, false); | |
53 document.getElementById("sixteen").addEventListener("click", | |
54 function() { | |
55 common.naclModule.postMessage("threads: 16"); | |
56 }, false); | |
57 document.getElementById("twentyfour").addEventListener("click", | |
58 function() { | |
59 common.naclModule.postMessage("threads: 24"); | |
60 }, false); | |
61 document.getElementById("thirtytwo").addEventListener("click", | |
62 function() { | |
63 common.naclModule.postMessage("threads: 32"); | |
64 }, false); | |
65 | |
66 document.getElementById("point_range").addEventListener("change", | |
67 function() { | |
68 var value = document.getElementById("point_range").value; | |
69 common.naclModule.postMessage("points: " + value); | |
70 document.getElementById("point_count").textContent = value + " points"; | |
71 }, false); | |
72 } | |
73 | |
74 // Handle a message coming from the NaCl module. | |
75 // In the Voronoi example, the only message will be the benchmark result. | |
76 function handleMessage(message_event) { | |
77 var x = Math.round(message_event.data * 1000) / 1000; | |
binji
2013/05/24 21:47:55
You can just use parseFloat(message_event.data) to
nfullagar1
2013/05/28 23:11:50
This arrives as a float, and we're rounding to 3 d
binji
2013/05/28 23:37:50
Seems to from my tests in the Chrome console:
(3.0
nfullagar1
2013/05/29 01:19:53
I should have said toFixed doesn't round 'as expec
| |
78 document.getElementById("result").textContent = | |
79 "Result: " + x.toFixed(3) + " seconds"; | |
80 } | |
81 | |
OLD | NEW |