summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/mediacapture-image/detached-HTMLCanvasElement.html
diff options
context:
space:
mode:
Diffstat (limited to 'testing/web-platform/tests/mediacapture-image/detached-HTMLCanvasElement.html')
-rw-r--r--testing/web-platform/tests/mediacapture-image/detached-HTMLCanvasElement.html26
1 files changed, 26 insertions, 0 deletions
diff --git a/testing/web-platform/tests/mediacapture-image/detached-HTMLCanvasElement.html b/testing/web-platform/tests/mediacapture-image/detached-HTMLCanvasElement.html
new file mode 100644
index 0000000000..e27950fc5e
--- /dev/null
+++ b/testing/web-platform/tests/mediacapture-image/detached-HTMLCanvasElement.html
@@ -0,0 +1,26 @@
+<!DOCTYPE html>
+<script src="/resources/testharness.js"></script>
+<script src="/resources/testharnessreport.js"></script>
+<body>
+<script>
+
+async_test(t => {
+ let iframe = document.createElement('iframe');
+ let html = "<canvas id='canvas' width=10 height=10 />";
+ iframe.srcdoc = html;
+ iframe.onload = t.step_func_done(() => {
+ // This detaches the frame while retaining a reference to an
+ // HTMLCanvasElement from it.
+ let canvas = iframe.contentWindow.document.getElementById('canvas');
+ document.body.removeChild(iframe);
+
+ // Creation of the ImageCapture object (as part of the MediaStreamTrack)
+ // should be safe even if the frame is detached.
+ canvas.captureStream();
+ });
+
+ document.body.appendChild(iframe);
+}, 'MediaStreamTrack can be obtained from a detached frame');
+
+</script>
+</body>