Index: content/test/data/gpu/gpu_process_crash.html |
diff --git a/content/test/data/gpu/gpu_process_crash.html b/content/test/data/gpu/gpu_process_crash.html |
new file mode 100644 |
index 0000000000000000000000000000000000000000..a53e55c26cdf0f37bc630c695842eb3d0c44e434 |
--- /dev/null |
+++ b/content/test/data/gpu/gpu_process_crash.html |
@@ -0,0 +1,52 @@ |
+<html> |
+<head> |
+<script type="text/javascript"> |
+function onLoad() { |
+ window.domAutomationController.reset = function() { |
+ window.domAutomationController._loaded = false; |
+ window.domAutomationController._succeeded = false; |
+ window.domAutomationController._finished = false; |
+ window.requestAnimationFrame(draw); |
+ }; |
+ window.domAutomationController.send("LOADED"); |
+} |
+ |
+function draw() { |
+ // Render some WebGL into a fresh canvas to ensure the GPU process |
+ // was created. |
+ var canvas = document.createElement("canvas"); |
+ canvas.width = 32; |
+ canvas.height = 32; |
+ gl = canvas.getContext("webgl"); |
+ if (!gl) { |
+ console.log("Failed to fetch WebGL context"); |
+ window.domAutomationController.send("FAILED"); |
+ return; |
+ } |
+ |
+ gl.clearColor(1, 0, 0, 1); |
+ gl.clear(gl.COLOR_BUFFER_BIT); |
+ var pixels = new Uint8Array(4); |
+ gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels); |
+ var tolerance = 1; |
+ if (Math.abs(pixels[0] - 255) > tolerance || |
+ Math.abs(pixels[1] - 0) > tolerance || |
+ Math.abs(pixels[2] - 0) > tolerance || |
+ Math.abs(pixels[3] - 255) > tolerance) { |
+ console.log("Expected (255, 0, 0, 255), got (" + |
+ pixels[0] + ", " + |
+ pixels[1] + ", " + |
+ pixels[2] + ", " + |
+ pixels[3] + ")"); |
+ window.domAutomationController.send("FAILED"); |
+ return; |
+ } |
+ |
+ window.domAutomationController.send("SUCCESS"); |
+} |
+</script> |
+</head> |
+<body onload="onLoad()"> |
+GPU process crash test running. |
+</body> |
+</html> |