Title: [265523] trunk
Revision
265523
Author
commit-qu...@webkit.org
Date
2020-08-11 15:01:45 -0700 (Tue, 11 Aug 2020)

Log Message

Unreviewed, reverting r265502.
https://bugs.webkit.org/show_bug.cgi?id=215396

Needs locking to avoid flaky GC-related crashes

Reverted changeset:

"[WebGL2] expando-loss and expando-loss-2 conformance tests
are failing"
https://bugs.webkit.org/show_bug.cgi?id=214765
https://trac.webkit.org/changeset/265502

Modified Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (265522 => 265523)


--- trunk/LayoutTests/ChangeLog	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/LayoutTests/ChangeLog	2020-08-11 22:01:45 UTC (rev 265523)
@@ -1,3 +1,17 @@
+2020-08-11  Commit Queue  <commit-qu...@webkit.org>
+
+        Unreviewed, reverting r265502.
+        https://bugs.webkit.org/show_bug.cgi?id=215396
+
+        Needs locking to avoid flaky GC-related crashes
+
+        Reverted changeset:
+
+        "[WebGL2] expando-loss and expando-loss-2 conformance tests
+        are failing"
+        https://bugs.webkit.org/show_bug.cgi?id=214765
+        https://trac.webkit.org/changeset/265502
+
 2020-08-11  Hector Lopez  <hector_i_lo...@apple.com>
 
         [ macOS wk1 ] imported/w3c/web-platform-tests/css/css-logical/parsing/margin-block-inline-computed.html is a flaky failure

Modified: trunk/LayoutTests/webgl/2.0.0/conformance/misc/expando-loss-expected.txt (265522 => 265523)


