16a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<!DOCTYPE html> 26a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<html> 36a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com <!-- 46a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com Copyright 2013 Google Inc. 56a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 66a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com Use of this source code is governed by a BSD-style license that can be 76a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com found in the LICENSE file. 86a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com --> 96a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<head> 106a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 116a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com <title>Skia Unit Tests</title> 126a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 136a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com <script type="text/javascript"> 146a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com "use strict"; 156a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 166a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var SkiaModule = null; // Global application object. 176a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 186a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com // Force a re-draw of the given element. 196a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com function refresh(elem) { 206a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var old_display_style = elem.style.display; 216a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com elem.style.display = "none"; 226a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com elem.style.display = old_display_style; 236a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } 246a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 256a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com // When the module loads, begin running the application. 266a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com function moduleDidLoad() { 276a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com SkiaModule = document.getElementById("skia_nacl"); 286a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com run(); 296a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } 306a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 316a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com function handleMessage(message_event) { 326a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var skdebugf_cmd = "SkDebugf:"; 336a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com if (message_event.data.indexOf(skdebugf_cmd) == 0) { 346a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var msg_contents = message_event.data.slice(skdebugf_cmd.length) 356a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com //console.log("Skia: " + msg_contents); 366a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var log_textarea = document.getElementById("log_textarea") 376a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com log_textarea.value += msg_contents; 386a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com log_textarea.scrollTop = log_textarea.scrollHeight; 396a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com refresh(log_textarea); 406a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } else { 416a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com alert(message_event.data); 426a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } 436a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } 446a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 456a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com // Run the application. 466a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com function run() { 476a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com if (SkiaModule) { 486a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var cmd = "init"; 496a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com SkiaModule.postMessage(cmd); 506a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } else { 516a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com alert("The Skia module has not properly loaded..."); 526a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } 536a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com } 546a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com </script> 556a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com</head> 566a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<body> 576a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 586a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<h1>Skia Unit Tests</h1> 596a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<p> 606a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<textarea id="log_textarea" rows="2" cols="2" readonly style="width:100%; height:500px; resize:none;"></textarea> 616a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com</p> 626a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com<p> 636a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com <div id="listener"> 646a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com <script type="text/javascript"> 656a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com var listener = document.getElementById('listener'); 666a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com listener.addEventListener('load', moduleDidLoad, true); 676a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com listener.addEventListener('message', handleMessage, true); 686a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com </script> 696a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com 706a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com <embed name="nacl_module" 716a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com id="skia_nacl" 726a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com width=0 height=0 736a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com src="tests.nmf" 746a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com type="application/x-nacl" /> 756a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com </div> 766a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com</p> 776a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com</body> 786a98b8c0b5ffe1a23902cdf7e692f702b703eaebborenet@google.com</html> 79