summaryrefslogtreecommitdiffstats
path: root/dom/canvas/test/offscreencanvas_serviceworker_inner.html
diff options
context:
space:
mode:
Diffstat (limited to 'dom/canvas/test/offscreencanvas_serviceworker_inner.html')
-rw-r--r--dom/canvas/test/offscreencanvas_serviceworker_inner.html32
1 files changed, 32 insertions, 0 deletions
diff --git a/dom/canvas/test/offscreencanvas_serviceworker_inner.html b/dom/canvas/test/offscreencanvas_serviceworker_inner.html
new file mode 100644
index 000000000..b153f9524
--- /dev/null
+++ b/dom/canvas/test/offscreencanvas_serviceworker_inner.html
@@ -0,0 +1,32 @@
+<!DOCTYPE HTML>
+<html>
+<head>
+<title>WebGL in OffscreenCanvas</title>
+</head>
+<body>
+<canvas id="c" width="64" height="64"></canvas>
+<script>
+function ok(expect, msg) {
+ parent.postMessage({type: "test", result: !!expect, name: msg}, "*");
+}
+
+var htmlCanvas = document.getElementById("c");
+
+ok(htmlCanvas, "Should have HTML canvas element");
+
+var messageChannel = new MessageChannel();
+messageChannel.port1.onmessage = function(evt) {
+ parent.postMessage(evt.data, "*");
+}
+
+ok(htmlCanvas.transferControlToOffscreen, "HTMLCanvasElement has transferControlToOffscreen function");
+
+var offscreenCanvas = htmlCanvas.transferControlToOffscreen();
+ok(offscreenCanvas, "Expected transferControlToOffscreen to succeed");
+
+navigator.serviceWorker.ready.then(function() {
+ navigator.serviceWorker.controller.postMessage({test: 'webgl', canvas: offscreenCanvas}, [offscreenCanvas, messageChannel.port2]);
+});
+</script>
+</body>
+</html>