--- trunk/LayoutTests/webgl/2.0.0/conformance/misc/expando-loss-expected.txt	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/LayoutTests/webgl/2.0.0/conformance/misc/expando-loss-expected.txt	2020-08-11 22:01:45 UTC (rev 265523)
@@ -1,5 +1,56 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance/misc/expando-loss.html
-[ PASS ] All tests passed
+[ 1: PASS ] getParameter(TEXTURE_BINDING_2D) returns instance that was bound.
+[ 2: FAIL ] getParameter(TEXTURE_BINDING_2D): Expect basic expando to survive despite GC.
+[ 3: FAIL ] getParameter(TEXTURE_BINDING_2D): Expect subobject expando to survive despite GC.
+[ 4: PASS ] getParameter(FRAMEBUFFER_BINDING) returns instance that was bound.
+[ 5: FAIL ] getParameter(FRAMEBUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 6: FAIL ] getParameter(FRAMEBUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 7: PASS ] getParameter(RENDERBUFFER_BINDING) returns instance that was bound.
+[ 8: FAIL ] getParameter(RENDERBUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 9: FAIL ] getParameter(RENDERBUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 10: PASS ] getParameter(ELEMENT_ARRAY_BUFFER_BINDING) returns instance that was bound.
+[ 11: FAIL ] getParameter(ELEMENT_ARRAY_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 12: FAIL ] getParameter(ELEMENT_ARRAY_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 13: PASS ] getParameter(ARRAY_BUFFER_BINDING) returns instance that was bound.
+[ 14: FAIL ] getParameter(ARRAY_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 15: FAIL ] getParameter(ARRAY_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 16: PASS ] getParameter(TEXTURE_BINDING_CUBE_MAP) returns instance that was bound.
+[ 17: FAIL ] getParameter(TEXTURE_BINDING_CUBE_MAP): Expect basic expando to survive despite GC.
+[ 18: FAIL ] getParameter(TEXTURE_BINDING_CUBE_MAP): Expect subobject expando to survive despite GC.
+[ 19: PASS ] getParameter(gl.CURRENT_PROGRAM) return instance set with useProgram
+[ 20: PASS ] Vertex shader instance found in getAttachedShaders
+[ 21: PASS ] Fragment shader instance found in getAttachedShaders
+[ 22: FAIL ] Current program: Expect basic expando to survive despite GC.
+[ 23: FAIL ] Current program: Expect subobject expando to survive despite GC.
+[ 24: PASS ] [object WebGLProgram] is an instance of WebGLProgram
+[ 25: FAIL ] Shader[0]: Expect basic expando to survive despite GC.
+[ 26: FAIL ] Shader[0]: Expect subobject expando to survive despite GC.
+[ 27: PASS ] [object WebGLShader] is an instance of WebGLShader
+[ 28: FAIL ] Shader[1]: Expect basic expando to survive despite GC.
+[ 29: FAIL ] Shader[1]: Expect subobject expando to survive despite GC.
+[ 30: PASS ] [object WebGLShader] is an instance of WebGLShader
+[ 31: PASS ] getVertexAttrib(VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) return instance set with vertexAttribPointer
+[ 32: FAIL ] Vertex Attribute Buffer: Expect basic expando to survive despite GC.
+[ 33: FAIL ] Vertex Attribute Buffer: Expect subobject expando to survive despite GC.
+[ 34: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 35: PASS ] getFramebufferAttachmentParameter(COLOR_ATTACHMENT0) returns instance set with framebufferRenderbuffer
+[ 36: PASS ] getFramebufferAttachmentParameter(DEPTH_ATTACHMENT) returns instance set with framebufferRenderbuffer
+[ 37: PASS ] getFramebufferAttachmentParameter(STENCIL_ATTACHMENT) returns instance set with framebufferRenderbuffer
+[ 38: PASS ] getFramebufferAttachmentParameter(DEPTH_STENCIL_ATTACHMENT) returns instance set with framebufferRenderbuffer
+[ 39: FAIL ] COLOR_ATTACHMENT0: Expect basic expando to survive despite GC.
+[ 40: FAIL ] COLOR_ATTACHMENT0: Expect subobject expando to survive despite GC.
+[ 41: PASS ] [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
+[ 42: FAIL ] DEPTH_ATTACHMENT: Expect basic expando to survive despite GC.
+[ 43: FAIL ] DEPTH_ATTACHMENT: Expect subobject expando to survive despite GC.
+[ 44: PASS ] [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
+[ 45: FAIL ] STENCIL_ATTACHMENT: Expect basic expando to survive despite GC.
+[ 46: FAIL ] STENCIL_ATTACHMENT: Expect subobject expando to survive despite GC.
+[ 47: PASS ] [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
+[ 48: FAIL ] DEPTH_STENCIL_ATTACHMENT: Expect basic expando to survive despite GC.
+[ 49: FAIL ] DEPTH_STENCIL_ATTACHMENT: Expect subobject expando to survive despite GC.
+[ 50: PASS ] [object WebGLRenderbuffer] is an instance of WebGLRenderbuffer
+[ 51: PASS ] successfullyParsed is true
+[ FAIL ] 28 failures reported
 

Modified: trunk/LayoutTests/webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt (265522 => 265523)


--- trunk/LayoutTests/webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/LayoutTests/webgl/2.0.0/conformance2/misc/expando-loss-2-expected.txt	2020-08-11 22:01:45 UTC (rev 265523)
@@ -1,5 +1,341 @@
 This test runs the WebGL Test listed below in an iframe and reports PASS or FAIL.
 
 Test: ../../resources/webgl_test_files/conformance2/misc/expando-loss-2.html
-[ PASS ] All tests passed
+[ 1: PASS ] getParameter(SAMPLER_BINDING) returns instance that was bound.
+[ 2: FAIL ] getParameter(SAMPLER_BINDING): Expect basic expando to survive despite GC.
+[ 3: FAIL ] getParameter(SAMPLER_BINDING): Expect subobject expando to survive despite GC.
+[ 4: PASS ] getParameter(SAMPLER_BINDING): Expect extra expando to survive despite GC.
+[ 5: PASS ] [object WebGLSampler] is an instance of WebGLSampler
+[ 6: PASS ] getParameter(TRANSFORM_FEEDBACK_BINDING) returns instance that was bound.
+[ 7: FAIL ] getParameter(TRANSFORM_FEEDBACK_BINDING): Expect basic expando to survive despite GC.
+[ 8: FAIL ] getParameter(TRANSFORM_FEEDBACK_BINDING): Expect subobject expando to survive despite GC.
+[ 9: PASS ] getParameter(TRANSFORM_FEEDBACK_BINDING): Expect extra expando to survive despite GC.
+[ 10: PASS ] [object WebGLTransformFeedback] is an instance of WebGLTransformFeedback
+[ 11: PASS ] getParameter(VERTEX_ARRAY_BINDING) returns instance that was bound.
+[ 12: FAIL ] getParameter(VERTEX_ARRAY_BINDING): Expect basic expando to survive despite GC.
+[ 13: FAIL ] getParameter(VERTEX_ARRAY_BINDING): Expect subobject expando to survive despite GC.
+[ 14: PASS ] getParameter(VERTEX_ARRAY_BINDING): Expect extra expando to survive despite GC.
+[ 15: PASS ] [object WebGLVertexArrayObject] is an instance of WebGLVertexArrayObject
+[ 16: PASS ] getParameter(TEXTURE_BINDING_3D) returns instance that was bound.
+[ 17: FAIL ] getParameter(TEXTURE_BINDING_3D): Expect basic expando to survive despite GC.
+[ 18: FAIL ] getParameter(TEXTURE_BINDING_3D): Expect subobject expando to survive despite GC.
+[ 19: PASS ] getParameter(TEXTURE_BINDING_3D): Expect extra expando to survive despite GC.
+[ 20: PASS ] [object WebGLTexture] is an instance of WebGLTexture
+[ 21: PASS ] getParameter(TEXTURE_BINDING_2D_ARRAY) returns instance that was bound.
+[ 22: FAIL ] getParameter(TEXTURE_BINDING_2D_ARRAY): Expect basic expando to survive despite GC.
+[ 23: FAIL ] getParameter(TEXTURE_BINDING_2D_ARRAY): Expect subobject expando to survive despite GC.
+[ 24: PASS ] getParameter(TEXTURE_BINDING_2D_ARRAY): Expect extra expando to survive despite GC.
+[ 25: PASS ] [object WebGLTexture] is an instance of WebGLTexture
+[ 26: PASS ] getParameter(READ_FRAMEBUFFER_BINDING) returns instance that was bound.
+[ 27: FAIL ] getParameter(READ_FRAMEBUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 28: FAIL ] getParameter(READ_FRAMEBUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 29: PASS ] getParameter(READ_FRAMEBUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 30: PASS ] [object WebGLFramebuffer] is an instance of WebGLFramebuffer
+[ 31: PASS ] getParameter(DRAW_FRAMEBUFFER_BINDING) returns instance that was bound.
+[ 32: FAIL ] getParameter(DRAW_FRAMEBUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 33: FAIL ] getParameter(DRAW_FRAMEBUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 34: PASS ] getParameter(DRAW_FRAMEBUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 35: PASS ] [object WebGLFramebuffer] is an instance of WebGLFramebuffer
+[ 36: PASS ] getParameter(COPY_READ_BUFFER_BINDING) returns instance that was bound.
+[ 37: FAIL ] getParameter(COPY_READ_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 38: FAIL ] getParameter(COPY_READ_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 39: PASS ] getParameter(COPY_READ_BUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 40: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 41: PASS ] getParameter(COPY_WRITE_BUFFER_BINDING) returns instance that was bound.
+[ 42: FAIL ] getParameter(COPY_WRITE_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 43: FAIL ] getParameter(COPY_WRITE_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 44: PASS ] getParameter(COPY_WRITE_BUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 45: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 46: PASS ] getParameter(PIXEL_PACK_BUFFER_BINDING) returns instance that was bound.
+[ 47: FAIL ] getParameter(PIXEL_PACK_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 48: FAIL ] getParameter(PIXEL_PACK_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 49: PASS ] getParameter(PIXEL_PACK_BUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 50: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 51: PASS ] getParameter(PIXEL_UNPACK_BUFFER_BINDING) returns instance that was bound.
+[ 52: FAIL ] getParameter(PIXEL_UNPACK_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 53: FAIL ] getParameter(PIXEL_UNPACK_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 54: PASS ] getParameter(PIXEL_UNPACK_BUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 55: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 56: PASS ] getParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING) returns instance that was bound.
+[ 57: FAIL ] getParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 58: FAIL ] getParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 59: PASS ] getParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 60: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 61: PASS ] getParameter(UNIFORM_BUFFER_BINDING) returns instance that was bound.
+[ 62: FAIL ] getParameter(UNIFORM_BUFFER_BINDING): Expect basic expando to survive despite GC.
+[ 63: FAIL ] getParameter(UNIFORM_BUFFER_BINDING): Expect subobject expando to survive despite GC.
+[ 64: PASS ] getParameter(UNIFORM_BUFFER_BINDING): Expect extra expando to survive despite GC.
+[ 65: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 66: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0) returns instance that was bound.
+[ 67: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1) returns instance that was bound.
+[ 68: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2) returns instance that was bound.
+[ 69: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3) returns instance that was bound.
+[ 70: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0): Expect basic expando to survive despite GC.
+[ 71: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0): Expect subobject expando to survive despite GC.
+[ 72: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 0): Expect extra expando to survive despite GC.
+[ 73: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 74: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1): Expect basic expando to survive despite GC.
+[ 75: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1): Expect subobject expando to survive despite GC.
+[ 76: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 1): Expect extra expando to survive despite GC.
+[ 77: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 78: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2): Expect basic expando to survive despite GC.
+[ 79: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2): Expect subobject expando to survive despite GC.
+[ 80: FAIL ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 2): Expect extra expando to survive despite GC.
+[ 81: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 82: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3): Expect basic expando to survive despite GC.
+[ 83: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3): Expect subobject expando to survive despite GC.
+[ 84: PASS ] getIndexedParameter(TRANSFORM_FEEDBACK_BUFFER_BINDING, 3): Expect extra expando to survive despite GC.
+[ 85: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 86: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0) returns instance that was bound.
+[ 87: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1) returns instance that was bound.
+[ 88: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2) returns instance that was bound.
+[ 89: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3) returns instance that was bound.
+[ 90: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4) returns instance that was bound.
+[ 91: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5) returns instance that was bound.
+[ 92: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6) returns instance that was bound.
+[ 93: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7) returns instance that was bound.
+[ 94: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8) returns instance that was bound.
+[ 95: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9) returns instance that was bound.
+[ 96: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10) returns instance that was bound.
+[ 97: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11) returns instance that was bound.
+[ 98: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12) returns instance that was bound.
+[ 99: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13) returns instance that was bound.
+[ 100: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14) returns instance that was bound.
+[ 101: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15) returns instance that was bound.
+[ 102: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16) returns instance that was bound.
+[ 103: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17) returns instance that was bound.
+[ 104: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18) returns instance that was bound.
+[ 105: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19) returns instance that was bound.
+[ 106: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20) returns instance that was bound.
+[ 107: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21) returns instance that was bound.
+[ 108: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22) returns instance that was bound.
+[ 109: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23) returns instance that was bound.
+[ 110: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24) returns instance that was bound.
+[ 111: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25) returns instance that was bound.
+[ 112: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26) returns instance that was bound.
+[ 113: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27) returns instance that was bound.
+[ 114: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28) returns instance that was bound.
+[ 115: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29) returns instance that was bound.
+[ 116: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30) returns instance that was bound.
+[ 117: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31) returns instance that was bound.
+[ 118: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32) returns instance that was bound.
+[ 119: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33) returns instance that was bound.
+[ 120: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34) returns instance that was bound.
+[ 121: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35) returns instance that was bound.
+[ 122: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36) returns instance that was bound.
+[ 123: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37) returns instance that was bound.
+[ 124: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38) returns instance that was bound.
+[ 125: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39) returns instance that was bound.
+[ 126: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40) returns instance that was bound.
+[ 127: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41) returns instance that was bound.
+[ 128: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42) returns instance that was bound.
+[ 129: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43) returns instance that was bound.
+[ 130: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44) returns instance that was bound.
+[ 131: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45) returns instance that was bound.
+[ 132: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46) returns instance that was bound.
+[ 133: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47) returns instance that was bound.
+[ 134: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0): Expect basic expando to survive despite GC.
+[ 135: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0): Expect subobject expando to survive despite GC.
+[ 136: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 0): Expect extra expando to survive despite GC.
+[ 137: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 138: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1): Expect basic expando to survive despite GC.
+[ 139: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1): Expect subobject expando to survive despite GC.
+[ 140: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 1): Expect extra expando to survive despite GC.
+[ 141: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 142: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2): Expect basic expando to survive despite GC.
+[ 143: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2): Expect subobject expando to survive despite GC.
+[ 144: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 2): Expect extra expando to survive despite GC.
+[ 145: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 146: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3): Expect basic expando to survive despite GC.
+[ 147: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3): Expect subobject expando to survive despite GC.
+[ 148: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 3): Expect extra expando to survive despite GC.
+[ 149: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 150: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4): Expect basic expando to survive despite GC.
+[ 151: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4): Expect subobject expando to survive despite GC.
+[ 152: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 4): Expect extra expando to survive despite GC.
+[ 153: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 154: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5): Expect basic expando to survive despite GC.
+[ 155: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5): Expect subobject expando to survive despite GC.
+[ 156: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 5): Expect extra expando to survive despite GC.
+[ 157: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 158: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6): Expect basic expando to survive despite GC.
+[ 159: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6): Expect subobject expando to survive despite GC.
+[ 160: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 6): Expect extra expando to survive despite GC.
+[ 161: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 162: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7): Expect basic expando to survive despite GC.
+[ 163: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7): Expect subobject expando to survive despite GC.
+[ 164: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 7): Expect extra expando to survive despite GC.
+[ 165: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 166: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8): Expect basic expando to survive despite GC.
+[ 167: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8): Expect subobject expando to survive despite GC.
+[ 168: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 8): Expect extra expando to survive despite GC.
+[ 169: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 170: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9): Expect basic expando to survive despite GC.
+[ 171: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9): Expect subobject expando to survive despite GC.
+[ 172: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 9): Expect extra expando to survive despite GC.
+[ 173: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 174: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10): Expect basic expando to survive despite GC.
+[ 175: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10): Expect subobject expando to survive despite GC.
+[ 176: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 10): Expect extra expando to survive despite GC.
+[ 177: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 178: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11): Expect basic expando to survive despite GC.
+[ 179: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11): Expect subobject expando to survive despite GC.
+[ 180: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 11): Expect extra expando to survive despite GC.
+[ 181: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 182: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12): Expect basic expando to survive despite GC.
+[ 183: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12): Expect subobject expando to survive despite GC.
+[ 184: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 12): Expect extra expando to survive despite GC.
+[ 185: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 186: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13): Expect basic expando to survive despite GC.
+[ 187: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13): Expect subobject expando to survive despite GC.
+[ 188: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 13): Expect extra expando to survive despite GC.
+[ 189: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 190: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14): Expect basic expando to survive despite GC.
+[ 191: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14): Expect subobject expando to survive despite GC.
+[ 192: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 14): Expect extra expando to survive despite GC.
+[ 193: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 194: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15): Expect basic expando to survive despite GC.
+[ 195: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15): Expect subobject expando to survive despite GC.
+[ 196: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 15): Expect extra expando to survive despite GC.
+[ 197: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 198: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16): Expect basic expando to survive despite GC.
+[ 199: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16): Expect subobject expando to survive despite GC.
+[ 200: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 16): Expect extra expando to survive despite GC.
+[ 201: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 202: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17): Expect basic expando to survive despite GC.
+[ 203: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17): Expect subobject expando to survive despite GC.
+[ 204: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 17): Expect extra expando to survive despite GC.
+[ 205: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 206: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18): Expect basic expando to survive despite GC.
+[ 207: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18): Expect subobject expando to survive despite GC.
+[ 208: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 18): Expect extra expando to survive despite GC.
+[ 209: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 210: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19): Expect basic expando to survive despite GC.
+[ 211: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19): Expect subobject expando to survive despite GC.
+[ 212: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 19): Expect extra expando to survive despite GC.
+[ 213: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 214: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20): Expect basic expando to survive despite GC.
+[ 215: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20): Expect subobject expando to survive despite GC.
+[ 216: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 20): Expect extra expando to survive despite GC.
+[ 217: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 218: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21): Expect basic expando to survive despite GC.
+[ 219: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21): Expect subobject expando to survive despite GC.
+[ 220: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 21): Expect extra expando to survive despite GC.
+[ 221: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 222: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22): Expect basic expando to survive despite GC.
+[ 223: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22): Expect subobject expando to survive despite GC.
+[ 224: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 22): Expect extra expando to survive despite GC.
+[ 225: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 226: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23): Expect basic expando to survive despite GC.
+[ 227: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23): Expect subobject expando to survive despite GC.
+[ 228: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 23): Expect extra expando to survive despite GC.
+[ 229: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 230: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24): Expect basic expando to survive despite GC.
+[ 231: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24): Expect subobject expando to survive despite GC.
+[ 232: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 24): Expect extra expando to survive despite GC.
+[ 233: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 234: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25): Expect basic expando to survive despite GC.
+[ 235: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25): Expect subobject expando to survive despite GC.
+[ 236: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 25): Expect extra expando to survive despite GC.
+[ 237: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 238: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26): Expect basic expando to survive despite GC.
+[ 239: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26): Expect subobject expando to survive despite GC.
+[ 240: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 26): Expect extra expando to survive despite GC.
+[ 241: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 242: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27): Expect basic expando to survive despite GC.
+[ 243: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27): Expect subobject expando to survive despite GC.
+[ 244: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 27): Expect extra expando to survive despite GC.
+[ 245: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 246: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28): Expect basic expando to survive despite GC.
+[ 247: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28): Expect subobject expando to survive despite GC.
+[ 248: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 28): Expect extra expando to survive despite GC.
+[ 249: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 250: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29): Expect basic expando to survive despite GC.
+[ 251: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29): Expect subobject expando to survive despite GC.
+[ 252: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 29): Expect extra expando to survive despite GC.
+[ 253: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 254: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30): Expect basic expando to survive despite GC.
+[ 255: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30): Expect subobject expando to survive despite GC.
+[ 256: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 30): Expect extra expando to survive despite GC.
+[ 257: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 258: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31): Expect basic expando to survive despite GC.
+[ 259: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31): Expect subobject expando to survive despite GC.
+[ 260: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 31): Expect extra expando to survive despite GC.
+[ 261: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 262: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32): Expect basic expando to survive despite GC.
+[ 263: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32): Expect subobject expando to survive despite GC.
+[ 264: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 32): Expect extra expando to survive despite GC.
+[ 265: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 266: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33): Expect basic expando to survive despite GC.
+[ 267: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33): Expect subobject expando to survive despite GC.
+[ 268: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 33): Expect extra expando to survive despite GC.
+[ 269: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 270: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34): Expect basic expando to survive despite GC.
+[ 271: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34): Expect subobject expando to survive despite GC.
+[ 272: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 34): Expect extra expando to survive despite GC.
+[ 273: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 274: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35): Expect basic expando to survive despite GC.
+[ 275: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35): Expect subobject expando to survive despite GC.
+[ 276: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 35): Expect extra expando to survive despite GC.
+[ 277: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 278: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36): Expect basic expando to survive despite GC.
+[ 279: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36): Expect subobject expando to survive despite GC.
+[ 280: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 36): Expect extra expando to survive despite GC.
+[ 281: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 282: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37): Expect basic expando to survive despite GC.
+[ 283: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37): Expect subobject expando to survive despite GC.
+[ 284: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 37): Expect extra expando to survive despite GC.
+[ 285: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 286: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38): Expect basic expando to survive despite GC.
+[ 287: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38): Expect subobject expando to survive despite GC.
+[ 288: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 38): Expect extra expando to survive despite GC.
+[ 289: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 290: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39): Expect basic expando to survive despite GC.
+[ 291: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39): Expect subobject expando to survive despite GC.
+[ 292: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 39): Expect extra expando to survive despite GC.
+[ 293: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 294: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40): Expect basic expando to survive despite GC.
+[ 295: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40): Expect subobject expando to survive despite GC.
+[ 296: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 40): Expect extra expando to survive despite GC.
+[ 297: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 298: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41): Expect basic expando to survive despite GC.
+[ 299: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41): Expect subobject expando to survive despite GC.
+[ 300: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 41): Expect extra expando to survive despite GC.
+[ 301: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 302: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42): Expect basic expando to survive despite GC.
+[ 303: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42): Expect subobject expando to survive despite GC.
+[ 304: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 42): Expect extra expando to survive despite GC.
+[ 305: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 306: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43): Expect basic expando to survive despite GC.
+[ 307: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43): Expect subobject expando to survive despite GC.
+[ 308: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 43): Expect extra expando to survive despite GC.
+[ 309: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 310: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44): Expect basic expando to survive despite GC.
+[ 311: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44): Expect subobject expando to survive despite GC.
+[ 312: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 44): Expect extra expando to survive despite GC.
+[ 313: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 314: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45): Expect basic expando to survive despite GC.
+[ 315: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45): Expect subobject expando to survive despite GC.
+[ 316: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 45): Expect extra expando to survive despite GC.
+[ 317: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 318: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46): Expect basic expando to survive despite GC.
+[ 319: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46): Expect subobject expando to survive despite GC.
+[ 320: FAIL ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 46): Expect extra expando to survive despite GC.
+[ 321: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 322: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47): Expect basic expando to survive despite GC.
+[ 323: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47): Expect subobject expando to survive despite GC.
+[ 324: PASS ] getIndexedParameter(UNIFORM_BUFFER_BINDING, 47): Expect extra expando to survive despite GC.
+[ 325: PASS ] [object WebGLBuffer] is an instance of WebGLBuffer
+[ 326: PASS ] CURRENT_QUERY returns instance that was bound.
+[ 327: PASS ] CURRENT_QUERY returns instance that was bound.
+[ 328: FAIL ] Query: Expect basic expando to survive despite GC.
+[ 329: FAIL ] Query: Expect subobject expando to survive despite GC.
+[ 330: PASS ] Query: Expect extra expando to survive despite GC.
+[ 331: PASS ] [object WebGLQuery] is an instance of WebGLQuery
+[ 332: FAIL ] Query: Expect basic expando to survive despite GC.
+[ 333: FAIL ] Query: Expect subobject expando to survive despite GC.
+[ 334: PASS ] Query: Expect extra expando to survive despite GC.
+[ 335: PASS ] [object WebGLQuery] is an instance of WebGLQuery
+[ 336: PASS ] successfullyParsed is true
+[ FAIL ] 180 failures reported
 

