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