Title: [145334] trunk/Source/WebCore
Revision
145334
Author
commit-qu...@webkit.org
Date
2013-03-10 15:37:37 -0700 (Sun, 10 Mar 2013)

Log Message

Conformance Test 1.0.3 (Beta) function: bufferData undefined value failed.
https://bugs.webkit.org/show_bug.cgi?id=111641

Patch by Jason Anderssen <janders...@gmail.com> on 2013-03-10
Reviewed by Dean Jackson.

The WebGL specification requires that a size of 0 is not valid. In _javascript_, passing in undefined
as a parameter to a long long is the same as passing in 0, so we must check for this incorrect
value and fail.
The test suite in Kronos 1.0.3 failed, test to verify conformance is as follows:
https://www.khronos.org/registry/webgl/sdk/tests/conformance/more/functions/bufferDataBadArgs.html.

* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::bufferData):
Synthesize error and returned if size is 0.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (145333 => 145334)


--- trunk/Source/WebCore/ChangeLog	2013-03-10 21:00:46 UTC (rev 145333)
+++ trunk/Source/WebCore/ChangeLog	2013-03-10 22:37:37 UTC (rev 145334)
@@ -1,3 +1,20 @@
+2013-03-10  Jason Anderssen  <janders...@gmail.com>
+
+        Conformance Test 1.0.3 (Beta) function: bufferData undefined value failed.
+        https://bugs.webkit.org/show_bug.cgi?id=111641
+
+        Reviewed by Dean Jackson.
+
+        The WebGL specification requires that a size of 0 is not valid. In _javascript_, passing in undefined 
+        as a parameter to a long long is the same as passing in 0, so we must check for this incorrect
+        value and fail. 
+        The test suite in Kronos 1.0.3 failed, test to verify conformance is as follows:
+        https://www.khronos.org/registry/webgl/sdk/tests/conformance/more/functions/bufferDataBadArgs.html.
+
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::bufferData):
+        Synthesize error and returned if size is 0.
+
 2013-03-10  Andreas Kling  <akl...@apple.com>
 
         SVGDocumentExtensions should use OwnPtr for pending resource maps.

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp (145333 => 145334)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp	2013-03-10 21:00:46 UTC (rev 145333)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContext.cpp	2013-03-10 22:37:37 UTC (rev 145334)
@@ -1111,6 +1111,10 @@
         synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "size < 0");
         return;
     }
+    if (!size) {
+        synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "size == 0");
+        return;
+    }
     if (!isErrorGeneratedOnOutOfBoundsAccesses()) {
         if (!buffer->associateBufferData(static_cast<GC3Dsizeiptr>(size))) {
             synthesizeGLError(GraphicsContext3D::INVALID_VALUE, "bufferData", "invalid buffer");
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to