Source code
Revision control
Copy as Markdown
Other Tools
Test Info: Warnings
- This test has a WPT meta file that expects 1 subtest issues.
- This WPT test may be referenced by the following Test IDs:
- /html/canvas/element/manual/draw-element-image/draw-element-image-display-none.tentative.html - WPT Dashboard Interop Dashboard
<!DOCTYPE html>
<title>Canvas.drawElementImage: Throw on display: none</title>
<link rel="author" href="mailto:schenney@chromium.org">
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/html/canvas/resources/wait-for-canvas-paint.js"></script>
<style>
div {
width: 100px;
height: 100px;
background: green;
}
canvas {
background: grey;
}
.display-none {
display: none;
}
</style>
<canvas id="canvas1" width="200" height="200" layoutsubtree>
<div id="child1" class="display-none">
</div>
</canvas>
<canvas id="canvas2" class="display-none" width="200" height="200" layoutsubtree>
<div id="child2">
</div>
</canvas>
<script>
onload = () => {
promise_test(async (t) => {
await waitForCanvasPaint(canvas1);
assert_throws_dom(
"InvalidStateError",
() => canvas1.getContext("2d").drawElementImage(child1, 20, 30),
"Can't draw a display: none child.");
assert_throws_dom(
"InvalidStateError",
() => canvas2.getContext("2d").drawElementImage(child2, 20, 30),
"Can't draw into a display-none <canvas>.");
}, "Canvas drawElementImage() should throw when drawn child is not laid out.");
};
</script>