Modified: trunk/LayoutTests/webgl/2.0.0/resources/webgl_test_files/js/js-test-pre.js (265522 => 265523)


--- trunk/LayoutTests/webgl/2.0.0/resources/webgl_test_files/js/js-test-pre.js	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/LayoutTests/webgl/2.0.0/resources/webgl_test_files/js/js-test-pre.js	2020-08-11 22:01:45 UTC (rev 265523)
@@ -708,12 +708,6 @@
         return;
     }
 
-    // WebKit's MiniBrowser
-    if (window.$vm) {
-        window.$vm.gc();
-        return;
-    }
-
     function gcRec(n) {
         if (n < 1)
             return {};

Modified: trunk/Source/WebCore/ChangeLog (265522 => 265523)


--- trunk/Source/WebCore/ChangeLog	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/ChangeLog	2020-08-11 22:01:45 UTC (rev 265523)
@@ -1,3 +1,17 @@
+2020-08-11  Commit Queue  <commit-qu...@webkit.org>
+
+        Unreviewed, reverting r265502.
+        https://bugs.webkit.org/show_bug.cgi?id=215396
+
+        Needs locking to avoid flaky GC-related crashes
+
+        Reverted changeset:
+
+        "[WebGL2] expando-loss and expando-loss-2 conformance tests
+        are failing"
+        https://bugs.webkit.org/show_bug.cgi?id=214765
+        https://trac.webkit.org/changeset/265502
+
 2020-08-11  Jon Davis  <j...@apple.com>
 
         Add privacy and security keywords to feature status entries

Modified: trunk/Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp (265522 => 265523)


--- trunk/Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/bindings/js/JSWebGL2RenderingContextCustom.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -36,7 +36,6 @@
 void JSWebGL2RenderingContext::visitAdditionalChildren(SlotVisitor& visitor)
 {
     visitor.addOpaqueRoot(&wrapped());
-    wrapped().visitReferencedJSWrappers(visitor);
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp (265522 => 265523)


--- trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/bindings/js/JSWebGLRenderingContextCustom.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -36,7 +36,6 @@
 void JSWebGLRenderingContext::visitAdditionalChildren(SlotVisitor& visitor)
 {
     visitor.addOpaqueRoot(&wrapped());
-    wrapped().visitReferencedJSWrappers(visitor);
 }
 
 } // namespace WebCore

Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -66,8 +66,6 @@
 #include <_javascript_Core/GenericTypedArrayViewInlines.h>
 #include <_javascript_Core/HeapInlines.h>
 #include <_javascript_Core/JSGenericTypedArrayViewInlines.h>
-#include <_javascript_Core/SlotVisitor.h>
-#include <_javascript_Core/SlotVisitorInlines.h>
 #include <_javascript_Core/TypedArrayType.h>
 #include <wtf/IsoMallocInlines.h>
 
@@ -3012,35 +3010,6 @@
     return true;
 }
 
