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

Unified Diff: Source/core/html/canvas/WebGLRenderingContext.cpp

Issue 703903002: [WebGL-blink] Add test function to force fail the webgl-context (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Upload layout test in seperate patch Created 6 years, 1 month 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 side-by-side diff with in-line comments
Download patch
Index: Source/core/html/canvas/WebGLRenderingContext.cpp
diff --git a/Source/core/html/canvas/WebGLRenderingContext.cpp b/Source/core/html/canvas/WebGLRenderingContext.cpp
index 3f8e375d3e7e675fdaae90f88bce60d3dcb53f31..d8085b7596d12d4ccef82b2d681e457b9bdd3335 100644
--- a/Source/core/html/canvas/WebGLRenderingContext.cpp
+++ b/Source/core/html/canvas/WebGLRenderingContext.cpp
@@ -61,6 +61,8 @@
namespace blink {
+static bool shouldFailContextCreationForTesting = false;
+
PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTMLCanvasElement* canvas, WebGLContextAttributes* attrs)
{
Document& document = canvas->document();
@@ -87,7 +89,7 @@ PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTML
blink::WebGraphicsContext3D::Attributes attributes = attrs->attributes(document.topDocument().url().string(), settings, 1);
blink::WebGLInfo glInfo;
OwnPtr<blink::WebGraphicsContext3D> context = adoptPtr(blink::Platform::current()->createOffscreenGraphicsContext3D(attributes, 0, &glInfo));
- if (!context) {
+ if (!context || shouldFailContextCreationForTesting) {
String statusMessage("Could not create a WebGL context for VendorInfo = ");
statusMessage.append(glInfo.vendorInfo);
statusMessage.append(", RendererInfo = ");
@@ -96,6 +98,7 @@ PassOwnPtrWillBeRawPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTML
statusMessage.append(glInfo.driverVersion);
statusMessage.append(".");
canvas->dispatchEvent(WebGLContextEvent::create(EventTypeNames::webglcontextcreationerror, false, true, statusMessage));
+ shouldFailContextCreationForTesting = false;
Ken Russell (switch to Gerrit) 2014/11/12 21:26:02 This should be moved up to the beginning of the bl
sivag 2014/11/13 03:40:31 Done.
return nullptr;
}
@@ -182,4 +185,9 @@ void WebGLRenderingContext::trace(Visitor* visitor)
WebGLRenderingContextBase::trace(visitor);
}
+void WebGLRenderingContext::forceNextWebGLContextCreationToFail()
+{
+ shouldFailContextCreationForTesting = true;
+}
+
} // namespace blink

Powered by Google App Engine
This is Rietveld 408576698