Index: LayoutTests/fast/canvas/webgl/draw-webgl-to-canvas-2d-after-to-data-url-without-context.html |
diff --git a/LayoutTests/fast/canvas/webgl/draw-webgl-to-canvas-2d-after-to-data-url-without-context.html b/LayoutTests/fast/canvas/webgl/draw-webgl-to-canvas-2d-after-to-data-url-without-context.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..359649a401a5471c5632533263d575958d561085 |
--- /dev/null |
+++ b/LayoutTests/fast/canvas/webgl/draw-webgl-to-canvas-2d-after-to-data-url-without-context.html |
@@ -0,0 +1,39 @@ |
+<!DOCTYPE html> |
+<html> |
+<body> |
+<span id="description" style="color: white"> |
+Everything is same to draw-webgl-to-canvas-2d.html except for calling |
+redundant toDataURL(). |
+Canvas spec allows to call toDataURL() without a context. Some bad things |
+can happen if we call toDataURL() without a context and then create a context |
+and then call toDataURL() again. |
+</span> |
+<canvas id="preserve-canvas3d" width="100" height="100"></canvas> |
+<canvas id="preserve-canvas2d" width="100" height="100"></canvas> |
+<canvas id="nonpreserve-canvas3d" width="100" height="100"></canvas> |
+<canvas id="nonpreserve-canvas2d" width="100" height="100"></canvas> |
+<script src="../../../resources/js-test.js"></script> |
+<script src="resources/draw-webgl-to-canvas-2d.js"></script> |
+<script> |
+function createContexts() { |
+ var preserve_canvas2d = document.getElementById("preserve-canvas2d"); |
+ preserve_canvas2d.toDataURL(); |
+ preserve_ctx2D = preserve_canvas2d.getContext("2d"); |
+ preserve_canvas2d.toDataURL(); |
+ preserve_canvas3D = document.getElementById('preserve-canvas3d'); |
+ preserve_canvas3D.toDataURL(); |
+ preserve_gl = preserve_canvas3D.getContext('webgl', {'preserveDrawingBuffer': true}); |
+ preserve_canvas3D.toDataURL(); |
+ |
+ var nonpreserve_canvas2d = document.getElementById("nonpreserve-canvas2d"); |
+ nonpreserve_canvas2d.toDataURL(); |
+ nonpreserve_ctx2D = nonpreserve_canvas2d.getContext("2d"); |
+ nonpreserve_canvas2d.toDataURL(); |
+ nonpreserve_canvas3D = document.getElementById('nonpreserve-canvas3d'); |
+ nonpreserve_canvas3D.toDataURL(); |
+ nonpreserve_gl = nonpreserve_canvas3D.getContext('webgl', {'preserveDrawingBuffer': false}); |
+ nonpreserve_canvas3D.toDataURL(); |
+} |
+</script> |
+</body> |
+</html> |