Only report the supported WebGL version
authorbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Oct 2018 22:25:17 +0000 (22:25 +0000)
committerbfulgham@apple.com <bfulgham@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 10 Oct 2018 22:25:17 +0000 (22:25 +0000)
https://bugs.webkit.org/show_bug.cgi?id=190434
<rdar://problem/45024677>

Reviewed by Dean Jackson.

Source/WebCore:

Tested by fast/canvas/webgl/gl-getstring.html

Revise getParameter(gl.VERSION) to only return the WebGL version without the hardware and
driver-specific details available through the low-level OpenGL driver interface. These details
are not needed for WebGL use and expose information about the user's system that we do not
need to share.

* html/canvas/WebGL2RenderingContext.cpp:
(WebCore::WebGL2RenderingContext::getParameter):
* html/canvas/WebGLRenderingContext.cpp:
(WebCore::WebGLRenderingContext::getParameter):

LayoutTests:

* fast/canvas/webgl/gl-getstring-expected.txt:
* fast/canvas/webgl/gl-getstring.html:

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

LayoutTests/ChangeLog
LayoutTests/fast/canvas/webgl/gl-getstring-expected.txt
LayoutTests/fast/canvas/webgl/gl-getstring.html
Source/WebCore/ChangeLog
Source/WebCore/html/canvas/WebGL2RenderingContext.cpp
Source/WebCore/html/canvas/WebGLRenderingContext.cpp

index ef5c66d..3a76efb 100644 (file)
@@ -1,3 +1,14 @@
+2018-10-10  Brent Fulgham  <bfulgham@apple.com>
+
+        Only report the supported WebGL version
+        https://bugs.webkit.org/show_bug.cgi?id=190434
+        <rdar://problem/45024677>
+
+        Reviewed by Dean Jackson.
+
+        * fast/canvas/webgl/gl-getstring-expected.txt:
+        * fast/canvas/webgl/gl-getstring.html:
+
 2018-10-10  Tim Horton  <timothy_horton@apple.com>
 
         Share more WKShareSheet code between macOS and iOS, and fix a few bugs
index 3b5b466..1bbafa9 100644 (file)
@@ -7,6 +7,7 @@ Canvas.getContext
 PASS context exists
 
 PASS getParameter(gl.VERSION) correctly started with WebGL 1.0
+PASS gl.getParameter(gl.VERSION) is webGLVersion
 PASS getParameter(gl.SHADING_LANGUAGE_VERSION) correctly started with WebGL GLSL ES 1.0
 PASS gl.getParameter(gl.VENDOR) is non-null.
 PASS gl.getParameter(gl.RENDERER) is non-null.
index 32c4f59..16135a8 100644 (file)
@@ -17,6 +17,8 @@ description("This test checks getParameter returns strings in the correct format
 debug("");
 debug("Canvas.getContext");
 
+var webGLVersion = "WebGL 1.0";
+
 var gl = create3DContext(document.getElementById("canvas"));
 if (!gl) {
   testFailed("context does not exist");
@@ -24,7 +26,8 @@ if (!gl) {
   testPassed("context exists");
 
   debug("");
-  checkPrefix("WebGL 1.0", "VERSION");
+  checkPrefix(webGLVersion, "VERSION");
+  shouldBe("gl.getParameter(gl.VERSION)", "webGLVersion");
   checkPrefix("WebGL GLSL ES 1.0", "SHADING_LANGUAGE_VERSION");
   shouldBeNonNull("gl.getParameter(gl.VENDOR)");
   shouldBeNonNull("gl.getParameter(gl.RENDERER)");
index ec87397..74b29f3 100644 (file)
@@ -1,3 +1,23 @@
+2018-10-10  Brent Fulgham  <bfulgham@apple.com>
+
+        Only report the supported WebGL version
+        https://bugs.webkit.org/show_bug.cgi?id=190434
+        <rdar://problem/45024677>
+
+        Reviewed by Dean Jackson.
+
+        Tested by fast/canvas/webgl/gl-getstring.html
+
+        Revise getParameter(gl.VERSION) to only return the WebGL version without the hardware and
+        driver-specific details available through the low-level OpenGL driver interface. These details
+        are not needed for WebGL use and expose information about the user's system that we do not
+        need to share.
+
+        * html/canvas/WebGL2RenderingContext.cpp:
+        (WebCore::WebGL2RenderingContext::getParameter):
+        * html/canvas/WebGLRenderingContext.cpp:
+        (WebCore::WebGLRenderingContext::getParameter):
+
 2018-10-10  Yusuke Suzuki  <yusukesuzuki@slowstart.org>
 
         Unreviewed, add missing headers for inline functions
index 0766835..48c31bc 100644 (file)
@@ -1938,7 +1938,7 @@ WebGLAny WebGL2RenderingContext::getParameter(GC3Denum pname)
     case GraphicsContext3D::VENDOR:
         return String { "WebKit"_s };
     case GraphicsContext3D::VERSION:
-        return "WebGL 2.0 (" + m_context->getString(GraphicsContext3D::VERSION) + ")";
+        return String { "WebGL 2.0" };
     case GraphicsContext3D::VIEWPORT:
         return getWebGLIntArrayParameter(pname);
     case WebGLDebugRendererInfo::UNMASKED_RENDERER_WEBGL:
index af7a77f..daab79e 100644 (file)
@@ -588,7 +588,7 @@ WebGLAny WebGLRenderingContext::getParameter(GC3Denum pname)
     case GraphicsContext3D::VENDOR:
         return String { "WebKit"_s };
     case GraphicsContext3D::VERSION:
-        return "WebGL 1.0 (" + m_context->getString(GraphicsContext3D::VERSION) + ")";
+        return String { "WebGL 1.0" };
     case GraphicsContext3D::VIEWPORT:
         return getWebGLIntArrayParameter(pname);
     case Extensions3D::FRAGMENT_SHADER_DERIVATIVE_HINT_OES: // OES_standard_derivatives