1 // Copyright 2014 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 function moduleDidLoad() { 6 } 7 8 9 // Add event listeners after the NaCl module has loaded. These listeners will 10 // forward messages to the NaCl module via postMessage() 11 function attachListeners() { 12 document.getElementById('benchmark').addEventListener('click', 13 function() { 14 common.naclModule.postMessage({'message' : 'run_benchmark'}); 15 common.updateStatus('BENCHMARKING... (please wait)'); 16 }); 17 document.getElementById('simd').addEventListener('click', 18 function() { 19 var simd = document.getElementById('simd'); 20 common.naclModule.postMessage({'message' : 'set_simd', 21 'value' : simd.checked}); 22 }); 23 document.getElementById('multithread').addEventListener('click', 24 function() { 25 var multithread = document.getElementById('multithread'); 26 common.naclModule.postMessage({'message' : 'set_threading', 27 'value' : multithread.checked}); 28 }); 29 document.getElementById('large').addEventListener('click', 30 function() { 31 var large = document.getElementById('large'); 32 var nacl = document.getElementById('nacl_module'); 33 nacl.setAttribute('width', large.checked ? 1280 : 640); 34 nacl.setAttribute('height', large.checked ? 1024 : 640); 35 }); 36 } 37 38 39 // Handle a message coming from the NaCl module. 40 function handleMessage(message_event) { 41 if (message_event.data.message == 'benchmark_result') { 42 // benchmark result 43 var result = message_event.data.value; 44 console.log('Benchmark result:' + result); 45 result = (Math.round(result * 1000) / 1000).toFixed(3); 46 document.getElementById('result').textContent = 47 'Result: ' + result + ' seconds'; 48 common.updateStatus('SUCCESS'); 49 } 50 } 51 52