-void WebGL2RenderingContext::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-{
-    WebGLRenderingContextBase::visitReferencedJSWrappers(visitor);
-
-    visitor.addOpaqueRoot(m_readFramebufferBinding.get());
-    if (m_readFramebufferBinding)
-        m_readFramebufferBinding->visitReferencedJSWrappers(visitor);
-
-    visitor.addOpaqueRoot(m_boundTransformFeedback.get());
-    if (m_boundTransformFeedback)
-        m_boundTransformFeedback->visitReferencedJSWrappers(visitor);
-
-    visitor.addOpaqueRoot(m_boundCopyReadBuffer.get());
-    visitor.addOpaqueRoot(m_boundCopyWriteBuffer.get());
-    visitor.addOpaqueRoot(m_boundPixelPackBuffer.get());
-    visitor.addOpaqueRoot(m_boundPixelUnpackBuffer.get());
-    visitor.addOpaqueRoot(m_boundTransformFeedbackBuffer.get());
-    visitor.addOpaqueRoot(m_boundUniformBuffer.get());
-
-    for (auto& buffer : m_boundIndexedUniformBuffers)
-        visitor.addOpaqueRoot(buffer.get());
-
-    for (auto& entry : m_activeQueries)
-        visitor.addOpaqueRoot(entry.value.get());
-
-    for (auto& entry : m_boundSamplers)
-        visitor.addOpaqueRoot(entry.get());
-}
-
 GCGLenum WebGL2RenderingContext::baseInternalFormatFromInternalFormat(GCGLenum internalformat)
 {
     // Handles sized, unsized, and compressed internal formats.

Modified: trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGL2RenderingContext.h	2020-08-11 22:01:45 UTC (rev 265523)
@@ -261,8 +261,6 @@
 
     bool checkAndTranslateAttachments(const char* functionName, GCGLenum, Vector<GCGLenum>&);
 
-    void visitReferencedJSWrappers(JSC::SlotVisitor&) override;
-
 private:
     WebGL2RenderingContext(CanvasBase&, GraphicsContextGLAttributes);
     WebGL2RenderingContext(CanvasBase&, Ref<GraphicsContextGLOpenGL>&&, GraphicsContextGLAttributes);

Modified: trunk/Source/WebCore/html/canvas/WebGLBuffer.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLBuffer.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLBuffer.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -25,6 +25,5 @@
 
 [
     Conditional=WEBGL,
-    GenerateIsReachable=Impl
 ] interface WebGLBuffer {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLFramebuffer.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -32,8 +32,6 @@
 #include "WebGLContextGroup.h"
 #include "WebGLDrawBuffers.h"
 #include "WebGLRenderingContextBase.h"
-#include <_javascript_Core/SlotVisitor.h>
-#include <_javascript_Core/SlotVisitorInlines.h>
 
 namespace WebCore {
 
@@ -58,7 +56,6 @@
         void onDetached(GraphicsContextGLOpenGL*) override;
         void attach(GraphicsContextGLOpenGL*, GCGLenum target, GCGLenum attachment) override;
         void unattach(GraphicsContextGLOpenGL*, GCGLenum target, GCGLenum attachment) override;
-        void visitReferencedJSWrappers(JSC::SlotVisitor&) override;
 
         WebGLRenderbufferAttachment() { };
 
@@ -140,11 +137,6 @@
             context->framebufferRenderbuffer(target, attachment, GraphicsContextGL::RENDERBUFFER, 0);
     }
 
-    void WebGLRenderbufferAttachment::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-    {
-        visitor.addOpaqueRoot(m_renderbuffer.get());
-    }
-
     class WebGLTextureAttachment : public WebGLFramebuffer::WebGLAttachment {
     public:
         static Ref<WebGLFramebuffer::WebGLAttachment> create(WebGLTexture*, GCGLenum target, GCGLint level, GCGLint layer);
@@ -164,7 +156,6 @@
         void onDetached(GraphicsContextGLOpenGL*) override;
         void attach(GraphicsContextGLOpenGL*, GCGLenum target, GCGLenum attachment) override;
         void unattach(GraphicsContextGLOpenGL*, GCGLenum target, GCGLenum attachment) override;
-        void visitReferencedJSWrappers(JSC::SlotVisitor&) override;
 
         WebGLTextureAttachment() { };
 
@@ -262,11 +253,6 @@
 #endif
     }
 
-    void WebGLTextureAttachment::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-    {
-        visitor.addOpaqueRoot(m_texture.get());
-    }
-
 #if !USE(ANGLE)
     bool isAttachmentComplete(WebGLFramebuffer::WebGLAttachment* attachedObject, GCGLenum attachment, const char** reason)
     {
@@ -703,12 +689,6 @@
     return GraphicsContextGL::NONE;
 }
 
-void WebGLFramebuffer::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-{
-    for (auto& entry : m_attachments)
-        entry.value->visitReferencedJSWrappers(visitor);
-}
-
 void WebGLFramebuffer::setAttachmentInternal(GCGLenum attachment, GCGLenum texTarget, WebGLTexture* texture, GCGLint level, GCGLint layer)
 {
     removeAttachmentInternal(attachment);

Modified: trunk/Source/WebCore/html/canvas/WebGLFramebuffer.h (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLFramebuffer.h	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLFramebuffer.h	2020-08-11 22:01:45 UTC (rev 265523)
@@ -33,10 +33,6 @@
 #include <wtf/RefCounted.h>
 #include <wtf/Vector.h>
 
-namespace JSC {
-class SlotVisitor;
-}
-
 namespace WebCore {
 
 class WebGLRenderbuffer;
@@ -61,7 +57,6 @@
         virtual void onDetached(GraphicsContextGLOpenGL*) = 0;
         virtual void attach(GraphicsContextGLOpenGL*, GCGLenum target, GCGLenum attachment) = 0;
         virtual void unattach(GraphicsContextGLOpenGL*, GCGLenum target, GCGLenum attachment) = 0;
-        virtual void visitReferencedJSWrappers(JSC::SlotVisitor&) = 0;
 
     protected:
         WebGLAttachment();
@@ -110,8 +105,6 @@
 
     GCGLenum getDrawBuffer(GCGLenum);
 
-    void visitReferencedJSWrappers(JSC::SlotVisitor&);
-
 private:
     WebGLFramebuffer(WebGLRenderingContextBase&);
 

Modified: trunk/Source/WebCore/html/canvas/WebGLFramebuffer.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLFramebuffer.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLFramebuffer.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLFramebuffer {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLProgram.cpp (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLProgram.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLProgram.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -33,8 +33,6 @@
 #include "WebGLContextGroup.h"
 #include "WebGLRenderingContextBase.h"
 #include "WebGLShader.h"
-#include <_javascript_Core/SlotVisitor.h>
-#include <_javascript_Core/SlotVisitorInlines.h>
 #include <wtf/Lock.h>
 #include <wtf/NeverDestroyed.h>
 
@@ -198,12 +196,6 @@
     }
 }
 
-void WebGLProgram::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-{
-    visitor.addOpaqueRoot(m_vertexShader.get());
-    visitor.addOpaqueRoot(m_fragmentShader.get());
-}
-
 void WebGLProgram::cacheActiveAttribLocations(GraphicsContextGLOpenGL* context3d)
 {
     m_activeAttribLocations.clear();

Modified: trunk/Source/WebCore/html/canvas/WebGLProgram.h (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLProgram.h	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLProgram.h	2020-08-11 22:01:45 UTC (rev 265523)
@@ -34,10 +34,6 @@
 #include <wtf/Lock.h>
 #include <wtf/Vector.h>
 
-namespace JSC {
-class SlotVisitor;
-}
-
 namespace WebCore {
 
 class ScriptExecutionContext;
@@ -84,8 +80,6 @@
         return m_requiredTransformFeedbackBufferCount;
     }
 
-    void visitReferencedJSWrappers(JSC::SlotVisitor&);
-
 private:
     WebGLProgram(WebGLRenderingContextBase&);
 

Modified: trunk/Source/WebCore/html/canvas/WebGLProgram.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLProgram.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLProgram.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLProgram {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLQuery.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLQuery.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLQuery.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLQuery {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderbuffer.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLRenderbuffer.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderbuffer.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLRenderbuffer {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -102,8 +102,6 @@
 #include <_javascript_Core/JSCInlines.h>
 #include <_javascript_Core/ScriptCallStack.h>
 #include <_javascript_Core/ScriptCallStackFactory.h>
-#include <_javascript_Core/SlotVisitor.h>
-#include <_javascript_Core/SlotVisitorInlines.h>
 #include <_javascript_Core/TypedArrayInlines.h>
 #include <_javascript_Core/Uint32Array.h>
 #include <wtf/CheckedArithmetic.h>
@@ -7766,38 +7764,6 @@
     queueTaskToDispatchEvent(*canvas, TaskSource::WebGL, WebGLContextEvent::create(eventNames().webglcontextchangedEvent, Event::CanBubble::No, Event::IsCancelable::Yes, emptyString()));
 }
 
-void WebGLRenderingContextBase::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-{
-    visitor.addOpaqueRoot(m_boundArrayBuffer.get());
-
-    visitor.addOpaqueRoot(m_boundVertexArrayObject.get());
-    if (m_boundVertexArrayObject)
-        m_boundVertexArrayObject->visitReferencedJSWrappers(visitor);
-
-    visitor.addOpaqueRoot(m_currentProgram.get());
-    if (m_currentProgram)
-        m_currentProgram->visitReferencedJSWrappers(visitor);
-
-    visitor.addOpaqueRoot(m_framebufferBinding.get());
-    if (m_framebufferBinding)
-        m_framebufferBinding->visitReferencedJSWrappers(visitor);
-
-    visitor.addOpaqueRoot(m_renderbufferBinding.get());
-
-    for (auto& unit : m_textureUnits) {
-        visitor.addOpaqueRoot(unit.texture2DBinding.get());
-        visitor.addOpaqueRoot(unit.textureCubeMapBinding.get());
-        visitor.addOpaqueRoot(unit.texture3DBinding.get());
-        visitor.addOpaqueRoot(unit.texture2DArrayBinding.get());
-    }
-
-    // Extensions' IDL files use GenerateIsReachable=ImplWebGLRenderingContext,
-    // which checks to see whether the context is in the opaque root set (it is;
-    // it's added in JSWebGLRenderingContext / JSWebGL2RenderingContext's custom
-    // bindings code). For this reason it's unnecessary to explicitly add opaque
-    // roots for extensions.
-}
-
 void WebGLRenderingContextBase::prepareForDisplay()
 {
     if (!m_context)

Modified: trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLRenderingContextBase.h	2020-08-11 22:01:45 UTC (rev 265523)
@@ -56,10 +56,6 @@
 #include "JSDOMPromiseDeferred.h"
 #endif
 
-namespace JSC {
-class SlotVisitor;
-}
-
 namespace WebCore {
 
 class ANGLEInstancedArrays;
@@ -402,8 +398,6 @@
     void recycleContext() override;
     void dispatchContextChangedNotification() override;
 
-    virtual void visitReferencedJSWrappers(JSC::SlotVisitor&);
-
 protected:
     WebGLRenderingContextBase(CanvasBase&, WebGLContextAttributes);
     WebGLRenderingContextBase(CanvasBase&, Ref<GraphicsContextGLOpenGL>&&, WebGLContextAttributes);

Modified: trunk/Source/WebCore/html/canvas/WebGLSampler.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLSampler.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLSampler.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLSampler {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLShader.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLShader.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLShader.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLShader {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLTexture.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLTexture.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLTexture.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -24,7 +24,6 @@
  */
 
 [
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLTexture {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.cpp (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -30,8 +30,6 @@
 
 #include "WebGLContextGroup.h"
 #include "WebGLRenderingContextBase.h"
-#include <_javascript_Core/SlotVisitor.h>
-#include <_javascript_Core/SlotVisitorInlines.h>
 
 namespace WebCore {
 
@@ -88,14 +86,6 @@
     return true;
 }
 
-void WebGLTransformFeedback::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-{
-    for (auto& buffer : m_boundIndexedTransformFeedbackBuffers)
-        visitor.addOpaqueRoot(buffer.get());
-
-    visitor.addOpaqueRoot(m_program.get());
-}
-
 void WebGLTransformFeedback::unbindBuffer(WebGLBuffer& buffer)
 {
     for (auto& boundBuffer : m_boundIndexedTransformFeedbackBuffers) {

Modified: trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.h (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.h	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.h	2020-08-11 22:01:45 UTC (rev 265523)
@@ -30,10 +30,6 @@
 #include "WebGL2RenderingContext.h"
 #include "WebGLSharedObject.h"
 
-namespace JSC {
-class SlotVisitor;
-}
-
 namespace WebCore {
 
 class WebGLTransformFeedback final : public WebGLSharedObject {
@@ -65,9 +61,6 @@
     void unbindBuffer(WebGLBuffer&);
     
     bool hasEnoughBuffers(GCGLuint numRequired) const;
-
-    void visitReferencedJSWrappers(JSC::SlotVisitor&);
-
 private:
     WebGLTransformFeedback(WebGL2RenderingContext&);
 

Modified: trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLTransformFeedback.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL2,
-    EnabledAtRuntime=WebGL2,
-    GenerateIsReachable=Impl
+    EnabledAtRuntime=WebGL2
 ] interface WebGLTransformFeedback {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLVertexArrayObject.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLVertexArrayObject.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLVertexArrayObject.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -25,7 +25,6 @@
 
 [
     Conditional=WEBGL2,
-    EnabledAtRuntime=WebGL2,
-    GenerateIsReachable=Impl
+    EnabledAtRuntime=WebGL2
 ] interface WebGLVertexArrayObject {
 };

Modified: trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.cpp	2020-08-11 22:01:45 UTC (rev 265523)
@@ -29,8 +29,6 @@
 #if ENABLE(WEBGL)
 
 #include "WebGLRenderingContextBase.h"
-#include <_javascript_Core/SlotVisitor.h>
-#include <_javascript_Core/SlotVisitorInlines.h>
 
 namespace WebCore {
 
@@ -106,14 +104,7 @@
 {
     m_vertexAttribState[index].divisor = divisor;
 }
-
-void WebGLVertexArrayObjectBase::visitReferencedJSWrappers(JSC::SlotVisitor& visitor)
-{
-    visitor.addOpaqueRoot(m_boundElementArrayBuffer.get());
-    for (auto& state : m_vertexAttribState)
-        visitor.addOpaqueRoot(state.bufferBinding.get());
+    
 }
 
-}
-
 #endif // ENABLE(WEBGL)

Modified: trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectBase.h	2020-08-11 22:01:45 UTC (rev 265523)
@@ -31,10 +31,6 @@
 #include "WebGLBuffer.h"
 #include "WebGLContextObject.h"
 
-namespace JSC {
-class SlotVisitor;
-}
-
 namespace WebCore {
 
 class WebGLVertexArrayObjectBase : public WebGLContextObject {
@@ -72,8 +68,6 @@
 
     void setVertexAttribDivisor(GCGLuint index, GCGLuint divisor);
 
-    void visitReferencedJSWrappers(JSC::SlotVisitor&);
-
 protected:
     WebGLVertexArrayObjectBase(WebGLRenderingContextBase&, Type);
     void deleteObjectImpl(GraphicsContextGLOpenGL*, PlatformGLObject) override = 0;

Modified: trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.idl (265522 => 265523)


--- trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.idl	2020-08-11 21:55:16 UTC (rev 265522)
+++ trunk/Source/WebCore/html/canvas/WebGLVertexArrayObjectOES.idl	2020-08-11 22:01:45 UTC (rev 265523)
@@ -25,7 +25,6 @@
 
 [
     NoInterfaceObject,
-    Conditional=WEBGL,
-    GenerateIsReachable=Impl
+    Conditional=WEBGL
 ] interface WebGLVertexArrayObjectOES {
 };
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to