Index: native_client_sdk/src/examples/demo/life_simd/example.js |
diff --git a/native_client_sdk/src/examples/demo/life_simd/example.js b/native_client_sdk/src/examples/demo/life_simd/example.js |
new file mode 100644 |
index 0000000000000000000000000000000000000000..e71b16e059566be48d9527acba4d6b3ca0ac7ae9 |
--- /dev/null |
+++ b/native_client_sdk/src/examples/demo/life_simd/example.js |
@@ -0,0 +1,51 @@ |
+// Copyright (c) 2014 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+function moduleDidLoad() { |
+} |
+ |
+ |
+// Add event listeners after the NaCl module has loaded. These listeners will |
+// forward messages to the NaCl module via postMessage() |
+function attachListeners() { |
+ document.getElementById('benchmark').addEventListener('click', |
+ function() { |
+ common.naclModule.postMessage({'message' : 'run_benchmark'}); |
+ common.updateStatus('BENCHMARKING... (please wait)'); |
+ }); |
+ document.getElementById('simd').addEventListener('click', |
+ function() { |
+ simd = document.getElementById('simd'); |
binji
2014/08/08 00:31:40
var simd
nfullagar
2014/08/08 20:51:48
Done.
|
+ common.naclModule.postMessage({'message' : 'set_simd', |
+ 'value' : simd.checked ? 'enable' : 'disable'}); |
binji
2014/08/08 00:31:40
probably simpler to just send a bool, rather than
nfullagar
2014/08/08 20:51:47
Done.
|
+ }); |
+ document.getElementById('multithread').addEventListener('click', |
+ function() { |
+ multithread = document.getElementById('multithread'); |
+ common.naclModule.postMessage({'message' : 'set_threading', |
+ 'value' : multithread.checked ? 'enable' : 'disable'}); |
+ }); |
+ document.getElementById('large').addEventListener('click', |
+ function() { |
+ large = document.getElementById('large'); |
+ nacl = document.getElementById('nacl_module'); |
+ nacl.setAttribute('width', large.checked ? 1280 : 640); |
+ nacl.setAttribute('height', large.checked ? 1024 : 640); |
+ }); |
+} |
+ |
+ |
+// Handle a message coming from the NaCl module. |
+function handleMessage(message_event) { |
+ if (message_event.data['message'] == 'benchmark_result') { |
binji
2014/08/08 00:31:40
data.message is more conventional
nfullagar
2014/08/08 20:51:47
Done.
|
+ // benchmark result |
+ var result = message_event.data['value']; |
binji
2014/08/08 00:31:40
data.value
nfullagar
2014/08/08 20:51:48
Done.
|
+ console.log('Benchmark result:' + result); |
+ result = (Math.round(result * 1000) / 1000).toFixed(3); |
+ document.getElementById('result').textContent = |
+ 'Result: ' + result + ' seconds'; |
+ common.updateStatus('SUCCESS'); |
+ } |
+} |
+ |