Index: LayoutTests/compositing/webgl/webgl-error-response.html |
diff --git a/LayoutTests/compositing/webgl/webgl-error-response.html b/LayoutTests/compositing/webgl/webgl-error-response.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..1fe362f8fe5fca711e8dc0ff488995ff2c716b55 |
--- /dev/null |
+++ b/LayoutTests/compositing/webgl/webgl-error-response.html |
@@ -0,0 +1,41 @@ |
+<!-- This is a test for crbug.com/412440, tests meaningful information in |
+WebGL context creation error message. --> |
Ken Russell (switch to Gerrit)
2014/11/12 22:13:22
Could you please put this test in fast/canvas/webg
sivag
2014/11/14 12:20:50
Done.
|
+<script src="../../resources/js-test.js"></script> |
+<canvas id="webgl-canvas" width="200" height="200" class="nomargin"></canvas> |
+<script> |
+function main() |
+{ |
+ if (!window.testRunner) { |
+ testFailed("Requires window.testRunner"); |
+ } else { |
+ initTest(); |
+ } |
+} |
+ |
+function initTest() { |
+ var canvas = document.getElementById("webgl-canvas"); |
+ testRunner.forceNextWebGLContextCreationToFail(); |
+ if (canvas.addEventListener) { |
Ken Russell (switch to Gerrit)
2014/11/12 22:13:22
addEventListener will always be available. Testing
sivag
2014/11/14 12:20:50
Done.
|
+ canvas.addEventListener("webglcontextcreationerror", onContextCreationError, false); |
+ } |
+ var gl = canvas.getContext("webgl"); |
+} |
+ |
+function onContextCreationError(e) { |
+ var vendorInfoStr = "VendorInfo = "; |
+ var renderInfoStr = "RendererInfo = "; |
+ var driverInfoStr = "DriverInfo = "; |
+ var stringIndex = e.statusMessage.search(vendorInfoStr) + vendorInfoStr.length; |
+ var vendorInfo = e.statusMessage.substring(stringIndex, e.statusMessage.search(renderInfoStr) - 2); |
+ stringIndex = e.statusMessage.search(renderInfoStr) + renderInfoStr.length; |
+ var rendererInfo = e.statusMessage.substring(stringIndex, e.statusMessage.search(driverInfoStr) - 2 ); |
+ stringIndex = e.statusMessage.search(driverInfoStr) + driverInfoStr.length; |
+ var driverInfo = e.statusMessage.substring(stringIndex, e.statusMessage.length - 1); |
+ if(vendorInfo.length > 0 && rendererInfo.length > 0 && driverInfo.length > 0) |
+ testPassed("GPU info fetched for webglcontextcreationerror"); |
+ else |
+ testFailed("Context creation error test failed"); |
+ testRunner.dumpAsText(); |
Ken Russell (switch to Gerrit)
2014/11/12 22:13:22
This dumpAsText() call should go into initTest() f
sivag
2014/11/14 12:20:50
Done.
|
+} |
+main(); |
+</script> |