Make WebGL context current early to check validity
authorjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Feb 2012 20:39:37 +0000 (20:39 +0000)
committerjamesr@google.com <jamesr@google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 8 Feb 2012 20:39:37 +0000 (20:39 +0000)
https://bugs.webkit.org/show_bug.cgi?id=78141

Patch by Antoine Labour <piman@chromium.org> on 2012-02-08
Reviewed by James Robinson.

Covered by existing tests

* html/canvas/WebGLRenderingContext.cpp:
(WebCore):
(WebCore::WebGLRenderingContext::create):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@107121 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Source/WebCore/ChangeLog
Source/WebCore/html/canvas/WebGLRenderingContext.cpp

index 377a5e6..1f3e21e 100644 (file)
@@ -1,3 +1,16 @@
+2012-02-08  Antoine Labour  <piman@chromium.org>
+
+        Make WebGL context current early to check validity
+        https://bugs.webkit.org/show_bug.cgi?id=78141
+
+        Reviewed by James Robinson.
+
+        Covered by existing tests
+
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore):
+        (WebCore::WebGLRenderingContext::create):
+
 2012-02-08  Jonathan Backer  <backer@chromium.org>
 
         [chromium] Disable root layer clears on release builds.
index 6f15136..9a5a295 100644 (file)
@@ -405,7 +405,7 @@ PassOwnPtr<WebGLRenderingContext> WebGLRenderingContext::create(HTMLCanvasElemen
 
     RefPtr<GraphicsContext3D> context(GraphicsContext3D::create(attributes, hostWindow));
 
-    if (!context) {
+    if (!context || !context->makeContextCurrent()) {
         canvas->dispatchEvent(WebGLContextEvent::create(eventNames().webglcontextcreationerrorEvent, false, true, "Could not create a WebGL context."));
         return nullptr;
     }