Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(23)

Side by Side Diff: LayoutTests/fast/canvas/webgl/canvas-to-data-url.html

Issue 749653002: WebGL: clarify which Front or Back buffer is used by each API. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Address nits Created 6 years ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 <!DOCTYPE html>
2 <html>
3 <body>
4 <canvas id="preserve-canvas3d" width="10" height="10"></canvas>
5 <canvas id="nonpreserve-canvas3d" width="10" height="10"></canvas>
6 <script src="../../../resources/js-test.js"></script>
7 <script>
8 if (window.testRunner) {
9 testRunner.dumpAsText();
10 testRunner.waitUntilDone();
11 }
12
13 var preserve_canvas3D;
14 var nonpreserve_canvas3D;
15
16 function renderWebGL(gl) {
17 gl.clearColor(0.5, 1, 0.3, 0.1);
18 gl.clear(gl.COLOR_BUFFER_BIT);
19 }
20
21 function asyncTest() {
22 debug("Check if back buffer (toDataURL) is equal to front buffer (getImageSo urceURL) one frame after drawing webgl contents.")
23 debug("1) when drawingBuffer is preserved.")
24 shouldBeTrue("preserve_canvas3D.toDataURL('image/png') == window.internals.g etImageSourceURL(preserve_canvas3D)");
25 debug("2) when drawingBuffer is not preserved. They must be different.")
26 shouldBeTrue("nonpreserve_canvas3D.toDataURL('image/png') != window.internal s.getImageSourceURL(nonpreserve_canvas3D)");
27 if (window.testRunner)
28 testRunner.notifyDone();
29 }
30
31 function startTestAfterFirstPaint() {
32 preserve_canvas3D = document.getElementById('preserve-canvas3d');
33 var preserve_gl = preserve_canvas3D.getContext('webgl', {preserveDrawingBuff er: true, premultipliedAlpha: false});
34 nonpreserve_canvas3D = document.getElementById('nonpreserve-canvas3d');
35 var nonpreserve_gl = nonpreserve_canvas3D.getContext('webgl', {preserveDrawi ngBuffer: false, premultipliedAlpha: false});
36
37 // prepare webgl contents.
38 renderWebGL(preserve_gl);
39 renderWebGL(nonpreserve_gl);
40
41 debug("Check if back buffer (toDataURL) is equal to front buffer (getImageSo urceURL)")
42 debug("1) when drawingBuffer is preserved.")
43 shouldBeTrue("preserve_canvas3D.toDataURL('image/png') == window.internals.g etImageSourceURL(preserve_canvas3D)");
44 debug("2) when drawingBuffer is not preserved.")
45 shouldBeTrue("nonpreserve_canvas3D.toDataURL('image/png') == window.internal s.getImageSourceURL(nonpreserve_canvas3D)");
46
47 if (window.testRunner) {
48 testRunner.waitUntilDone();
49 testRunner.displayAsyncThen(asyncTest);
50 } else {
51 window.requestAnimationFrame(asyncTest);
52 }
53 }
54
55 window.onload = function () {
56 window.requestAnimationFrame(startTestAfterFirstPaint);
57 }
58 </script>
59 </body>
60 </html>
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698