offscreencanvas_serviceworker_inner.html (927B)
1 <!DOCTYPE HTML> 2 <html> 3 <head> 4 <title>WebGL in OffscreenCanvas</title> 5 </head> 6 <body> 7 <canvas id="c" width="64" height="64"></canvas> 8 <script> 9 function ok(expect, msg) { 10 parent.postMessage({type: "test", result: !!expect, name: msg}, "*"); 11 } 12 13 var htmlCanvas = document.getElementById("c"); 14 15 ok(htmlCanvas, "Should have HTML canvas element"); 16 17 var messageChannel = new MessageChannel(); 18 messageChannel.port1.onmessage = function(evt) { 19 parent.postMessage(evt.data, "*"); 20 } 21 22 ok(htmlCanvas.transferControlToOffscreen, "HTMLCanvasElement has transferControlToOffscreen function"); 23 24 var offscreenCanvas = htmlCanvas.transferControlToOffscreen(); 25 ok(offscreenCanvas, "Expected transferControlToOffscreen to succeed"); 26 27 navigator.serviceWorker.ready.then(function() { 28 navigator.serviceWorker.controller.postMessage({test: 'webgl', canvas: offscreenCanvas}, [offscreenCanvas, messageChannel.port2]); 29 }); 30 </script> 31 </body> 32 </html>