| <!DOCTYPE html> |
| <title>Worker constructor with wrong MIME type scripts</title> |
| <meta charset="utf-8"> |
| <script src="/resources/testharness.js"></script> |
| <script src="/resources/testharnessreport.js"></script> |
| |
| <script> |
| async_test(t => { |
| const worker = new Worker('./support/WorkerText.txt'); |
| worker.onmessage = t.unreached_func("Worker should not recieve messages"); |
| worker.onerror = () => t.done(); |
| }, "HTTP(S) URLs which respond with text/plain MIME type must not work"); |
| |
| async_test(t => { |
| const url = URL.createObjectURL(new Blob(['postMessage("PASS")'])); // no MIME type parameter |
| const worker = new Worker(url); |
| worker.onmessage = () => t.done(); |
| worker.onerror = t.unreached_func("Worker should not error"); |
| }, "blob: URLs should load, despite no MIME type for the backing Blob"); |
| |
| async_test(t => { |
| const url = URL.createObjectURL(new Blob(['postMessage("PASS")'], { type: 'text/plain' })); |
| const worker = new Worker(url); |
| worker.onmessage = () => t.done(); |
| worker.onerror = t.unreached_func("Worker should not error"); |
| }, "blob: URLs should load, despite the wrong MIME type for the backing Blob"); |
| |
| async_test(t => { |
| const url = `data:text/plain,postMessage("PASS");` |
| const worker = new Worker(url); |
| worker.onmessage = () => t.done(); |
| worker.onerror = t.unreached_func("Worker should not error"); |
| }, "data: URLs should load, despite the wrong MIME type"); |
| |
| </script> |