| <!DOCTYPE html> |
| <html> |
| <script src="../../resources/js-test.js"></script> |
| <body> |
| <script id="myWorker" type="text/worker"> |
| self.onmessage = function(e) { |
| var aCanvas = new OffscreenCanvas(50, 50); |
| try { |
| var ctx = aCanvas.getContext('2d'); |
| if (toString.call(ctx) != '[object OffscreenCanvasRenderingContext2D]') { |
| self.postMessage("aCanvas.getContext('2d') does not return [object OffscreenCanvasRenderingContext2D]"); |
| } else { |
| self.postMessage("success"); |
| } |
| } catch (e) { |
| self.postMessage(e); |
| } |
| }; |
| </script> |
| |
| <script> |
| jsTestIsAsync = true; |
| description("Tests that the 2D context of OffscreenCanvas can be constructed on a worker thread."); |
| |
| function makeWorker(script) { |
| var blob = new Blob([script]); |
| return new Worker(URL.createObjectURL(blob)); |
| } |
| |
| function handleMessageFromWorker(msg) |
| { |
| if (msg.data == "success") { |
| testPassed("getContext('2d') correctly returns [object OffscreenCanvasRenderingContext2D]."); |
| } else { |
| testFailed(msg.data); |
| } |
| finishJSTest(); |
| } |
| |
| var worker = makeWorker(document.getElementById('myWorker').textContent); |
| worker.addEventListener('message', handleMessageFromWorker); |
| worker.postMessage(""); |
| </script> |
| |
| </body> |
| </html> |