1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- <!--
- Any copyright is dedicated to the Public Domain.
- http://creativecommons.org/publicdomain/zero/1.0/
- -->
- <html>
- <head>
- <title>Test for DOM Worker Threads</title>
- <script type="text/javascript" src="/tests/SimpleTest/SimpleTest.js"></script>
- <link rel="stylesheet" type="text/css" href="/tests/SimpleTest/test.css" />
- </head>
- <body>
- <pre id="test">
- <script class="testbody" type="text/javascript">
- "use strict";
- function nextTest() {
- (function(){
- function workerfunc() {
- var subworker = new Worker("about:blank");
- subworker.onerror = function(e) {
- e.preventDefault();
- postMessage("ERROR");
- }
- }
- var b = new Blob([workerfunc+'workerfunc();']);
- var u = URL.createObjectURL(b);
- function callworker(i) {
- try {
- var w = new Worker(u);
- URL.revokeObjectURL(u);
- is(i, 0, 'worker creation succeeded');
- } catch (e) {
- is(i, 1, 'worker creation failed');
- SimpleTest.finish();
- return;
- }
- w.onmessage = function(e) {
- is(e.data, "ERROR",
- "Should catch the error when loading inner script");
- if (++i < 2) callworker(i);
- else SimpleTest.finish();
- };
- w.onerrror = function(e) {
- ok(false, "Should not get any errors from this worker");
- }
- }
- callworker(0);
- })();
- }
- try {
- var worker = new Worker("about:blank");
- worker.onerror = function(e) {
- e.preventDefault();
- nextTest();
- }
- worker.onmessage = function(event) {
- ok(false, "Shouldn't get a message!");
- SimpleTest.finish();
- }
- } catch (e) {
- ok(false, "This should not happen.");
- }
- SimpleTest.waitForExplicitFinish();
- </script>
- </pre>
- </body>
- </html>
|