Index: third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html |
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html |
deleted file mode 100644 |
index 906ea435f0c828265833c7d69c48d7bb8e094dc9..0000000000000000000000000000000000000000 |
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html |
+++ /dev/null |
@@ -1,207 +0,0 @@ |
-<!DOCTYPE html> |
-<html> |
-<head> |
-<script src="../../../resources/js-test.js"></script> |
-<script src="resources/webgl-test.js"></script> |
-<script src="resources/webgl-test-utils.js"></script> |
-<script> |
-if (window.internals) |
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false); |
- |
-var wtu = WebGLTestUtils; |
-var canvas; |
-var gl; |
-var shouldGenerateGLError; |
-var extension; |
-var bufferObjects; |
-var program; |
-var texture; |
-var texColor = [255, 10, 20, 255]; |
-var allowRestore; |
-var contextLostEventFired; |
-var contextRestoredEventFired; |
- |
-function init() |
-{ |
- if (window.initNonKhronosFramework) { |
- window.initNonKhronosFramework(true); |
- } |
- |
- description("Tests behavior under a restored context."); |
- |
- shouldGenerateGLError = wtu.shouldGenerateGLError; |
- testLosingContext(); |
-} |
- |
-function setupTest() |
-{ |
- canvas = document.createElement("canvas"); |
- canvas.width = 1; |
- canvas.height = 1; |
- gl = wtu.create3DContext(canvas); |
- extension = gl.getExtension("WEBGL_lose_context"); |
- if (!extension) { |
- debug("Could not find lose_context extension under the following names: WEBGL_lose_context"); |
- return false; |
- } |
- return true; |
-} |
- |
-function testLosingContext() |
-{ |
- if (!setupTest()) |
- finishTest(); |
- |
- debug("Test losing a context and inability to restore it."); |
- |
- canvas.addEventListener("webglcontextlost", function(e) { |
- testLostContext(e); |
- // restore the context after this event has exited. |
- setTimeout(function() { |
- // we didn't call prevent default so we should not be able to restore the context |
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "extension.restoreContext()"); |
- testLosingAndRestoringContext(); |
- }, 0); |
- }); |
- canvas.addEventListener("webglcontextrestored", testShouldNotRestoreContext); |
- allowRestore = false; |
- contextLostEventFired = false; |
- contextRestoredEventFired = false; |
- |
- testOriginalContext(); |
- extension.loseContext(); |
- // The context should be lost immediately. |
- shouldBeTrue("gl.isContextLost()"); |
- shouldBe("gl.getError()", "gl.CONTEXT_LOST_WEBGL"); |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
- // gl methods should be no-ops |
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP)"); |
- // but the event should not have been fired. |
- shouldBeFalse("contextLostEventFired"); |
-} |
- |
-function testLosingAndRestoringContext() |
-{ |
- if (!setupTest()) |
- finishTest(); |
- |
- debug(""); |
- debug("Test losing and restoring a context."); |
- |
- canvas.addEventListener("webglcontextlost", function(e) { |
- testLostContext(e); |
- // restore the context after this event has exited. |
- setTimeout(function() { |
- shouldGenerateGLError(gl, gl.NO_ERROR, "extension.restoreContext()"); |
- // The context should still be lost. It will not get restored until the |
- // webglrestorecontext event is fired. |
- shouldBeTrue("gl.isContextLost()"); |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
- // gl methods should still be no-ops |
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP)"); |
- }, 0); |
- }); |
- canvas.addEventListener("webglcontextrestored", function() { |
- testRestoredContext(); |
- finishTest(); |
- }); |
- allowRestore = true; |
- contextLostEventFired = false; |
- contextRestoredEventFired = false; |
- |
- testOriginalContext(); |
- extension.loseContext(); |
- // The context should be lost immediately. |
- shouldBeTrue("gl.isContextLost()"); |
- shouldBe("gl.getError()", "gl.CONTEXT_LOST_WEBGL"); |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
- // gl methods should be no-ops |
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP)"); |
- // but the event should not have been fired. |
- shouldBeFalse("contextLostEventFired"); |
-} |
- |
-function testRendering() |
-{ |
- gl.clearColor(0, 0, 0, 255); |
- gl.colorMask(1, 1, 1, 0); |
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT); |
- |
- program = wtu.setupSimpleTextureProgram(gl); |
- bufferObjects = wtu.setupUnitQuad(gl); |
- texture = wtu.createColoredTexture(gl, canvas.width, canvas.height, texColor); |
- |
- gl.uniform1i(gl.getUniformLocation(program, "tex"), 0); |
- wtu.drawQuad(gl, [0, 0, 0, 255]); |
- |
- var compare = texColor.slice(0, 3); |
- wtu.checkCanvasRect(gl, 0, 0, canvas.width, canvas.height, compare, "shouldBe " + compare); |
- |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
-} |
- |
-function testOriginalContext() |
-{ |
- debug("Test valid context"); |
- shouldBeFalse("gl.isContextLost()"); |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
- testRendering(); |
- debug(""); |
-} |
- |
-function testLostContext(e) |
-{ |
- debug("Test lost context"); |
- shouldBeFalse("contextLostEventFired"); |
- contextLostEventFired = true; |
- shouldBeTrue("gl.isContextLost()"); |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
- debug(""); |
- if (allowRestore) |
- e.preventDefault(); |
-} |
- |
-function testShouldNotRestoreContext(e) |
-{ |
- testFailed("Should not restore the context unless preventDefault is called on the context lost event"); |
- debug(""); |
-} |
- |
-function testResources(expected) |
-{ |
- var tests = [ |
- "gl.bindTexture(gl.TEXTURE_2D, texture)", |
- "gl.useProgram(program)", |
- "gl.bindBuffer(gl.ARRAY_BUFFER, bufferObjects[0])", |
- ]; |
- |
- for (var i = 0; i < tests.length; ++i) |
- shouldGenerateGLError(gl, expected, tests[i]); |
-} |
- |
-function testRestoredContext() |
-{ |
- debug("Test restored context"); |
- shouldBeFalse("contextRestoredEventFired"); |
- contextRestoredEventFired = true; |
- shouldBeFalse("gl.isContextLost()"); |
- shouldBe("gl.getError()", "gl.NO_ERROR"); |
- |
- // Validate that using old resources fails. |
- testResources(gl.INVALID_OPERATION); |
- |
- testRendering(); |
- |
- // Validate new resources created in testRendering(). |
- testResources(gl.NO_ERROR); |
- debug(""); |
-} |
- |
- |
-</script> |
-</head> |
-<body onload="init()"> |
-<div id="description"></div> |
-<div id="console"></div> |
-</body> |
-</html> |