Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / third_party / webgl / src / sdk / tests / conformance / canvas / buffer-preserve-test.html
index 657c175..bd06175 100644 (file)
@@ -37,75 +37,51 @@ body {
     height: 3000px;
 }
 </style>
+</head>
+<body>
+<!-- Important to put the canvas at the top so that it's always visible even in the test suite runner.
+     Otherwise it just doesn't get composited in Firefox. -->
+<canvas width="20" height="20" style="border: 1px solid blue;" id="c"></canvas>
+<div id="description"></div>
+<div id="console"></div>
 <script type="text/javascript">
+"use strict";
 
-var iter = 0;
-var gl1;
+description("This test ensures WebGL implementations correctly clear the drawing buffer " +
+            "on composite if preserveDrawingBuffer is false.");
+debug("");
 
 var wtu = WebGLTestUtils;
 
-function timer() {
-    if (iter == 0) {
-      function init(gl) {
-          gl.clearColor(1, 0, 0, 1);
-          gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT | gl.STENCIL_BUFFER_BIT);
-
-          // enable scissor here, before compositing, to make sure it's correctly
-          // ignored and restored
-          gl.scissor(0, 10, 10, 10);
-          gl.enable(gl.SCISSOR_TEST);
-      }
-      init(gl1);
-    } else if (iter == 1) {
-        // some random hacky stuff to make sure that we get a compositing step
-        window.scrollBy(0, 10);
-        window.scrollBy(0, -10);
-    } else if (iter == 2) {
-        function clear(gl) {
-            // scissor was set earlier
-            gl.clearColor(0, 0, 1, 1);
-            gl.clear(gl.COLOR_BUFFER_BIT);
+var gl = wtu.create3DContext("c");
+shouldBeTrue("gl != null");
+shouldBeTrue('gl.getContextAttributes().preserveDrawingBuffer == false');
 
-            wtu.checkCanvasRect(gl, 0, 10, 10, 10, [0, 0, 255, 255], "cleared corner should be blue, stencil should be preserved");
-            wtu.checkCanvasRect(gl, 0, 0, 10, 10, [0, 0, 0, 0], "remainder of buffer should be cleared");
-        }
-        clear(gl1);
+gl.clearColor(1, 0, 0, 1);
+gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT | gl.STENCIL_BUFFER_BIT);
 
-        finishTest();
-        return;
-    }
-
-    iter++;
-    setTimeout(timer, 500);
-}
+// enable scissor here, before compositing, to make sure it's correctly
+// ignored and restored
+gl.scissor(0, 10, 10, 10);
+gl.enable(gl.SCISSOR_TEST);
 
-function go() {
-    description("This test ensures WebGL implementations correctly clear the drawing buffer on composite if preserveDrawingBuffer is false.");
+function clear() {
+    // scissor was set earlier
+    gl.clearColor(0, 0, 1, 1);
+    gl.clear(gl.COLOR_BUFFER_BIT);
 
-    debug("");
+    wtu.checkCanvasRect(gl, 0, 10, 10, 10, [0, 0, 255, 255],
+        "cleared corner should be blue, stencil should be preserved");
+    wtu.checkCanvasRect(gl, 0, 0, 10, 10, [0, 0, 0, 0],
+        "remainder of buffer should be cleared");
 
-    gl1 = wtu.create3DContext("c");
-    if (!gl1) {
-        finishTest();
-        return;
-    }
-
-    shouldBeTrue("gl1 != null");
-    shouldBeTrue('gl1.getContextAttributes().preserveDrawingBuffer == false');
-
-    setTimeout(timer, 500);
+    finishTest();
+    return;
 }
 
-window.addEventListener("load", go, false);
+wtu.waitForComposite(clear);
 
 var successfullyParsed = true;
 </script>
-</head>
-<body>
-<!-- Important to put the canvas at the top so that it's always visible even in the test suite runner.
-     Otherwise it just doesn't get composited in Firefox. -->
-<canvas width="20" height="20" style="border: 1px solid blue;" id="c"></canvas>
-<div id="description"></div>
-<div id="console"></div>
 </body>
 </html>