summaryrefslogtreecommitdiffstats
path: root/third_party/WebKit/LayoutTests/fast/canvas
diff options
context:
space:
mode:
authorzmo <zmo@chromium.org>2016-01-20 12:16:26 -0800
committerCommit bot <commit-bot@chromium.org>2016-01-20 20:17:36 +0000
commit72fb99ecd1a0bc0cd97bfdcfe9880e64e64f6d79 (patch)
tree8a64fa5d5f1124838a6d058bd7b5750a8393fdf0 /third_party/WebKit/LayoutTests/fast/canvas
parent9c4f74ba8afa30e31293bd291c0941397fcfe9a3 (diff)
downloadchromium_src-72fb99ecd1a0bc0cd97bfdcfe9880e64e64f6d79.zip
chromium_src-72fb99ecd1a0bc0cd97bfdcfe9880e64e64f6d79.tar.gz
chromium_src-72fb99ecd1a0bc0cd97bfdcfe9880e64e64f6d79.tar.bz2
Remove duplicated WebGL layout tests.
They are already covered in WebGL conformance tests. Note that I only remove those who have exact corresponding tests in conformance suite. BUG= TEST=layout tests R=bajones@chromium.org,kbr@chromium.org Review URL: https://codereview.chromium.org/1601093008 Cr-Commit-Position: refs/heads/master@{#370472}
Diffstat (limited to 'third_party/WebKit/LayoutTests/fast/canvas')
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests-expected.txt14
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests.html99
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt503
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests.html1023
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits-expected.txt22
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits.html98
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test-expected.txt116
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test.html87
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test-expected.txt19
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test.html62
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test-expected.txt30
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html185
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size-expected.txt10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size.html34
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt122
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html359
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-expected.txt188
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored-expected.txt64
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html207
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost.html316
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload-expected.txt10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload.html81
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-expected.txt42
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html177
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test-expected.txt816
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html354
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds-expected.txt47
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds.html107
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds-expected.txt61
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds.html138
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test-expected.txt68
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test.html219
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting-expected.txt33
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting.html68
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url.html72
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html82
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment-expected.txt662
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment.html533
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test-expected.txt38
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test.html170
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings-expected.txt25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings.html94
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test-expected.txt52
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test.html109
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test-expected.txt29
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test.html198
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test-expected.txt80
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test.html132
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests-expected.txt35
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests.html87
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls-expected.txt83
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls.html121
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource-expected.txt10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource.html37
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring-expected.txt18
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring.html54
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt93
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls.html251
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei-expected.txt21
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei.html121
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage-expected.txt130
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage.html406
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays-expected.txt96
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html303
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv-expected.txt26
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv.html75
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-expected.txt22
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues-expected.txt22
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues.html88
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib.html47
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer-expected.txt197
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer.html135
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour-expected.txt31
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour.html56
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices.html45
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html24
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-expected.txt34
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices-expected.txt14
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices.html40
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer-expected.txt16
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer.html96
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation.html113
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test-expected.txt33
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test.html87
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16-expected.txt10
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16.html37
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params-expected.txt106
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params.html164
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object-expected.txt38
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object.html68
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour-expected.txt56
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour.html79
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location-expected.txt49
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location.html65
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour-expected.txt323
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour.html421
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint-expected.txt67
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint.html421
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object-expected.txt54
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object.html599
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size-expected.txt11
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size.html124
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test-expected.txt62
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test.html166
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test-expected.txt72
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test.html310
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment-expected.txt114
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment.html237
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test-expected.txt151
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test.html221
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization-expected.txt17
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization.html83
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format-expected.txt56
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format.html108
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view-expected.txt488
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html182
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-expected.txt40
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565-expected.txt40
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444-expected.txt40
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551-expected.txt40
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt53
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565-expected.txt53
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html21
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444-expected.txt53
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html21
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551-expected.txt53
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html21
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html21
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt72
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565-expected.txt72
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444-expected.txt72
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551-expected.txt72
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image-expected.txt31
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html20
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt29
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565-expected.txt29
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444-expected.txt29
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551-expected.txt29
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html25
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs-expected.txt14
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs.html31
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl-expected.txt14
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl.html57
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type-expected.txt155
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type.html716
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation-expected.txt84
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html353
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args-expected.txt28
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args.html68
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d.html90
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind-expected.txt17
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind.html155
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize-expected.txt14
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize.html51
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete-expected.txt8
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete.html128
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot-expected.txt31
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot.html228
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized-expected.txt15
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized.html82
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle-expected.txt5
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle.html94
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test-expected.txt840
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test.html143
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers-expected.txt128
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers.html280
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-expected.txt33
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits-expected.txt18
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits.html107
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location.html71
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test-expected.txt58
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test.html242
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize-expected.txt9
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize.html92
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture-expected.txt83
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture.html321
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific-expected.txt67
-rw-r--r--third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific.html100
200 files changed, 0 insertions, 22450 deletions
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash-expected.txt
deleted file mode 100644
index 9d306c7..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Test ArrayBuffer.byteLength
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS new ArrayBuffer().byteLength did not crash
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash.html
deleted file mode 100644
index 0f54500..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-crash.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-
-description('Test ArrayBuffer.byteLength');
-
-<!-- The following used to cause a crash in Chrome -->
-new ArrayBuffer().byteLength;
-
-testPassed("new ArrayBuffer().byteLength did not crash");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash-expected.txt
deleted file mode 100644
index 9ebeb4c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Verify that constructing a typed array view with no arguments and fetching its length does not crash
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS new Uint32Array().length did not crash
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash.html
deleted file mode 100644
index dc933c4..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-buffer-view-crash.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-
-description('Verify that constructing a typed array view with no arguments and fetching its length does not crash');
-
-<!-- The following used to cause a crash in both Safari and Chrome -->
-new Uint32Array().length;
-
-testPassed("new Uint32Array().length did not crash");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests-expected.txt
deleted file mode 100644
index 66b8bcb..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Verifies allocation of large array buffers
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS Construction of huge Float32Array threw exception
-PASS Construction of huge Float64Array threw exception
-PASS Construction of huge Int16Array threw exception
-PASS Construction of huge Int32Array threw exception
-PASS Construction of huge Uint16Array threw exception
-PASS Construction of huge Uint32Array threw exception
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests.html
deleted file mode 100644
index 65d89cf..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-large-array-tests.html
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/typed-array-test-cases.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Verifies allocation of large array buffers");
-
-var currentlyRunning = '';
-var allPassed = true;
-function running(str) {
- currentlyRunning = str;
-}
-
-function output(str) {
- debug(str);
-}
-
-function pass() {
- testPassed(currentlyRunning);
-}
-
-function fail(str) {
- allPassed = false;
- var exc;
- if (str)
- exc = currentlyRunning + ': ' + str;
- else
- exc = currentlyRunning;
- testFailed(exc);
-}
-
-function assertEq(prefix, expected, val) {
- if (expected != val) {
- var str = prefix + ': expected ' + expected + ', got ' + val;
- throw str;
- }
-}
-
-function assert(prefix, expected) {
- if (!expected) {
- var str = prefix + ': expected value / true';
- throw str;
- }
-}
-
-function printSummary() {
- if (allPassed) {
- debug("Test passed.");
- } else {
- debug("TEST FAILED");
- }
-}
-
-
-function testConstructionOfHugeArray(type, name, sz) {
- if (sz == 1)
- return;
- try {
- // Construction of huge arrays must fail because byteLength is
- // an unsigned long
- array = new type(3000000000);
- testFailed("Construction of huge " + name + " should throw exception");
- } catch (e) {
- testPassed("Construction of huge " + name + " threw exception");
- }
-}
-
-function runTests() {
- allPassed = true;
-
- for (var i = 0; i < testCases.length; i++) {
- var testCase = testCases[i];
- running(testCase.name);
- if (!(testCase.name in window)) {
- fail("does not exist");
- continue;
- }
- var type = window[testCase.name];
- var name = testCase.name;
- testConstructionOfHugeArray(type, name, testCase.elementSizeInBytes);
- }
-}
-
-runTests();
-var successfullyParsed = true;
-
-</script>
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt
deleted file mode 100644
index 21d3c33..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests-expected.txt
+++ /dev/null
@@ -1,503 +0,0 @@
-Verifies the functionality of the new array-like objects in the TypedArray spec
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS testSlice
-test inheritance hierarchy of typed array views
-PASS ArrayBufferView has [NoInterfaceObject] extended attribute and was (correctly) not defined
-PASS new Uint8ClampedArray(1) instanceof Uint8Array is false
-PASS test Float32Array SetAndGetPos10ToNeg10
-PASS test Float32Array ConstructWithArrayOfSignedValues
-PASS test Float32Array ConstructWithTypedArrayOfSignedValues
-Testing Float32Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Float32Array OffsetsAndSizes
-PASS test Float32Array SetFromTypedArray
-PASS negativeTest Float32Array SetFromTypedArray
-PASS test Float32Array SetFromArray
-PASS negativeTest Float32Array SetFromArray
-PASS test Float32Array Subarray
-PASS test Float32Array Subarray offset and length clamping
-PASS negativeTest Float32Array Subarray
-PASS test Float32Array SetBoundaryConditions
-PASS test Float32Array ConstructionBoundaryConditions
-PASS Construction of Float32Array with null buffer threw exception
-PASS Construction of Float32Array with (null buffer, 0) threw exception
-PASS Construction of Float32Array with (null buffer, 0, 0) threw exception
-PASS Construction of Float32Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Float32Array with out-of-range number of elements threw an exception
-PASS Construction of Float32Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Float32Array with negative size threw exception
-PASS Construction of Float32Array with negative out-of-range values threw an exception
-PASS Construction of Float32Array with unaligned offset threw an exception
-PASS Construction of Float32Array with unaligned length threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-PASS new Float32Array(new ArrayBuffer(18), 0, 2) succeeded
-Testing subarray of Float32Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-PASS array.length is 0
-Testing subarray with default inputs of Float32Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Float32Array from array with out-of-range offset was caught
-PASS Setting Float32Array from Float32Array with out-of-range offset was caught
-PASS Setting Float32Array from array with negative offset was caught
-PASS Setting Float32Array from Float32Array with negative offset was caught
-PASS Setting Float32Array from array with -0 offset
-PASS Setting Float32Array from Float32Array with -0 offset
-PASS Setting Float32Array from array with boundary offset
-PASS Setting Float32Array from Float32Array with boundary offset
-PASS Setting Float32Array from array with non-integer offset
-PASS Setting Float32Array from Float32Array with non-integer offset
-PASS Setting Float32Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Float32Array
-PASS test Float64Array SetAndGetPos10ToNeg10
-PASS test Float64Array ConstructWithArrayOfSignedValues
-PASS test Float64Array ConstructWithTypedArrayOfSignedValues
-Testing Float64Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Float64Array OffsetsAndSizes
-PASS test Float64Array SetFromTypedArray
-PASS negativeTest Float64Array SetFromTypedArray
-PASS test Float64Array SetFromArray
-PASS negativeTest Float64Array SetFromArray
-PASS test Float64Array Subarray
-PASS test Float64Array Subarray offset and length clamping
-PASS negativeTest Float64Array Subarray
-PASS test Float64Array SetBoundaryConditions
-PASS test Float64Array ConstructionBoundaryConditions
-PASS Construction of Float64Array with null buffer threw exception
-PASS Construction of Float64Array with (null buffer, 0) threw exception
-PASS Construction of Float64Array with (null buffer, 0, 0) threw exception
-PASS Construction of Float64Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Float64Array with out-of-range number of elements threw an exception
-PASS Construction of Float64Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Float64Array with negative size threw exception
-PASS Construction of Float64Array with negative out-of-range values threw an exception
-PASS Construction of Float64Array with unaligned offset threw an exception
-PASS Construction of Float64Array with unaligned length threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-PASS new Float64Array(new ArrayBuffer(36), 0, 2) succeeded
-Testing subarray of Float64Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-PASS array.length is 0
-Testing subarray with default inputs of Float64Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Float64Array from array with out-of-range offset was caught
-PASS Setting Float64Array from Float64Array with out-of-range offset was caught
-PASS Setting Float64Array from array with negative offset was caught
-PASS Setting Float64Array from Float64Array with negative offset was caught
-PASS Setting Float64Array from array with -0 offset
-PASS Setting Float64Array from Float64Array with -0 offset
-PASS Setting Float64Array from array with boundary offset
-PASS Setting Float64Array from Float64Array with boundary offset
-PASS Setting Float64Array from array with non-integer offset
-PASS Setting Float64Array from Float64Array with non-integer offset
-PASS Setting Float64Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Float64Array
-PASS test Int8Array SetAndGetPos10ToNeg10
-PASS test Int8Array ConstructWithArrayOfSignedValues
-PASS test Int8Array ConstructWithTypedArrayOfSignedValues
-PASS test integral array truncation behavior for Int8Array
-Testing Int8Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Int8Array OffsetsAndSizes
-PASS test Int8Array SetFromTypedArray
-PASS negativeTest Int8Array SetFromTypedArray
-PASS test Int8Array SetFromArray
-PASS negativeTest Int8Array SetFromArray
-PASS test Int8Array Subarray
-PASS test Int8Array Subarray offset and length clamping
-PASS negativeTest Int8Array Subarray
-PASS test Int8Array SetBoundaryConditions
-PASS test Int8Array ConstructionBoundaryConditions
-PASS Construction of Int8Array with null buffer threw exception
-PASS Construction of Int8Array with (null buffer, 0) threw exception
-PASS Construction of Int8Array with (null buffer, 0, 0) threw exception
-PASS Construction of Int8Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Int8Array with out-of-range number of elements threw an exception
-PASS Construction of Int8Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Int8Array with negative size threw exception
-PASS Construction of Int8Array with negative out-of-range values threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-Testing subarray of Int8Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-Testing subarray with default inputs of Int8Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Int8Array from array with out-of-range offset was caught
-PASS Setting Int8Array from Int8Array with out-of-range offset was caught
-PASS Setting Int8Array from array with negative offset was caught
-PASS Setting Int8Array from Int8Array with negative offset was caught
-PASS Setting Int8Array from array with -0 offset
-PASS Setting Int8Array from Int8Array with -0 offset
-PASS Setting Int8Array from array with boundary offset
-PASS Setting Int8Array from Int8Array with boundary offset
-PASS Setting Int8Array from array with non-integer offset
-PASS Setting Int8Array from Int8Array with non-integer offset
-PASS Setting Int8Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Int8Array
-PASS test Int16Array SetAndGetPos10ToNeg10
-PASS test Int16Array ConstructWithArrayOfSignedValues
-PASS test Int16Array ConstructWithTypedArrayOfSignedValues
-PASS test integral array truncation behavior for Int16Array
-Testing Int16Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Int16Array OffsetsAndSizes
-PASS test Int16Array SetFromTypedArray
-PASS negativeTest Int16Array SetFromTypedArray
-PASS test Int16Array SetFromArray
-PASS negativeTest Int16Array SetFromArray
-PASS test Int16Array Subarray
-PASS test Int16Array Subarray offset and length clamping
-PASS negativeTest Int16Array Subarray
-PASS test Int16Array SetBoundaryConditions
-PASS test Int16Array ConstructionBoundaryConditions
-PASS Construction of Int16Array with null buffer threw exception
-PASS Construction of Int16Array with (null buffer, 0) threw exception
-PASS Construction of Int16Array with (null buffer, 0, 0) threw exception
-PASS Construction of Int16Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Int16Array with out-of-range number of elements threw an exception
-PASS Construction of Int16Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Int16Array with negative size threw exception
-PASS Construction of Int16Array with negative out-of-range values threw an exception
-PASS Construction of Int16Array with unaligned offset threw an exception
-PASS Construction of Int16Array with unaligned length threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-PASS new Int16Array(new ArrayBuffer(9), 0, 2) succeeded
-Testing subarray of Int16Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-PASS array.length is 0
-Testing subarray with default inputs of Int16Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Int16Array from array with out-of-range offset was caught
-PASS Setting Int16Array from Int16Array with out-of-range offset was caught
-PASS Setting Int16Array from array with negative offset was caught
-PASS Setting Int16Array from Int16Array with negative offset was caught
-PASS Setting Int16Array from array with -0 offset
-PASS Setting Int16Array from Int16Array with -0 offset
-PASS Setting Int16Array from array with boundary offset
-PASS Setting Int16Array from Int16Array with boundary offset
-PASS Setting Int16Array from array with non-integer offset
-PASS Setting Int16Array from Int16Array with non-integer offset
-PASS Setting Int16Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Int16Array
-PASS test Int32Array SetAndGetPos10ToNeg10
-PASS test Int32Array ConstructWithArrayOfSignedValues
-PASS test Int32Array ConstructWithTypedArrayOfSignedValues
-PASS test integral array truncation behavior for Int32Array
-Testing Int32Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Int32Array OffsetsAndSizes
-PASS test Int32Array SetFromTypedArray
-PASS negativeTest Int32Array SetFromTypedArray
-PASS test Int32Array SetFromArray
-PASS negativeTest Int32Array SetFromArray
-PASS test Int32Array Subarray
-PASS test Int32Array Subarray offset and length clamping
-PASS negativeTest Int32Array Subarray
-PASS test Int32Array SetBoundaryConditions
-PASS test Int32Array ConstructionBoundaryConditions
-PASS Construction of Int32Array with null buffer threw exception
-PASS Construction of Int32Array with (null buffer, 0) threw exception
-PASS Construction of Int32Array with (null buffer, 0, 0) threw exception
-PASS Construction of Int32Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Int32Array with out-of-range number of elements threw an exception
-PASS Construction of Int32Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Int32Array with negative size threw exception
-PASS Construction of Int32Array with negative out-of-range values threw an exception
-PASS Construction of Int32Array with unaligned offset threw an exception
-PASS Construction of Int32Array with unaligned length threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-PASS new Int32Array(new ArrayBuffer(18), 0, 2) succeeded
-Testing subarray of Int32Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-PASS array.length is 0
-Testing subarray with default inputs of Int32Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Int32Array from array with out-of-range offset was caught
-PASS Setting Int32Array from Int32Array with out-of-range offset was caught
-PASS Setting Int32Array from array with negative offset was caught
-PASS Setting Int32Array from Int32Array with negative offset was caught
-PASS Setting Int32Array from array with -0 offset
-PASS Setting Int32Array from Int32Array with -0 offset
-PASS Setting Int32Array from array with boundary offset
-PASS Setting Int32Array from Int32Array with boundary offset
-PASS Setting Int32Array from array with non-integer offset
-PASS Setting Int32Array from Int32Array with non-integer offset
-PASS Setting Int32Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Int32Array
-PASS test Uint8Array SetAndGet10To1
-PASS test Uint8Array ConstructWithArrayOfUnsignedValues
-PASS test Uint8Array ConstructWithTypedArrayOfUnsignedValues
-PASS test integral array truncation behavior for Uint8Array
-Testing Uint8Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Uint8Array OffsetsAndSizes
-PASS test Uint8Array SetFromTypedArray
-PASS negativeTest Uint8Array SetFromTypedArray
-PASS test Uint8Array SetFromArray
-PASS negativeTest Uint8Array SetFromArray
-PASS test Uint8Array Subarray
-PASS test Uint8Array Subarray offset and length clamping
-PASS negativeTest Uint8Array Subarray
-PASS test Uint8Array SetBoundaryConditions
-PASS test Uint8Array ConstructionBoundaryConditions
-PASS Construction of Uint8Array with null buffer threw exception
-PASS Construction of Uint8Array with (null buffer, 0) threw exception
-PASS Construction of Uint8Array with (null buffer, 0, 0) threw exception
-PASS Construction of Uint8Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Uint8Array with out-of-range number of elements threw an exception
-PASS Construction of Uint8Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Uint8Array with negative size threw exception
-PASS Construction of Uint8Array with negative out-of-range values threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-Testing subarray of Uint8Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-Testing subarray with default inputs of Uint8Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Uint8Array from array with out-of-range offset was caught
-PASS Setting Uint8Array from Uint8Array with out-of-range offset was caught
-PASS Setting Uint8Array from array with negative offset was caught
-PASS Setting Uint8Array from Uint8Array with negative offset was caught
-PASS Setting Uint8Array from array with -0 offset
-PASS Setting Uint8Array from Uint8Array with -0 offset
-PASS Setting Uint8Array from array with boundary offset
-PASS Setting Uint8Array from Uint8Array with boundary offset
-PASS Setting Uint8Array from array with non-integer offset
-PASS Setting Uint8Array from Uint8Array with non-integer offset
-PASS Setting Uint8Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Uint8Array
-PASS test Uint8ClampedArray SetAndGet10To1
-PASS test Uint8ClampedArray ConstructWithArrayOfUnsignedValues
-PASS test Uint8ClampedArray ConstructWithTypedArrayOfUnsignedValues
-PASS test integral array truncation behavior for Uint8ClampedArray
-Testing Uint8ClampedArray GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Uint8ClampedArray OffsetsAndSizes
-PASS test Uint8ClampedArray SetFromTypedArray
-PASS negativeTest Uint8ClampedArray SetFromTypedArray
-PASS test Uint8ClampedArray SetFromArray
-PASS negativeTest Uint8ClampedArray SetFromArray
-PASS test Uint8ClampedArray Subarray
-PASS test Uint8ClampedArray Subarray offset and length clamping
-PASS negativeTest Uint8ClampedArray Subarray
-PASS test Uint8ClampedArray SetBoundaryConditions
-PASS test Uint8ClampedArray ConstructionBoundaryConditions
-PASS Construction of Uint8ClampedArray with null buffer threw exception
-PASS Construction of Uint8ClampedArray with (null buffer, 0) threw exception
-PASS Construction of Uint8ClampedArray with (null buffer, 0, 0) threw exception
-PASS Construction of Uint8ClampedArray with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Uint8ClampedArray with out-of-range number of elements threw an exception
-PASS Construction of Uint8ClampedArray with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Uint8ClampedArray with negative size threw exception
-PASS Construction of Uint8ClampedArray with negative out-of-range values threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-Testing subarray of Uint8ClampedArray
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-Testing subarray with default inputs of Uint8ClampedArray
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Uint8ClampedArray from array with out-of-range offset was caught
-PASS Setting Uint8ClampedArray from Uint8ClampedArray with out-of-range offset was caught
-PASS Setting Uint8ClampedArray from array with negative offset was caught
-PASS Setting Uint8ClampedArray from Uint8ClampedArray with negative offset was caught
-PASS Setting Uint8ClampedArray from array with -0 offset
-PASS Setting Uint8ClampedArray from Uint8ClampedArray with -0 offset
-PASS Setting Uint8ClampedArray from array with boundary offset
-PASS Setting Uint8ClampedArray from Uint8ClampedArray with boundary offset
-PASS Setting Uint8ClampedArray from array with non-integer offset
-PASS Setting Uint8ClampedArray from Uint8ClampedArray with non-integer offset
-PASS Setting Uint8ClampedArray from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Uint8ClampedArray
-PASS test Uint16Array SetAndGet10To1
-PASS test Uint16Array ConstructWithArrayOfUnsignedValues
-PASS test Uint16Array ConstructWithTypedArrayOfUnsignedValues
-PASS test integral array truncation behavior for Uint16Array
-Testing Uint16Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Uint16Array OffsetsAndSizes
-PASS test Uint16Array SetFromTypedArray
-PASS negativeTest Uint16Array SetFromTypedArray
-PASS test Uint16Array SetFromArray
-PASS negativeTest Uint16Array SetFromArray
-PASS test Uint16Array Subarray
-PASS test Uint16Array Subarray offset and length clamping
-PASS negativeTest Uint16Array Subarray
-PASS test Uint16Array SetBoundaryConditions
-PASS test Uint16Array ConstructionBoundaryConditions
-PASS Construction of Uint16Array with null buffer threw exception
-PASS Construction of Uint16Array with (null buffer, 0) threw exception
-PASS Construction of Uint16Array with (null buffer, 0, 0) threw exception
-PASS Construction of Uint16Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Uint16Array with out-of-range number of elements threw an exception
-PASS Construction of Uint16Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Uint16Array with negative size threw exception
-PASS Construction of Uint16Array with negative out-of-range values threw an exception
-PASS Construction of Uint16Array with unaligned offset threw an exception
-PASS Construction of Uint16Array with unaligned length threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-PASS new Uint16Array(new ArrayBuffer(9), 0, 2) succeeded
-Testing subarray of Uint16Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-PASS array.length is 0
-Testing subarray with default inputs of Uint16Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Uint16Array from array with out-of-range offset was caught
-PASS Setting Uint16Array from Uint16Array with out-of-range offset was caught
-PASS Setting Uint16Array from array with negative offset was caught
-PASS Setting Uint16Array from Uint16Array with negative offset was caught
-PASS Setting Uint16Array from array with -0 offset
-PASS Setting Uint16Array from Uint16Array with -0 offset
-PASS Setting Uint16Array from array with boundary offset
-PASS Setting Uint16Array from Uint16Array with boundary offset
-PASS Setting Uint16Array from array with non-integer offset
-PASS Setting Uint16Array from Uint16Array with non-integer offset
-PASS Setting Uint16Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Uint16Array
-PASS test Uint32Array SetAndGet10To1
-PASS test Uint32Array ConstructWithArrayOfUnsignedValues
-PASS test Uint32Array ConstructWithTypedArrayOfUnsignedValues
-PASS test integral array truncation behavior for Uint32Array
-Testing Uint32Array GetWithOutOfRangeIndices
-PASS array[2] is undefined.
-PASS array[-1] is undefined.
-PASS array[0x20000000] is undefined.
-PASS test Uint32Array OffsetsAndSizes
-PASS test Uint32Array SetFromTypedArray
-PASS negativeTest Uint32Array SetFromTypedArray
-PASS test Uint32Array SetFromArray
-PASS negativeTest Uint32Array SetFromArray
-PASS test Uint32Array Subarray
-PASS test Uint32Array Subarray offset and length clamping
-PASS negativeTest Uint32Array Subarray
-PASS test Uint32Array SetBoundaryConditions
-PASS test Uint32Array ConstructionBoundaryConditions
-PASS Construction of Uint32Array with null buffer threw exception
-PASS Construction of Uint32Array with (null buffer, 0) threw exception
-PASS Construction of Uint32Array with (null buffer, 0, 0) threw exception
-PASS Construction of Uint32Array with exception-throwing array-like object didn't crash unexpectedly
-PASS Construction of Uint32Array with out-of-range number of elements threw an exception
-PASS Construction of Uint32Array with out-of-range offset threw an exception
-PASS Construction of ArrayBuffer with negative size threw exception
-PASS Construction of Uint32Array with negative size threw exception
-PASS Construction of Uint32Array with negative out-of-range values threw an exception
-PASS Construction of Uint32Array with unaligned offset threw an exception
-PASS Construction of Uint32Array with unaligned length threw an exception
-PASS Array lengths matched with explicit and implicit creation of ArrayBuffer
-PASS new Uint32Array(new ArrayBuffer(18), 0, 2) succeeded
-Testing subarray of Uint32Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(4, 0x3FFFFFFF).length is (32 / typeSize) - 4
-PASS array.subarray(4, -2147483648).length is 0
-PASS array.length is 0
-Testing subarray with default inputs of Uint32Array
-PASS array.length is 32 / typeSize
-PASS array.subarray(0).length is (32 / typeSize)
-PASS array.subarray(2).length is (32 / typeSize) - 2
-PASS array.subarray(-2).length is 2
-PASS array.subarray(-2147483648).length is (32 / typeSize)
-PASS Setting Uint32Array from array with out-of-range offset was caught
-PASS Setting Uint32Array from Uint32Array with out-of-range offset was caught
-PASS Setting Uint32Array from array with negative offset was caught
-PASS Setting Uint32Array from Uint32Array with negative offset was caught
-PASS Setting Uint32Array from array with -0 offset
-PASS Setting Uint32Array from Uint32Array with -0 offset
-PASS Setting Uint32Array from array with boundary offset
-PASS Setting Uint32Array from Uint32Array with boundary offset
-PASS Setting Uint32Array from array with non-integer offset
-PASS Setting Uint32Array from Uint32Array with non-integer offset
-PASS Setting Uint32Array from fake array with invalid length was caught
-PASS array.get is undefined.
-PASS array.set(0, 1) threw exception.
-PASS test storing NaN in Uint32Array
-Test passed.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests.html
deleted file mode 100644
index 7a38377..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/array-unit-tests.html
+++ /dev/null
@@ -1,1023 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/typed-array-test-cases.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Verifies the functionality of the new array-like objects in the TypedArray spec");
-
-var currentlyRunning = '';
-var allPassed = true;
-function running(str) {
- currentlyRunning = str;
-}
-
-function output(str) {
- debug(str);
-}
-
-function pass() {
- testPassed(currentlyRunning);
-}
-
-function fail(str) {
- allPassed = false;
- var exc;
- if (str)
- exc = currentlyRunning + ': ' + str;
- else
- exc = currentlyRunning;
- testFailed(exc);
-}
-
-function assertEq(prefix, expected, val) {
- if (expected != val) {
- var str = prefix + ': expected ' + expected + ', got ' + val;
- throw str;
- }
-}
-
-function assert(prefix, expected) {
- if (!expected) {
- var str = prefix + ': expected value / true';
- throw str;
- }
-}
-
-function printSummary() {
- if (allPassed) {
- debug("Test passed.");
- } else {
- debug("TEST FAILED");
- }
-}
-
-var buffer;
-var byteLength;
-var subBuffer;
-var subArray;
-function testSlice() {
- function test(subBuf, starts, size) {
- byteLength = size;
- subBuffer = eval(subBuf);
- subArray = new Int8Array(subBuffer);
- assertEq(subBuf, subBuffer.byteLength, byteLength);
- for (var i = 0; i < size; ++i)
- assertEq('Element ' + i, starts + i, subArray[i]);
- }
-
- try {
- running('testSlice');
- buffer = new ArrayBuffer(32);
- var array = new Int8Array(buffer);
- for (var i = 0; i < 32; ++i)
- array[i] = i;
-
- test("buffer.slice(0)", 0, 32);
- test("buffer.slice(16)", 16, 16);
- test("buffer.slice(24)", 24, 8);
- test("buffer.slice(32)", 32, 0);
- test("buffer.slice(40)", 32, 0);
- test("buffer.slice(80)", 32, 0);
-
- test("buffer.slice(-8)", 24, 8);
- test("buffer.slice(-16)", 16, 16);
- test("buffer.slice(-24)", 8, 24);
- test("buffer.slice(-32)", 0, 32);
- test("buffer.slice(-40)", 0, 32);
- test("buffer.slice(-80)", 0, 32);
-
- test("buffer.slice(0, 32)", 0, 32);
- test("buffer.slice(0, 16)", 0, 16);
- test("buffer.slice(8, 24)", 8, 16);
- test("buffer.slice(16, 32)", 16, 16);
- test("buffer.slice(24, 16)", 24, 0);
-
- test("buffer.slice(16, -8)", 16, 8);
- test("buffer.slice(-20, 30)", 12, 18);
-
- test("buffer.slice(-8, -20)", 24, 0);
- test("buffer.slice(-20, -8)", 12, 12);
- test("buffer.slice(-40, 16)", 0, 16);
- test("buffer.slice(-40, 40)", 0, 32);
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testInheritanceHierarchy() {
- debug('test inheritance hierarchy of typed array views');
-
- try {
- var foo = ArrayBufferView;
- testFailed('ArrayBufferView has [NoInterfaceObject] extended attribute and should not be defined');
- } catch (e) {
- testPassed('ArrayBufferView has [NoInterfaceObject] extended attribute and was (correctly) not defined');
- }
-
- // There is currently only one kind of view that inherits from another
- // Uint8ClampedArray inherited from Uint8Array in earlier versions
- // of the typed array specification. Since this is no longer the
- // case, assert the new behavior.
- shouldBe('new Uint8ClampedArray(1) instanceof Uint8Array', 'false');
-}
-
-//
-// Tests for unsigned array variants
-//
-
-function testSetAndGet10To1(type, name) {
- running('test ' + name + ' SetAndGet10To1');
- try {
- var array = new type(10);
- for (var i = 0; i < 10; i++) {
- array[i] = 10 - i;
- }
- for (var i = 0; i < 10; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testConstructWithArrayOfUnsignedValues(type, name) {
- running('test ' + name + ' ConstructWithArrayOfUnsignedValues');
- try {
- var array = new type([10, 9, 8, 7, 6, 5, 4, 3, 2, 1]);
- assertEq('Array length', 10, array.length);
- for (var i = 0; i < 10; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testConstructWithTypedArrayOfUnsignedValues(type, name) {
- running('test ' + name + ' ConstructWithTypedArrayOfUnsignedValues');
- try {
- var tmp = new type([10, 9, 8, 7, 6, 5, 4, 3, 2, 1]);
- var array = new type(tmp);
- assertEq('Array length', 10, array.length);
- for (var i = 0; i < 10; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-//
-// Tests for signed array variants
-//
-
-function testSetAndGetPos10ToNeg10(type, name) {
- running('test ' + name + ' SetAndGetPos10ToNeg10');
- try {
- var array = new type(21);
- for (var i = 0; i < 21; i++) {
- array[i] = 10 - i;
- }
- for (var i = 0; i < 21; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testConstructWithArrayOfSignedValues(type, name) {
- running('test ' + name + ' ConstructWithArrayOfSignedValues');
- try {
- var array = new type([10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10]);
- assertEq('Array length', 21, array.length);
- for (var i = 0; i < 21; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testConstructWithTypedArrayOfSignedValues(type, name) {
- running('test ' + name + ' ConstructWithTypedArrayOfSignedValues');
- try {
- var tmp = new type([10, 9, 8, 7, 6, 5, 4, 3, 2, 1, 0, -1, -2, -3, -4, -5, -6, -7, -8, -9, -10]);
- var array = new type(tmp);
- assertEq('Array length', 21, array.length);
- for (var i = 0; i < 21; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-//
-// Test cases for integral types.
-// Some JavaScript engines need separate copies of this code in order
-// to exercise all of their optimized code paths.
-//
-
-function testIntegralArrayTruncationBehavior(type, name, unsigned) {
- running('test integral array truncation behavior for ' + name);
-
- var sourceData;
- var expectedResults;
-
- if (unsigned) {
- sourceData = [0.6, 10.6, 0.2, 10.2, 10.5, 11.5];
- if (type === Uint8ClampedArray) {
- expectedResults = [1, 11, 0, 10, 10, 12];
- } else {
- expectedResults = [0, 10, 0, 10, 10, 11];
- }
- } else {
- sourceData = [0.6, 10.6, -0.6, -10.6];
- expectedResults = [0, 10, 0, -10];
- }
-
- var numIterations = 10;
- var array = new type(numIterations);
-
- // The code block in each of the case statements below is identical, but some
- // JavaScript engines need separate copies in order to exercise all of
- // their optimized code paths.
-
- try {
- switch (type) {
- case Int8Array:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- case Int16Array:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- case Int32Array:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- case Uint8Array:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- case Uint8ClampedArray:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- case Uint16Array:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- case Uint32Array:
- for (var ii = 0; ii < sourceData.length; ++ii) {
- for (var jj = 0; jj < numIterations; ++jj) {
- array[jj] = sourceData[ii];
- assertEq('Storing ' + sourceData[ii], expectedResults[ii], array[jj]);
- }
- }
- break;
- default:
- fail("Unhandled type");
- break;
- }
-
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-
-//
-// Test cases for both signed and unsigned types
-//
-
-function testGetWithOutOfRangeIndices(type, name) {
- debug('Testing ' + name + ' GetWithOutOfRangeIndices');
- // See below for declaration of this global variable
- array = new type([2, 3]);
- shouldBeUndefined("array[2]");
- shouldBeUndefined("array[-1]");
- shouldBeUndefined("array[0x20000000]");
-}
-
-function testOffsetsAndSizes(type, name, elementSizeInBytes) {
- running('test ' + name + ' OffsetsAndSizes');
- try {
- var len = 10;
- assertEq('type.BYTES_PER_ELEMENT', elementSizeInBytes, type.BYTES_PER_ELEMENT);
- var array = new type(len);
- assert('array.buffer', array.buffer);
- assertEq('array.byteOffset', 0, array.byteOffset);
- assertEq('array.length', len, array.length);
- assertEq('array.byteLength', len * elementSizeInBytes, array.byteLength);
- array = new type(array.buffer, elementSizeInBytes, len - 1);
- assert('array.buffer', array.buffer);
- assertEq('array.byteOffset', elementSizeInBytes, array.byteOffset);
- assertEq('array.length', len - 1, array.length);
- assertEq('array.byteLength', (len - 1) * elementSizeInBytes, array.byteLength);
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testSetFromTypedArray(type, name) {
- running('test ' + name + ' SetFromTypedArray');
- try {
- var array = new type(10);
- var array2 = new type(5);
- for (var i = 0; i < 10; i++) {
- assertEq('Element ' + i, 0, array[i]);
- }
- for (var i = 0; i < array2.length; i++) {
- array2[i] = i;
- }
- array.set(array2);
- for (var i = 0; i < array2.length; i++) {
- assertEq('Element ' + i, i, array[i]);
- }
- array.set(array2, 5);
- for (var i = 0; i < array2.length; i++) {
- assertEq('Element ' + i, i, array[5 + i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function negativeTestSetFromTypedArray(type, name) {
- running('negativeTest ' + name + ' SetFromTypedArray');
- try {
- var array = new type(5);
- var array2 = new type(6);
- for (var i = 0; i < 5; i++) {
- assertEq('Element ' + i, 0, array[i]);
- }
- for (var i = 0; i < array2.length; i++) {
- array2[i] = i;
- }
- try {
- array.set(array2);
- fail('Expected exception from array.set(array2)');
- return;
- } catch (e) {
- }
- try {
- array2.set(array, 2);
- fail('Expected exception from array2.set(array, 2)');
- return;
- } catch (e) {
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testSetFromArray(type, name) {
- running('test ' + name + ' SetFromArray');
- try {
- var array = new type(10);
- var array2 = [10, 9, 8, 7, 6, 5, 4, 3, 2, 1];
- for (var i = 0; i < 10; i++) {
- assertEq('Element ' + i, 0, array[i]);
- }
- array.set(array2, 0);
- for (var i = 0; i < array2.length; i++) {
- assertEq('Element ' + i, 10 - i, array[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function negativeTestSetFromArray(type, name) {
- running('negativeTest ' + name + ' SetFromArray');
- try {
- var array = new type([2, 3]);
- try {
- array.set([4, 5], 1);
- fail();
- return;
- } catch (e) {
- }
- try {
- array.set([4, 5, 6]);
- fail();
- return;
- } catch (e) {
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-var subarray;
-function testSubarray(type, name) {
- running('test ' + name + ' Subarray');
- try {
- var array = new type([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
- var subarray = array.subarray(0, 5);
- assertEq('subarray.length', 5, subarray.length);
- for (var i = 0; i < 5; i++) {
- assertEq('Element ' + i, i, subarray[i]);
- }
- subarray = array.subarray(4, 10);
- assertEq('subarray.length', 6, subarray.length);
- for (var i = 0; i < 6; i++) {
- assertEq('Element ' + i, 4 + i, subarray[i]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testSubarrayOffsetAndLengthClamping(type, name) {
- running('test ' + name + ' Subarray offset and length clamping');
- try {
- var array = new type([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
- var subarray1 = array.subarray(0, 5);
- var subarray2 = subarray1.subarray(-2, 10);
- assertEq('subarray2.length', 2, subarray2.length);
- assertEq('Element ' + 0, 3, subarray2[0]);
- assertEq('Element ' + 1, 4, subarray2[1]);
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function negativeTestSubarray(type, name) {
- running('negativeTest ' + name + ' Subarray');
- try {
- var array = new type([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]);
- subarray = array.subarray(5, 11);
- if (subarray.length != 5) {
- fail();
- return;
- }
- subarray = array.subarray(10, 10);
- if (subarray.length != 0) {
- fail();
- return;
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testSetBoundaryConditions(type, name, testValues, expectedValues) {
- running('test ' + name + ' SetBoundaryConditions');
- try {
- var array = new type(1);
- assertEq('Array length', 1, array.length);
- for (var ii = 0; ii < testValues.length; ++ii) {
- for (var jj = 0; jj < 10; ++jj) {
- array[0] = testValues[ii];
- assertEq('Element 0', expectedValues[ii], array[0]);
- }
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testConstructionBoundaryConditions(type, name, testValues, expectedValues) {
- running('test ' + name + ' ConstructionBoundaryConditions');
- try {
- var array = new type(testValues);
- assertEq('Array length', testValues.length, array.length);
- for (var ii = 0; ii < testValues.length; ++ii) {
- assertEq('Element ' + ii, expectedValues[ii], array[ii]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-function testConstructionWithNullBuffer(type, name) {
- var array;
- try {
- array = new type(null);
- testFailed("Construction of " + name + " with null buffer should throw exception");
- } catch (e) {
- testPassed("Construction of " + name + " with null buffer threw exception");
- }
- try {
- array = new type(null, 0, 0);
- testFailed("Construction of " + name + " with (null buffer, 0) should throw exception");
- } catch (e) {
- testPassed("Construction of " + name + " with (null buffer, 0) threw exception");
- }
- try {
- array = new type(null, 0, 0);
- testFailed("Construction of " + name + " with (null buffer, 0, 0) should throw exception");
- } catch (e) {
- testPassed("Construction of " + name + " with (null buffer, 0, 0) threw exception");
- }
-}
-
-function testConstructionWithExceptionThrowingObject(type, name) {
- var o = {};
- Object.defineProperty(o, "length", { get: function() { throw "bail;" }});
- try {
- var array = new type(o);
- } catch (e) {
- }
- testPassed("Construction of " + name + " with exception-throwing array-like object didn't crash unexpectedly");
-}
-
-function shouldThrowIndexSizeErr(func, text) {
- var errorText = text + " should throw an exception";
- try {
- func();
- testFailed(errorText);
- } catch (e) {
- testPassed(text + " threw an exception");
- }
-}
-
-function shouldThrowTypeError(func, text) {
- var ok = false;
- try {
- func();
- } catch (e) {
- if (e instanceof TypeError) {
- ok = true;
- }
- }
- if (ok) {
- testPassed(text + " threw TypeError");
- } else {
- testFailed(text + " should throw TypeError");
- }
-}
-
-function testConstructionWithOutOfRangeValues(type, name) {
- shouldThrowIndexSizeErr(function() {
- var buffer = new ArrayBuffer(4);
- var array = new type(buffer, 4, 0x3FFFFFFF);
- }, "Construction of " + name + " with out-of-range number of elements");
- shouldThrowIndexSizeErr(function() {
- var buffer = new ArrayBuffer(4);
- var array = new type(buffer, 8);
- }, "Construction of " + name + " with out-of-range offset");
-}
-
-function testConstructionWithNegativeOutOfRangeValues(type, name) {
- try {
- var buffer = new ArrayBuffer(-1);
- testFailed("Construction of ArrayBuffer with negative size should throw exception");
- } catch (e) {
- testPassed("Construction of ArrayBuffer with negative size threw exception");
- }
- try {
- var array = new type(-1);
- testFailed("Construction of " + name + " with negative size should throw exception");
- } catch (e) {
- testPassed("Construction of " + name + " with negative size threw exception");
- }
- shouldThrowIndexSizeErr(function() {
- var buffer = new ArrayBuffer(4);
- var array = new type(buffer, 4, -2147483648);
- }, "Construction of " + name + " with negative out-of-range values");
-}
-
-function testConstructionWithUnalignedOffset(type, name, elementSizeInBytes) {
- if (elementSizeInBytes > 1) {
- shouldThrowIndexSizeErr(function() {
- var buffer = new ArrayBuffer(32);
- var array = new type(buffer, 1, elementSizeInBytes);
- }, "Construction of " + name + " with unaligned offset");
- }
-}
-
-function testConstructionWithUnalignedLength(type, name, elementSizeInBytes) {
- if (elementSizeInBytes > 1) {
- shouldThrowIndexSizeErr(function() {
- var buffer = new ArrayBuffer(elementSizeInBytes + 1);
- var array = new type(buffer, 0);
- }, "Construction of " + name + " with unaligned length");
- }
-}
-
-function testConstructionWithBothArrayBufferAndLength(type, name, elementSizeInBytes) {
- var bufByteLength = 1000 * elementSizeInBytes;
- var buf = new ArrayBuffer(bufByteLength);
- var array1 = new type(buf);
- var array2 = new type(bufByteLength / elementSizeInBytes);
- if (array1.length == array2.length) {
- testPassed("Array lengths matched with explicit and implicit creation of ArrayBuffer");
- } else {
- testFailed("Array lengths DID NOT MATCH with explicit and implicit creation of ArrayBuffer");
- }
-}
-
-function testConstructionWithSubPortionOfArrayBuffer(type, name, elementSizeInBytes) {
- if (elementSizeInBytes > 1) {
- // Test construction with a valid sub-portion of an array buffer
- // (whose size is not an integral multiple of the element size).
- var size = 4 * elementSizeInBytes + (elementSizeInBytes / 2);
- var buf = new ArrayBuffer(size);
- try {
- var array = new type(buf, 0, 2);
- testPassed("new " + name + "(new ArrayBuffer(" + size + "), 0, 2) succeeded");
- } catch (e) {
- testFailed("new " + name + "(new ArrayBuffer(" + size + "), 0, 2) failed: " + e);
- }
- }
-}
-
-// These need to be global for shouldBe to see them
-var array;
-var typeSize;
-
-function testSubarrayWithOutOfRangeValues(type, name, sz) {
- debug("Testing subarray of " + name);
- try {
- var buffer = new ArrayBuffer(32);
- array = new type(buffer);
- typeSize = sz;
- shouldBe("array.length", "32 / typeSize");
- try {
- shouldBe("array.subarray(4, 0x3FFFFFFF).length", "(32 / typeSize) - 4");
- shouldBe("array.subarray(4, -2147483648).length", "0");
- // Test subarray() against overflows.
- array = array.subarray(2);
- if (sz > 1) {
- // Full byte offset is +1 larger than the maximum unsigned long int.
- // Make sure subarray() still handles it correctly. Otherwise overflow would happen and
- // offset would be 0, and array.length array.length would incorrectly be 1.
- var start = 4294967296 / sz - 2;
- array = array.subarray(start, start + 1);
- shouldBe("array.length", "0");
- }
- } catch (e) {
- testFailed("Subarray of " + name + " threw exception");
- }
- } catch (e) {
- testFailed("Exception: " + e);
- }
-}
-
-function testSubarrayWithDefaultValues(type, name, sz) {
- debug("Testing subarray with default inputs of " + name);
- try {
- var buffer = new ArrayBuffer(32);
- array = new type(buffer);
- typeSize = sz;
- shouldBe("array.length", "32 / typeSize");
- try {
- shouldBe("array.subarray(0).length", "(32 / typeSize)");
- shouldBe("array.subarray(2).length", "(32 / typeSize) - 2");
- shouldBe("array.subarray(-2).length", "2");
- shouldBe("array.subarray(-2147483648).length", "(32 / typeSize)");
- } catch (e) {
- testFailed("Subarray of " + name + " threw exception");
- }
- } catch (e) {
- testFailed("Exception: " + e);
- }
-}
-
-function setWithInvalidOffset(type, name, length,
- sourceType, sourceName, sourceLength,
- offset, offsetDescription) {
- var webglArray = new type(length);
- var sourceArray = new sourceType(sourceLength);
- for (var i = 0; i < sourceLength; i++)
- sourceArray[i] = 42 + i;
- try {
- webglArray.set(sourceArray, offset);
- testFailed("Setting " + name + " from " + sourceName + " with " +
- offsetDescription + " offset was not caught");
- } catch (e) {
- testPassed("Setting " + name + " from " + sourceName + " with " +
- offsetDescription + " offset was caught");
- }
-}
-
-function setWithValidOffset(type, name, length,
- sourceType, sourceName, sourceLength,
- offset, offsetDescription) {
- running("Setting " + name + " from " + sourceName + " with " +
- offsetDescription + " offset");
- var webglArray = new type(length);
- var sourceArray = new sourceType(sourceLength);
- for (var i = 0; i < sourceLength; i++)
- sourceArray[i] = 42 + i;
- try {
- webglArray.set(sourceArray, offset);
- offset = Math.floor(offset);
- for (var i = 0; i < sourceLength; i++) {
- assertEq("Element " + i + offset, sourceArray[i], webglArray[i + offset]);
- }
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-
-function testSettingFromArrayWithOutOfRangeOffset(type, name) {
- setWithInvalidOffset(type, name, 32, Array, "array", 16,
- 0x7FFFFFF8, "out-of-range");
-}
-
-function testSettingFromTypedArrayWithOutOfRangeOffset(type, name) {
- setWithInvalidOffset(type, name, 32, type, name, 16,
- 0x7FFFFFF8, "out-of-range");
-}
-
-function testSettingFromArrayWithNegativeOffset(type, name) {
- setWithInvalidOffset(type, name, 32, Array, "array", 16,
- -1, "negative");
-}
-
-function testSettingFromTypedArrayWithNegativeOffset(type, name) {
- setWithInvalidOffset(type, name, 32, type, name, 16,
- -1, "negative");
-}
-
-function testSettingFromArrayWithMinusZeroOffset(type, name) {
- setWithValidOffset(type, name, 32, Array, "array", 16,
- -0, "-0");
-}
-
-function testSettingFromTypedArrayWithMinusZeroOffset(type, name) {
- setWithValidOffset(type, name, 32, type, name, 16,
- -0, "-0");
-}
-
-function testSettingFromArrayWithBoundaryOffset(type, name) {
- setWithValidOffset(type, name, 32, Array, "array", 16,
- 16, "boundary");
-}
-
-function testSettingFromTypedArrayWithBoundaryOffset(type, name) {
- setWithValidOffset(type, name, 32, type, name, 16,
- 16, "boundary");
-}
-
-function testSettingFromArrayWithNonIntegerOffset(type, name) {
- setWithValidOffset(type, name, 32, Array, "array", 16,
- 16.999, "non-integer");
-}
-
-function testSettingFromTypedArrayWithNonIntegerOffset(type, name) {
- setWithValidOffset(type, name, 32, type, name, 16,
- 16.999, "non-integer");
-}
-
-function testSettingFromFakeArrayWithOutOfRangeLength(type, name) {
- var webglArray = new type(32);
- var array = {};
- array.length = 0x80000000;
- try {
- webglArray.set(array, 8);
- testFailed("Setting " + name + " from fake array with invalid length was not caught");
- } catch (e) {
- testPassed("Setting " + name + " from fake array with invalid length was caught");
- }
-}
-
-
-function negativeTestGetAndSetMethods(type, name) {
- array = new type([2, 3]);
- shouldBeUndefined("array.get");
- var exceptionThrown = false;
- // We deliberately check for an exception here rather than using
- // shouldThrow here because the precise contents of the syntax
- // error are not specified.
- try {
- webGLArray.set(0, 1);
- } catch (e) {
- exceptionThrown = true;
- }
- var output = "array.set(0, 1) ";
- if (exceptionThrown) {
- testPassed(output + "threw exception.");
- } else {
- testFailed(output + "did not throw exception.");
- }
-}
-
-function testNaNConversion(type, name) {
- running('test storing NaN in ' + name);
-
- var array = new type([1, 1]);
- var results = [];
-
- // The code block in each of the case statements below is identical, but some
- // JavaScript engines need separate copies in order to exercise all of
- // their optimized code paths.
- try {
- switch (type) {
- case Float32Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Float64Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Int8Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Int16Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Int32Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Uint8Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Uint8ClampedArray:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Uint16Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- case Uint32Array:
- for (var i = 0; i < array.length; ++i) {
- array[i] = NaN;
- results[i] = array[i];
- }
- break;
- default:
- fail("Unhandled type");
- break;
- }
-
- // Some types preserve NaN values; all other types convert NaN to zero.
- if (type === Float32Array || type === Float64Array) {
- assert('initial NaN preserved', isNaN(new type([NaN])[0]));
- for (var i = 0; i < array.length; ++i)
- assert('NaN preserved via setter', isNaN(results[i]));
- } else {
- assertEq('initial NaN converted to zero', 0, new type([NaN])[0]);
- for (var i = 0; i < array.length; ++i)
- assertEq('NaN converted to zero by setter', 0, results[i]);
- }
-
- pass();
- } catch (e) {
- fail(e);
- }
-}
-
-//
-// Test driver
-//
-
-function runTests() {
- allPassed = true;
-
- testSlice();
- testInheritanceHierarchy();
-
- for (var i = 0; i < testCases.length; i++) {
- var testCase = testCases[i];
- running(testCase.name);
- if (!(testCase.name in window)) {
- fail("does not exist");
- continue;
- }
- var type = window[testCase.name];
- var name = testCase.name;
- if (testCase.unsigned) {
- testSetAndGet10To1(type, name);
- testConstructWithArrayOfUnsignedValues(type, name);
- testConstructWithTypedArrayOfUnsignedValues(type, name);
- } else {
- testSetAndGetPos10ToNeg10(type, name);
- testConstructWithArrayOfSignedValues(type, name);
- testConstructWithTypedArrayOfSignedValues(type, name);
- }
- if (testCase.integral) {
- testIntegralArrayTruncationBehavior(type, name, testCase.unsigned);
- }
- testGetWithOutOfRangeIndices(type, name);
- testOffsetsAndSizes(type, name, testCase.elementSizeInBytes);
- testSetFromTypedArray(type, name);
- negativeTestSetFromTypedArray(type, name);
- testSetFromArray(type, name);
- negativeTestSetFromArray(type, name);
- testSubarray(type, name);
- testSubarrayOffsetAndLengthClamping(type, name);
- negativeTestSubarray(type, name);
- testSetBoundaryConditions(type,
- name,
- testCase.testValues,
- testCase.expectedValues);
- testConstructionBoundaryConditions(type,
- name,
- testCase.testValues,
- testCase.expectedValues);
- testConstructionWithNullBuffer(type, name);
- testConstructionWithExceptionThrowingObject(type, name);
- testConstructionWithOutOfRangeValues(type, name);
- testConstructionWithNegativeOutOfRangeValues(type, name);
- testConstructionWithUnalignedOffset(type, name, testCase.elementSizeInBytes);
- testConstructionWithUnalignedLength(type, name, testCase.elementSizeInBytes);
- testConstructionWithBothArrayBufferAndLength(type, name, testCase.elementSizeInBytes);
- testConstructionWithSubPortionOfArrayBuffer(type, name, testCase.elementSizeInBytes);
- testSubarrayWithOutOfRangeValues(type, name, testCase.elementSizeInBytes);
- testSubarrayWithDefaultValues(type, name, testCase.elementSizeInBytes);
- testSettingFromArrayWithOutOfRangeOffset(type, name);
- testSettingFromTypedArrayWithOutOfRangeOffset(type, name);
- testSettingFromArrayWithNegativeOffset(type, name);
- testSettingFromTypedArrayWithNegativeOffset(type, name);
- testSettingFromArrayWithMinusZeroOffset(type, name);
- testSettingFromTypedArrayWithMinusZeroOffset(type, name);
- testSettingFromArrayWithBoundaryOffset(type, name);
- testSettingFromTypedArrayWithBoundaryOffset(type, name);
- testSettingFromArrayWithNonIntegerOffset(type, name);
- testSettingFromTypedArrayWithNonIntegerOffset(type, name);
- testSettingFromFakeArrayWithOutOfRangeLength(type, name);
- negativeTestGetAndSetMethods(type, name);
- testNaNConversion(type, name);
- }
-
- printSummary();
-}
-
-runTests();
-var successfullyParsed = true;
-
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits-expected.txt
deleted file mode 100644
index b3450e4..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Verify limits on the lengths of attrib locations.
-Test attrib location underneath the length limit
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
-PASS attrib location should not be -1
-PASS getError was expected value: NO_ERROR :
-Test attrib location exactly at the length limit
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
-PASS attrib location should not be -1
-PASS getError was expected value: NO_ERROR :
-Test attrib location over the length limit
-Shader compilation should fail
-PASS wtu.loadShaderFromScript(gl, "badVertexShader", gl.VERTEX_SHADER, function (err) {}) is null
-PASS getError was expected value: NO_ERROR :
-Attempt to bind too-long attrib location should produce error
-PASS getError was expected value: INVALID_VALUE :
-Attempt to fetch too-long attrib location should produce error
-PASS gl.getAttribLocation(program, "vPosition01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567") is -1
-PASS getError was expected value: INVALID_VALUE :
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits.html
deleted file mode 100644
index 7c7cc94..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/attrib-location-length-limits.html
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL attrib location length tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="50" height="50">
-There is supposed to be an example drawing here, but it's not important.
-</canvas>
-<div id="description">Verify limits on the lengths of attrib locations.</div>
-<div id="console"></div>
-<script id="goodVertexShader1" type="x-shader/x-vertex">
-// A vertex shader where the needed attrib location is long, but not over the limit.
-attribute vec4 vPosition01234567890123456789012345678901234567890123456789012345678901234567890;
-
-void main()
-{
- gl_Position = vPosition01234567890123456789012345678901234567890123456789012345678901234567890;
-}
-</script>
-<script id="goodVertexShader2" type="x-shader/x-vertex">
-// A vertex shader where the needed attrib location is exactly 256 characters.
-attribute vec4 vPosition0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456;
-
-void main()
-{
- gl_Position = vPosition0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456;
-}
-</script>
-<script id="badVertexShader" type="x-shader/x-vertex">
-// A vertex shader where the needed attrib location is 257 characters.
-attribute vec4 vPosition01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567;
-
-void main()
-{
- gl_Position = vPosition01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567;
-}
-</script>
-<script id="fragmentShader" type="x-shader/x-fragment">
-precision mediump float;
-
-void main() {
- gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
-}
-</script>
-<script>
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
-}
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl = wtu.create3DContext(document.getElementById("example"));
-
-debug("Test attrib location underneath the length limit");
-var program = wtu.loadProgramFromScript(gl, "goodVertexShader1", "fragmentShader");
-shouldBe('gl.getProgramParameter(program, gl.LINK_STATUS)', 'true');
-var attribLoc = gl.getAttribLocation(program, "vPosition01234567890123456789012345678901234567890123456789012345678901234567890");
-if (attribLoc == -1) {
- testFailed("attrib location was -1, should not be");
-} else {
- testPassed("attrib location should not be -1");
-}
-wtu.glErrorShouldBe(gl, gl.NONE);
-
-debug("Test attrib location exactly at the length limit");
-var program = wtu.loadProgramFromScript(gl, "goodVertexShader2", "fragmentShader");
-shouldBe('gl.getProgramParameter(program, gl.LINK_STATUS)', 'true');
-var attribLoc = gl.getAttribLocation(program, "vPosition0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456");
-if (attribLoc == -1) {
- testFailed("attrib location was -1, should not be");
-} else {
- testPassed("attrib location should not be -1");
-}
-wtu.glErrorShouldBe(gl, gl.NONE);
-
-debug("Test attrib location over the length limit");
-debug("Shader compilation should fail");
-shouldBe('wtu.loadShaderFromScript(gl, "badVertexShader", gl.VERTEX_SHADER, function (err) {})', 'null');
-wtu.glErrorShouldBe(gl, gl.NONE);
-
-debug("Attempt to bind too-long attrib location should produce error");
-var program = gl.createProgram();
-gl.bindAttribLocation(program, 0, "vPosition01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567");
-wtu.glErrorShouldBe(gl, gl.INVALID_VALUE);
-
-debug("Attempt to fetch too-long attrib location should produce error");
-shouldBe('gl.getAttribLocation(program, "vPosition01234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567")', '-1');
-wtu.glErrorShouldBe(gl, gl.INVALID_VALUE);
-
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test-expected.txt
deleted file mode 100644
index 105d1e1..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test-expected.txt
+++ /dev/null
@@ -1,116 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests calling WebGL APIs with wrong argument types
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS Program Compiled
-PASS Shader Compiled
-PASS getUniformLocation succeeded
-PASS context.compileShader(argument) threw exception TypeError: Failed to execute 'compileShader' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.linkProgram(argument) threw exception TypeError: Failed to execute 'linkProgram' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.attachShader(program, argument) threw exception TypeError: Failed to execute 'attachShader' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLShader'..
-PASS context.attachShader(argument, shader) threw exception TypeError: Failed to execute 'attachShader' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.detachShader(program, argument) threw exception TypeError: Failed to execute 'detachShader' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLShader'..
-PASS context.detachShader(argument, shader) threw exception TypeError: Failed to execute 'detachShader' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.useProgram(argument) threw exception TypeError: Failed to execute 'useProgram' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.shaderSource(argument, 'foo') threw exception TypeError: Failed to execute 'shaderSource' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.bindAttribLocation(argument, 0, 'foo') threw exception TypeError: Failed to execute 'bindAttribLocation' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.bindBuffer(context.ARRAY_BUFFER, argument) threw exception TypeError: Failed to execute 'bindBuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLBuffer'..
-PASS context.bindFramebuffer(context.FRAMEBUFFER, argument) threw exception TypeError: Failed to execute 'bindFramebuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLFramebuffer'..
-PASS context.bindRenderbuffer(context.RENDERBUFFER, argument) threw exception TypeError: Failed to execute 'bindRenderbuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLRenderbuffer'..
-PASS context.bindTexture(context.TEXTURE_2D, argument) threw exception TypeError: Failed to execute 'bindTexture' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLTexture'..
-PASS context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) threw exception TypeError: Failed to execute 'framebufferRenderbuffer' on 'WebGLRenderingContext': parameter 4 is not of type 'WebGLRenderbuffer'..
-PASS context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) threw exception TypeError: Failed to execute 'framebufferTexture2D' on 'WebGLRenderingContext': parameter 4 is not of type 'WebGLTexture'..
-PASS context.uniform2fv(argument, new Float32Array([0.0, 0.0])) threw exception TypeError: Failed to execute 'uniform2fv' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'..
-PASS context.uniform2iv(argument, new Int32Array([0, 0])) threw exception TypeError: Failed to execute 'uniform2iv' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'..
-PASS context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) threw exception TypeError: Failed to execute 'uniformMatrix2fv' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'..
-PASS context.getProgramInfoLog(argument) threw exception TypeError: Failed to execute 'getProgramInfoLog' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.getProgramParameter(argument, 0) threw exception TypeError: Failed to execute 'getProgramParameter' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.getShaderInfoLog(argument) threw exception TypeError: Failed to execute 'getShaderInfoLog' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.getShaderParameter(argument, 0) threw exception TypeError: Failed to execute 'getShaderParameter' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.getShaderSource(argument) threw exception TypeError: Failed to execute 'getShaderSource' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.getUniform(argument, loc) threw exception TypeError: Failed to execute 'getUniform' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.getUniform(program, argument) threw exception TypeError: Failed to execute 'getUniform' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLUniformLocation'..
-PASS context.getUniformLocation(argument, 'u_modelViewProjMatrix') threw exception TypeError: Failed to execute 'getUniformLocation' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.compileShader(argument) threw exception TypeError: Failed to execute 'compileShader' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.linkProgram(argument) threw exception TypeError: Failed to execute 'linkProgram' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.attachShader(program, argument) threw exception TypeError: Failed to execute 'attachShader' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLShader'..
-PASS context.attachShader(argument, shader) threw exception TypeError: Failed to execute 'attachShader' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.detachShader(program, argument) threw exception TypeError: Failed to execute 'detachShader' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLShader'..
-PASS context.detachShader(argument, shader) threw exception TypeError: Failed to execute 'detachShader' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.useProgram(argument) threw exception TypeError: Failed to execute 'useProgram' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.shaderSource(argument, 'foo') threw exception TypeError: Failed to execute 'shaderSource' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.bindAttribLocation(argument, 0, 'foo') threw exception TypeError: Failed to execute 'bindAttribLocation' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.bindBuffer(context.ARRAY_BUFFER, argument) threw exception TypeError: Failed to execute 'bindBuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLBuffer'..
-PASS context.bindFramebuffer(context.FRAMEBUFFER, argument) threw exception TypeError: Failed to execute 'bindFramebuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLFramebuffer'..
-PASS context.bindRenderbuffer(context.RENDERBUFFER, argument) threw exception TypeError: Failed to execute 'bindRenderbuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLRenderbuffer'..
-PASS context.bindTexture(context.TEXTURE_2D, argument) threw exception TypeError: Failed to execute 'bindTexture' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLTexture'..
-PASS context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) threw exception TypeError: Failed to execute 'framebufferRenderbuffer' on 'WebGLRenderingContext': parameter 4 is not of type 'WebGLRenderbuffer'..
-PASS context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) threw exception TypeError: Failed to execute 'framebufferTexture2D' on 'WebGLRenderingContext': parameter 4 is not of type 'WebGLTexture'..
-PASS context.uniform2fv(argument, new Float32Array([0.0, 0.0])) threw exception TypeError: Failed to execute 'uniform2fv' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'..
-PASS context.uniform2iv(argument, new Int32Array([0, 0])) threw exception TypeError: Failed to execute 'uniform2iv' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'..
-PASS context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) threw exception TypeError: Failed to execute 'uniformMatrix2fv' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLUniformLocation'..
-PASS context.getProgramInfoLog(argument) threw exception TypeError: Failed to execute 'getProgramInfoLog' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.getProgramParameter(argument, 0) threw exception TypeError: Failed to execute 'getProgramParameter' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.getShaderInfoLog(argument) threw exception TypeError: Failed to execute 'getShaderInfoLog' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.getShaderParameter(argument, 0) threw exception TypeError: Failed to execute 'getShaderParameter' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.getShaderSource(argument) threw exception TypeError: Failed to execute 'getShaderSource' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLShader'..
-PASS context.getUniform(argument, loc) threw exception TypeError: Failed to execute 'getUniform' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.getUniform(program, argument) threw exception TypeError: Failed to execute 'getUniform' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLUniformLocation'..
-PASS context.getUniformLocation(argument, 'u_modelViewProjMatrix') threw exception TypeError: Failed to execute 'getUniformLocation' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS context.compileShader(argument) is undefined.
-PASS context.linkProgram(argument) is undefined.
-PASS context.attachShader(program, argument) is undefined.
-PASS context.attachShader(argument, shader) is undefined.
-PASS context.detachShader(program, argument) is undefined.
-PASS context.detachShader(argument, shader) is undefined.
-PASS context.useProgram(argument) is undefined.
-PASS context.shaderSource(argument, 'foo') is undefined.
-PASS context.bindAttribLocation(argument, 0, 'foo') is undefined.
-PASS context.bindBuffer(context.ARRAY_BUFFER, argument) is undefined.
-PASS context.bindFramebuffer(context.FRAMEBUFFER, argument) is undefined.
-PASS context.bindRenderbuffer(context.RENDERBUFFER, argument) is undefined.
-PASS context.bindTexture(context.TEXTURE_2D, argument) is undefined.
-PASS context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) is undefined.
-PASS context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) is undefined.
-PASS context.uniform2fv(argument, new Float32Array([0.0, 0.0])) is undefined.
-PASS context.uniform2iv(argument, new Int32Array([0, 0])) is undefined.
-PASS context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) is undefined.
-PASS context.getProgramInfoLog(argument) is null
-PASS context.getProgramParameter(argument, 0) is null
-PASS context.getShaderInfoLog(argument) is null
-PASS context.getShaderParameter(argument, 0) is null
-PASS context.getShaderSource(argument) is null
-PASS context.getUniform(argument, loc) is null
-PASS context.getUniform(program, argument) is null
-PASS context.getUniformLocation(argument, 'u_modelViewProjMatrix') is null
-PASS context.compileShader(argument) is undefined.
-PASS context.linkProgram(argument) is undefined.
-PASS context.attachShader(program, argument) is undefined.
-PASS context.attachShader(argument, shader) is undefined.
-PASS context.detachShader(program, argument) is undefined.
-PASS context.detachShader(argument, shader) is undefined.
-PASS context.useProgram(argument) is undefined.
-PASS context.shaderSource(argument, 'foo') is undefined.
-PASS context.bindAttribLocation(argument, 0, 'foo') is undefined.
-PASS context.bindBuffer(context.ARRAY_BUFFER, argument) is undefined.
-PASS context.bindFramebuffer(context.FRAMEBUFFER, argument) is undefined.
-PASS context.bindRenderbuffer(context.RENDERBUFFER, argument) is undefined.
-PASS context.bindTexture(context.TEXTURE_2D, argument) is undefined.
-PASS context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument) is undefined.
-PASS context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0) is undefined.
-PASS context.uniform2fv(argument, new Float32Array([0.0, 0.0])) is undefined.
-PASS context.uniform2iv(argument, new Int32Array([0, 0])) is undefined.
-PASS context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0])) is undefined.
-PASS context.getProgramInfoLog(argument) is null
-PASS context.getProgramParameter(argument, 0) is null
-PASS context.getShaderInfoLog(argument) is null
-PASS context.getShaderParameter(argument, 0) is null
-PASS context.getShaderSource(argument) is null
-PASS context.getUniform(argument, loc) is null
-PASS context.getUniform(program, argument) is null
-PASS context.getUniformLocation(argument, 'u_modelViewProjMatrix') is null
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test.html
deleted file mode 100644
index 5c7bfb5..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/bad-arguments-test.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-description("Tests calling WebGL APIs with wrong argument types");
-
-var context = wtu.create3DContext();
-var program = wtu.loadStandardProgram(context);
-var shader = wtu.loadStandardVertexShader(context);
-var shouldGenerateGLError = wtu.shouldGenerateGLError;
-
-assertMsg(program != null, "Program Compiled");
-assertMsg(shader != null, "Shader Compiled");
-
-var loc = context.getUniformLocation(program, "u_modelViewProjMatrix");
-assertMsg(loc != null, "getUniformLocation succeeded");
-
-var arguments = [
- { value: "foo",
- throw: true },
- { value: 0,
- throw: true },
- { value: null,
- throw: false },
- { value: undefined,
- throw: false }
-];
-
-var argument;
-
-function shouldBeEmptyString(command) {
- shouldBe(command, "''");
-}
-
-for (var i = 0; i < arguments.length; ++i) {
- var func, func2;
- if (arguments[i].throw) {
- func = shouldThrow;
- func2 = shouldThrow;
- } else {
- func = shouldBeUndefined;
- func2 = shouldBeNull;
- }
- argument = arguments[i].value;
- func("context.compileShader(argument)");
- func("context.linkProgram(argument)");
- func("context.attachShader(program, argument)");
- func("context.attachShader(argument, shader)");
- func("context.detachShader(program, argument)");
- func("context.detachShader(argument, shader)");
- func("context.useProgram(argument)");
- func("context.shaderSource(argument, 'foo')");
- func("context.bindAttribLocation(argument, 0, 'foo')");
- func("context.bindBuffer(context.ARRAY_BUFFER, argument)");
- func("context.bindFramebuffer(context.FRAMEBUFFER, argument)");
- func("context.bindRenderbuffer(context.RENDERBUFFER, argument)");
- func("context.bindTexture(context.TEXTURE_2D, argument)");
- func("context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, argument)");
- func("context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, argument, 0)");
- func("context.uniform2fv(argument, new Float32Array([0.0, 0.0]))");
- func("context.uniform2iv(argument, new Int32Array([0, 0]))");
- func("context.uniformMatrix2fv(argument, false, new Float32Array([0.0, 0.0, 0.0, 0.0]))");
-
- func2("context.getProgramInfoLog(argument)");
- func2("context.getProgramParameter(argument, 0)");
- func2("context.getShaderInfoLog(argument)");
- func2("context.getShaderParameter(argument, 0)");
- func2("context.getShaderSource(argument)");
- func2("context.getUniform(argument, loc)");
- func2("context.getUniform(program, argument)");
- func2("context.getUniformLocation(argument, 'u_modelViewProjMatrix')");
-}
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test-expected.txt
deleted file mode 100644
index 0647dd9..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test-expected.txt
+++ /dev/null
@@ -1,19 +0,0 @@
-Checks a buffer can only be bound to 1 target.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-PASS should be able to bind buffer.
-PASS should be able to unbind buffer.
-PASS should get INVALID_OPERATION if attempting to bind buffer to different target
-PASS should be able to bind buffer.
-PASS should be able to unbind buffer.
-PASS should get INVALID_OPERATION if attempting to bind buffer to different target
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test.html
deleted file mode 100644
index 4216a26..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/buffer-bind-test.html
+++ /dev/null
@@ -1,62 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
- <head>
- <title>WebGL BindBuffer conformance test.</title>
- <script src="../../../resources/js-test.js"></script>
- <script src="resources/webgl-test.js"> </script>
-</head>
-<body>
-<canvas id="example" width="40" height="40" style="width: 40px; height: 40px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("Checks a buffer can only be bound to 1 target.");
-
-debug("");
-debug("Canvas.getContext");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
-
- var buf = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, buf);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "should be able to bind buffer.");
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "should be able to unbind buffer.");
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buf);
- assertMsg(gl.getError() == gl.INVALID_OPERATION,
- "should get INVALID_OPERATION if attempting to bind buffer to different target");
-
- var buf = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, buf);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "should be able to bind buffer.");
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "should be able to unbind buffer.");
- gl.bindBuffer(gl.ARRAY_BUFFER, buf);
- assertMsg(gl.getError() == gl.INVALID_OPERATION,
- "should get INVALID_OPERATION if attempting to bind buffer to different target");
-}
-
-debug("");
-</script>
-</body>
-
-<script>
-</script>
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test-expected.txt
deleted file mode 100644
index fe5b8ca..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test-expected.txt
+++ /dev/null
@@ -1,30 +0,0 @@
-This test ensures WebGL implementations interact correctly with the canvas tag.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Checking canvas and WebGL interaction
-PASS canvas.width is 300
-PASS canvas.height is 150
-PASS pixels are 0,0,0,0
-PASS getViewport() is "0,0,300,150"
-
-change display size of canvas and see that viewport does not change
-PASS getViewport() is "0,0,300,150"
-PASS canvas.width is 300
-PASS canvas.height is 150
-
-change the actual size of the canvas and see that the viewport does not change
-PASS pixels are 64,128,192,255
-PASS gl.clearColor should not change after canvas resize
-PASS gl.colorMask should not change after canvas resize
-PASS getViewport() is "0,0,300,150"
-PASS pixels are 0,0,0,0
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html
deleted file mode 100644
index f409660..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-test.html
+++ /dev/null
@@ -1,185 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL Canvas Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="../../../resources/run-after-layout-and-paint.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" style="width: 50px; height: 50px;"> </canvas>
-<canvas id="canvas2d" width="40" height="40"> </canvas>
-<script>
-jsTestIsAsync = true;
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
-}
-
-description("This test ensures WebGL implementations interact correctly with the canvas tag.");
-
-debug("");
-debug("Canvas.getContext");
-
-var canvas = document.getElementById("canvas");
-var canvas2d = document.getElementById("canvas2d");
-var ctx2d = canvas2d.getContext("2d");
-var gl = create3DContext(canvas);
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- debug("Checking canvas and WebGL interaction");
-
- // Check that a canvas with no width or height is 300x150 pixels
- shouldBe('canvas.width', '300');
- shouldBe('canvas.height', '150');
-
- // Check get a 4 value gl parameter as a csv string.
- function getValue4v(name) {
- var v = gl.getParameter(name);
- var result = '' +
- v[0] + ',' +
- v[1] + ',' +
- v[2] + ',' +
- v[3];
- return result;
- }
-
- function getViewport() {
- return getValue4v(gl.VIEWPORT);
- }
-
- function getClearColor() {
- return getValue4v(gl.COLOR_CLEAR_VALUE);
- }
-
- function isAboutEqual(a, b) {
- return Math.abs(a - b) < 0.01;
- }
-
- function isAboutEqualInt(a, b) {
- return Math.abs(a - b) < 3;
- }
-
- function checkCanvasContentIs(r3d,g3d,b3d,a3d) {
- var r2d;
- var g2d;
- var b2d;
- var a2d;
-
- function checkPixel(x, y, r3d,g3d,b3d,a3d) {
- var offset = (y * 40 + x) * 4;
- r2d = imgData.data[offset];
- g2d = imgData.data[offset + 1];
- b2d = imgData.data[offset + 2];
- a2d = imgData.data[offset + 3];
- //debug('' + x + ', ' + y + "(" + offset + ") = " + r2d + ", " + g2d + ", " + b2d + ", " + a2d);
- return isAboutEqualInt(r2d, r3d) &&
- isAboutEqualInt(g2d, g3d) &&
- isAboutEqualInt(b2d, b3d) &&
- isAboutEqualInt(a2d, a3d);
- }
-
- function checkPixels(r3d,g3d,b3d,a3d) {
- return checkPixel(0, 0, r3d, g3d, b3d, a3d) &&
- checkPixel(0, 39, r3d, g3d, b3d, a3d) &&
- checkPixel(39, 0, r3d, g3d, b3d, a3d) &&
- checkPixel(39, 39, r3d, g3d, b3d, a3d) &&
- checkPixel(0, 0, r3d, g3d, b3d, a3d);
- };
-
- // Set to just take the color from the 3d canvas
- ctx2d.globalCompositeOperation = 'copy';
-
- // fill 2d canvas with orange
- ctx2d.fillStyle = "rgb(255,192,128)";
- ctx2d.fillRect (0, 0, 40, 40);
-
- // get the image data
- var imgData = ctx2d.getImageData(0, 0, 40, 40);
-
- // check it got cleared.
- if (!checkPixels(255, 192, 128, 255)) {
- testFailed("unable to fill 2d context.");
- return;
- }
-
- // draw 3d canvas on top.
- ctx2d.drawImage(canvas, 0,0, 40, 40);
-
- // get the image data
- var imgData = ctx2d.getImageData(0, 0, 40, 40);
-
- // Check it's the expected color.
- if (!checkPixels(r3d, g3d, b3d, a3d)) {
- testFailed("pixels are " + r2d + "," + g2d + "," + b2d + "," + a2d +
- " expected " + r3d + "," + g3d + "," + b3d + "," + a3d);
- } else {
- testPassed("pixels are " + r3d + "," + g3d + "," + b3d + "," + a3d);
- }
- }
-
- checkCanvasContentIs(0, 0, 0, 0);
- shouldBe('getViewport()', '"0,0,300,150"');
-
- // Change the display size of the canvas and check
- // the viewport size does not change.
- debug("");
- debug("change display size of canvas and see that viewport does not change");
- canvas.style.width = "100px";
- canvas.style.height = "25px";
- runAfterLayoutAndPaint(function() {
- if (canvas.clientWidth == 100 &&
- canvas.clientHeight == 25) {
- shouldBe('getViewport()', '"0,0,300,150"');
- shouldBe('canvas.width', '300');
- shouldBe('canvas.height', '150');
-
- // Change the actual size of the canvas
- // Check that the viewport does not change.
- // Check that the clear color does not change.
- // Check that the color mask does not change.
- debug("");
- debug("change the actual size of the canvas and see that the viewport does not change");
- gl.clearColor(0.25, 0.5, 0.75, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- checkCanvasContentIs(64, 128, 192, 255);
- gl.colorMask(0,0,0,0);
- canvas.width = 400;
- canvas.height = 10;
-
- var v = gl.getParameter(gl.COLOR_CLEAR_VALUE);
- assertMsg(isAboutEqual(v[0], 0.25) &&
- isAboutEqual(v[1], 0.5) &&
- isAboutEqual(v[2], 0.75) &&
- isAboutEqual(v[3], 1),
- "gl.clearColor should not change after canvas resize");
- v = gl.getParameter(gl.COLOR_WRITEMASK);
- assertMsg(isAboutEqual(v[0], 0) &&
- isAboutEqual(v[1], 0) &&
- isAboutEqual(v[2], 0) &&
- isAboutEqual(v[3], 0),
- "gl.colorMask should not change after canvas resize");
- shouldBe('getViewport()', '"0,0,300,150"');
- checkCanvasContentIs(0, 0, 0, 0);
-
- debug("");
-
- finishJSTest();
- }
- });
-}
-
-</script>
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size-expected.txt
deleted file mode 100644
index 9966f55..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Tests that a zero size canvas does not fail.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS program != null is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size.html
deleted file mode 100644
index eeb356a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/canvas-zero-size.html
+++ /dev/null
@@ -1,34 +0,0 @@
-<!DOCTYPE html>
-<html>
- <head>
- <meta charset="utf-8">
- <title>Zero Size Canvas Test</title>
- <script src="../../../resources/js-test.js"></script>
- <script src="resources/webgl-test.js"> </script>
- <script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("Tests that a zero size canvas does not fail.");
-var wtu = WebGLTestUtils;
-var canvas = document.createElement('canvas');
-var gl = wtu.create3DContext(canvas);
-canvas.width = 0;
-canvas.height = 0;
-gl.viewport(0, 0, 0, 0);
-var program = wtu.setupTexturedQuad(gl);
-shouldBeTrue("program != null");
-var tex = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, tex);
-var pixel = new Uint8Array([0, 255, 0, 255]);
-gl.texImage2D(
- gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixel);
-wtu.drawQuad(gl);
-
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt
deleted file mode 100644
index a6862a9..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias-expected.txt
+++ /dev/null
@@ -1,122 +0,0 @@
-Verify WebGLContextAttributes are working as specified, including alpha, depth, stencil, antialias, but not premultipliedAlpha
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing default attributes: { stencil:false }
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, null, [ 0, 0, 0, 0 ], 1, 0) is non-null.
-PASS gl.getContextAttributes().stencil is false
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-Testing alpha = true
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { alpha: true, depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 0 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS contextAttribs.alpha == true is true
-PASS pixel is correctColor
-PASS Math.abs(pixel[0] - 127) <= 1 && Math.abs(pixel[1] - 127) <= 1 && Math.abs(pixel[2] - 127) <= 1 && Math.abs(pixel[3] - 127) <= 1 is true
-Testing alpha = false
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { alpha: false, depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 0 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.ALPHA_BITS) == 0 is true
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS contextAttribs.alpha == false is true
-PASS pixel is correctColor
-PASS Math.abs(pixel[0] - 127) <= 1 && Math.abs(pixel[1] - 127) <= 1 && Math.abs(pixel[2] - 127) <= 1 && Math.abs(pixel[3] - 127) <= 1 is true
-Testing depth = true
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel is correctColor
-PASS pixel is [0, 0, 0, 255]
-Testing depth = false
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel is correctColor
-PASS pixel is [0, 0, 0, 255]
-Testing stencil = true, depth = false
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { depth: false, stencil: true, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel is correctColor
-PASS pixel is [0, 0, 0, 255]
-Testing stencil = false, depth = false
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel is correctColor
-PASS pixel is [0, 0, 0, 255]
-Testing stencil = true, depth = true
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { depth: true, stencil: true, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
-PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel is correctColor
-PASS pixel is [0, 0, 0, 255]
-Testing stencil = false, depth = true
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(1, 1, { depth: true, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS gl.getParameter(gl.RED_BITS) >= 8 is true
-PASS gl.getParameter(gl.GREEN_BITS) >= 8 is true
-PASS gl.getParameter(gl.BLUE_BITS) >= 8 is true
-PASS gl.getParameter(gl.ALPHA_BITS) >= 8 is true
-PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel is correctColor
-PASS pixel is [0, 0, 0, 255]
-Testing antialias = true
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(2, 2, { depth: false, stencil: false, alpha: false, antialias: true }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel[0] != 255 && pixel[0] != 0 is contextAttribs.antialias
-Testing antialias = false
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS gl = getWebGL(2, 2, { depth: false, stencil: false, alpha: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0) is non-null.
-PASS contextAttribs = gl.getContextAttributes() is non-null.
-PASS pixel[0] != 255 && pixel[0] != 0 is contextAttribs.antialias
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
deleted file mode 100644
index 1d97dfa..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-attributes-alpha-depth-stencil-antialias.html
+++ /dev/null
@@ -1,359 +0,0 @@
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec3 pos;
-attribute vec4 colorIn;
-varying vec4 color;
-
-void main()
-{
- color = colorIn;
- gl_Position = vec4(pos.xyz, 1.0);
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-precision mediump float;
-
-varying vec4 color;
-
-void main()
-{
- gl_FragColor = color;
-}
-</script>
-
-<script>
-var successfullyParsed = false;
-
-// These four declarations need to be global for "shouldBe" to see them
-var gl;
-var contextAttribs = null;
-var pixel = [0, 0, 0, 1];
-var correctColor = null;
-var framebuffer;
-var fbHasColor;
-var fbHasDepth;
-var fbHasStencil;
-
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
- }
-
- if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
- description('Verify WebGLContextAttributes are working as specified, including alpha, depth, stencil, antialias, but not premultipliedAlpha');
-
- runTest();
-}
-
-function getWebGL(canvasWidth, canvasHeight, contextAttribs, clearColor, clearDepth, clearStencil)
-{
- var canvas = document.createElement("canvas");
- if (!canvas)
- return null;
- canvas.width = canvasWidth;
- canvas.height = canvasHeight;
-
- gl = create3DContext(canvas, contextAttribs);
- if (!gl)
- return null;
-
- var program = createProgram(gl, "vshader", "fshader", ["pos", "colorIn"]);
- if (!program)
- return null;
-
- gl.useProgram(program);
-
- gl.enable(gl.DEPTH_TEST);
- gl.enable(gl.STENCIL_TEST);
- gl.disable(gl.BLEND);
-
- gl.clearColor(clearColor[0], clearColor[1], clearColor[2], clearColor[3]);
- gl.clearDepth(clearDepth);
- gl.clearStencil(clearStencil);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT | gl.STENCIL_BUFFER_BIT);
-
- framebuffer = gl.createFramebuffer();
- gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
- var texture = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, texture);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.canvas.width, gl.canvas.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
- fbHasStencil = false;
- fbHasDepth = false;
- fbHasColor = gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE;
- if (fbHasColor) {
- var depthStencil = gl.createRenderbuffer();
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencil);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, gl.canvas.width, gl.canvas.height);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, depthStencil);
- fbHasDepth = gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE;
- if (!fbHasDepth) {
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.RENDERBUFFER, null);
- shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
- } else {
- fbHasStencil = true;
- }
- }
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- glErrorShouldBe(gl, gl.NO_ERROR, "should be no errors");
-
- return gl;
-}
-
-function drawAndReadPixel(gl, vertices, colors, x, y)
-{
- var colorOffset = vertices.byteLength;
-
- var vbo = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
- gl.bufferData(gl.ARRAY_BUFFER, colorOffset + colors.byteLength, gl.STATIC_DRAW);
- gl.bufferSubData(gl.ARRAY_BUFFER, 0, vertices);
- gl.bufferSubData(gl.ARRAY_BUFFER, colorOffset, colors);
-
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(1, 4, gl.UNSIGNED_BYTE, true, 0, colorOffset);
- gl.enableVertexAttribArray(1);
-
- gl.drawArrays(gl.TRIANGLES, 0, vertices.length / 3);
-
- var buf = new Uint8Array(1 * 1 * 4);
- gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- return buf;
-}
-
-function testDefault()
-{
- debug("Testing default attributes: { stencil:false }");
- shouldBeNonNull("gl = getWebGL(1, 1, null, [ 0, 0, 0, 0 ], 1, 0)");
- shouldBeFalse("gl.getContextAttributes().stencil");
- shouldBeTrue("gl.getParameter(gl.STENCIL_BITS) == 0");
-}
-
-function testAlpha(alpha)
-{
- debug("Testing alpha = " + alpha);
- if (alpha) {
- shouldBeNonNull("gl = getWebGL(1, 1, { alpha: true, depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 0 ], 1, 0)");
- shouldBeTrue("gl.getParameter(gl.ALPHA_BITS) >= 8");
- } else {
- shouldBeNonNull("gl = getWebGL(1, 1, { alpha: false, depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 0 ], 1, 0)");
- shouldBeTrue("gl.getParameter(gl.ALPHA_BITS) == 0");
- }
- shouldBeTrue("gl.getParameter(gl.RED_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.GREEN_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.BLUE_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) == 0");
- shouldBeTrue("gl.getParameter(gl.STENCIL_BITS) == 0");
-
- shouldBeNonNull("contextAttribs = gl.getContextAttributes()");
- shouldBeTrue("contextAttribs.alpha == " + alpha);
-
- var buf = new Uint8Array(1 * 1 * 4);
- gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- pixel[0] = buf[0];
- pixel[1] = buf[1];
- pixel[2] = buf[2];
- pixel[3] = buf[3];
- correctColor = (contextAttribs.alpha ? [0, 0, 0, 0] : [0, 0, 0, 255]);
- shouldBe("pixel", "correctColor");
-
- if (fbHasColor) {
- gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
- gl.clearColor(0.5, 0.5, 0.5, 0.5);
- gl.clear(gl.COLOR_BUFFER_BIT);
- gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- pixel[0] = buf[0];
- pixel[1] = buf[1];
- pixel[2] = buf[2];
- pixel[3] = buf[3];
- shouldBeTrue("Math.abs(pixel[0] - 127) <= 1 && Math.abs(pixel[1] - 127) <= 1 && Math.abs(pixel[2] - 127) <= 1 && Math.abs(pixel[3] - 127) <= 1");
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- }
-}
-
-function testDepth(depth)
-{
- debug("Testing depth = " + depth);
- if (depth) {
- shouldBeNonNull("gl = getWebGL(1, 1, { stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0)");
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) >= 16");
- } else {
- shouldBeNonNull("gl = getWebGL(1, 1, { depth: false, stencil: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0)");
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) == 0");
- }
- shouldBeTrue("gl.getParameter(gl.RED_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.GREEN_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.BLUE_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.ALPHA_BITS) >= 8");
-
- shouldBeNonNull("contextAttribs = gl.getContextAttributes()");
-
- gl.depthFunc(gl.NEVER);
-
- var vertices = new Float32Array([
- 1.0, 1.0, 0.0,
- -1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, -1.0, 0.0]);
- var colors = new Uint8Array([
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255]);
-
- var buf = drawAndReadPixel(gl, vertices, colors, 0, 0);
- pixel[0] = buf[0];
- pixel[1] = buf[1];
- pixel[2] = buf[2];
- pixel[3] = buf[3];
- correctColor = (contextAttribs.depth ? [0, 0, 0, 255] : [255, 0, 0, 255]);
- shouldBe("pixel", "correctColor");
-
- if (fbHasDepth) {
- gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- var buf = drawAndReadPixel(gl, vertices, colors, 0, 0);
- pixel[0] = buf[0];
- pixel[1] = buf[1];
- pixel[2] = buf[2];
- pixel[3] = buf[3];
- shouldBe("pixel", "[0, 0, 0, 255]");
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- }
-}
-
-function testStencilAndDepth(stencil, depth)
-{
- debug("Testing stencil = " + stencil + ", depth = " + depth);
- var creationString =
- "gl = getWebGL(1, 1, { depth: " + depth + ", stencil: " + stencil + ", antialias: false }, [ 0, 0, 0, 1 ], 1, 0)";
- shouldBeNonNull(creationString);
-
- shouldBeTrue("gl.getParameter(gl.RED_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.GREEN_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.BLUE_BITS) >= 8");
- shouldBeTrue("gl.getParameter(gl.ALPHA_BITS) >= 8");
- if (depth)
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) >= 16");
- else
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) == 0");
-
- if (stencil)
- shouldBeTrue("gl.getParameter(gl.STENCIL_BITS) >= 8");
- else
- shouldBeTrue("gl.getParameter(gl.STENCIL_BITS) == 0");
-
- shouldBeNonNull("contextAttribs = gl.getContextAttributes()");
- if (!depth && contextAttribs.depth) {
- testFailed("WebGL implementation provided a depth buffer when it should not have");
- }
- if (!contextAttribs.depth)
- depth = false;
- if (!stencil && contextAttribs.stencil) {
- testFailed("WebGL implementation provided a stencil buffer when it should not have");
- }
- if (!contextAttribs.stencil)
- stencil = false;
-
- gl.depthFunc(gl.ALWAYS);
-
- gl.stencilFunc(gl.NEVER, 1, 1);
- gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP);
-
- var vertices = new Float32Array([
- 1.0, 1.0, 0.0,
- -1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, -1.0, 0.0]);
- var colors = new Uint8Array([
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255]);
-
- var buf = drawAndReadPixel(gl, vertices, colors, 0, 0);
- pixel[0] = buf[0];
- pixel[1] = buf[1];
- pixel[2] = buf[2];
- pixel[3] = buf[3];
- correctColor = (stencil ? [0, 0, 0, 255] : [255, 0, 0, 255]);
- shouldBe("pixel", "correctColor");
-
- if (fbHasStencil) {
- gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- var buf = drawAndReadPixel(gl, vertices, colors, 0, 0);
- pixel[0] = buf[0];
- pixel[1] = buf[1];
- pixel[2] = buf[2];
- pixel[3] = buf[3];
- shouldBe("pixel", "[0, 0, 0, 255]");
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- }
-}
-
-function testAntialias(antialias)
-{
- debug("Testing antialias = " + antialias);
- if (antialias)
- shouldBeNonNull("gl = getWebGL(2, 2, { depth: false, stencil: false, alpha: false, antialias: true }, [ 0, 0, 0, 1 ], 1, 0)");
- else
- shouldBeNonNull("gl = getWebGL(2, 2, { depth: false, stencil: false, alpha: false, antialias: false }, [ 0, 0, 0, 1 ], 1, 0)");
- shouldBeNonNull("contextAttribs = gl.getContextAttributes()");
-
- var vertices = new Float32Array([
- 1.0, 1.0, 0.0,
- -1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0]);
- var colors = new Uint8Array([
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255]);
- var buf = drawAndReadPixel(gl, vertices, colors, 0, 0);
- pixel[0] = buf[0];
- shouldBe("pixel[0] != 255 && pixel[0] != 0", "contextAttribs.antialias");
-}
-
-function runTest()
-{
- testDefault();
- testAlpha(true);
- testAlpha(false);
- testDepth(true);
- testDepth(false);
- testStencilAndDepth(true, false);
- testStencilAndDepth(false, false);
- testStencilAndDepth(true, true);
- testStencilAndDepth(false, true);
- testAntialias(true);
- testAntialias(false);
-
- finishTest();
-}
-
-</script>
-</head>
-<body onload="init()">
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-expected.txt
deleted file mode 100644
index 36f0c20..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-expected.txt
+++ /dev/null
@@ -1,188 +0,0 @@
-Tests behavior under a lost context
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Test valid context
-PASS gl.isContextLost() is false
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.enable(gl.BLEND) was expected value: NO_ERROR.
-PASS gl.isBuffer(buffer) is true
-PASS gl.isEnabled(gl.BLEND) is true
-PASS gl.isFramebuffer(framebuffer) is true
-PASS gl.isProgram(program) is true
-PASS gl.isRenderbuffer(renderbuffer) is true
-PASS gl.isShader(shader) is true
-PASS gl.isTexture(texture) is true
-
-Lose context
-
-Test lost context
-PASS gl.isContextLost() is true
-PASS gl.getError() is gl.CONTEXT_LOST_WEBGL
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_UNSUPPORTED
-PASS gl.getAttribLocation(program, 'u_modelViewProjMatrix') is -1
-PASS gl.getVertexAttribOffset(0, gl.VERTEX_ATTRIB_ARRAY_POINTER) is 0
-PASS extension.loseContext() was expected value: INVALID_OPERATION.
-PASS gl.activeTexture(gl.TEXTURE0) was expected value: NO_ERROR.
-PASS gl.attachShader(program, shader) was expected value: NO_ERROR.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, buffer) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer) was expected value: NO_ERROR.
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer) was expected value: NO_ERROR.
-PASS gl.bindTexture(gl.TEXTURE_2D, texture) was expected value: NO_ERROR.
-PASS gl.blendColor(1.0, 1.0, 1.0, 1.0) was expected value: NO_ERROR.
-PASS gl.blendEquation(gl.FUNC_ADD) was expected value: NO_ERROR.
-PASS gl.blendEquationSeparate(gl.FUNC_ADD, gl.FUNC_ADD) was expected value: NO_ERROR.
-PASS gl.blendFunc(gl.ONE, gl.ONE) was expected value: NO_ERROR.
-PASS gl.blendFuncSeparate(gl.ONE, gl.ONE, gl.ONE, gl.ONE) was expected value: NO_ERROR.
-PASS gl.bufferData(gl.ARRAY_BUFFER, 0, gl.STATIC_DRAW) was expected value: NO_ERROR.
-PASS gl.bufferData(gl.ARRAY_BUFFER, arrayBufferView, gl.STATIC_DRAW) was expected value: NO_ERROR.
-PASS gl.bufferData(gl.ARRAY_BUFFER, arrayBuffer, gl.STATIC_DRAW) was expected value: NO_ERROR.
-PASS gl.bufferSubData(gl.ARRAY_BUFFRE, 0, arrayBufferView) was expected value: NO_ERROR.
-PASS gl.bufferSubData(gl.ARRAY_BUFFRE, 0, arrayBuffer) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.clearColor(1, 1, 1, 1) was expected value: NO_ERROR.
-PASS gl.clearDepth(1) was expected value: NO_ERROR.
-PASS gl.clearStencil(0) was expected value: NO_ERROR.
-PASS gl.colorMask(1, 1, 1, 1) was expected value: NO_ERROR.
-PASS gl.compileShader(shader) was expected value: NO_ERROR.
-PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.cullFace(gl.FRONT) was expected value: NO_ERROR.
-PASS gl.deleteBuffer(buffer) was expected value: NO_ERROR.
-PASS gl.deleteFramebuffer(framebuffer) was expected value: NO_ERROR.
-PASS gl.deleteProgram(program) was expected value: NO_ERROR.
-PASS gl.deleteRenderbuffer(renderbuffer) was expected value: NO_ERROR.
-PASS gl.deleteShader(shader) was expected value: NO_ERROR.
-PASS gl.deleteTexture(texture) was expected value: NO_ERROR.
-PASS gl.depthFunc(gl.NEVER) was expected value: NO_ERROR.
-PASS gl.depthMask(0) was expected value: NO_ERROR.
-PASS gl.depthRange(0, 1) was expected value: NO_ERROR.
-PASS gl.detachShader(program, shader) was expected value: NO_ERROR.
-PASS gl.disable(gl.BLEND) was expected value: NO_ERROR.
-PASS gl.disableVertexAttribArray(0) was expected value: NO_ERROR.
-PASS gl.drawArrays(gl.POINTS, 0, 0) was expected value: NO_ERROR.
-PASS gl.drawElements(gl.POINTS, 0, gl.UNSIGNED_SHORT, 0) was expected value: NO_ERROR.
-PASS gl.enable(gl.BLEND) was expected value: NO_ERROR.
-PASS gl.enableVertexAttribArray(0) was expected value: NO_ERROR.
-PASS gl.finish() was expected value: NO_ERROR.
-PASS gl.flush() was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, renderbuffer) was expected value: NO_ERROR.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0) was expected value: NO_ERROR.
-PASS gl.frontFace(gl.CW) was expected value: NO_ERROR.
-PASS gl.generateMipmap(gl.TEXTURE_2D) was expected value: NO_ERROR.
-PASS gl.hint(gl.GENERATE_MIPMAP_HINT, gl.FASTEST) was expected value: NO_ERROR.
-PASS gl.lineWidth(0) was expected value: NO_ERROR.
-PASS gl.linkProgram(program) was expected value: NO_ERROR.
-PASS gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 0) was expected value: NO_ERROR.
-PASS gl.polygonOffset(0, 0) was expected value: NO_ERROR.
-PASS gl.readPixels(0, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, arrayBufferView) was expected value: NO_ERROR.
-PASS gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 0, 0) was expected value: NO_ERROR.
-PASS gl.sampleCoverage(0, 0) was expected value: NO_ERROR.
-PASS gl.scissor(0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.shaderSource(shader, '') was expected value: NO_ERROR.
-PASS gl.stencilFunc(gl.NEVER, 0, 0) was expected value: NO_ERROR.
-PASS gl.stencilFuncSeparate(gl.FRONT, gl.NEVER, 0, 0) was expected value: NO_ERROR.
-PASS gl.stencilMask(0) was expected value: NO_ERROR.
-PASS gl.stencilMaskSeparate(gl.FRONT, 0) was expected value: NO_ERROR.
-PASS gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP) was expected value: NO_ERROR.
-PASS gl.stencilOpSeparate(gl.FRONT, gl.KEEP, gl.KEEP, gl.KEEP) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, arrayBufferView) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, imageData) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, video) was expected value: NO_ERROR.
-PASS gl.texParameterf(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST) was expected value: NO_ERROR.
-PASS gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST) was expected value: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, arrayBufferView) was expected value: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, imageData) was expected value: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, image) was expected value: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, canvas) was expected value: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, video) was expected value: NO_ERROR.
-PASS gl.uniform1f(uniformLocation, 0) was expected value: NO_ERROR.
-PASS gl.uniform1fv(uniformLocation, float32array) was expected value: NO_ERROR.
-PASS gl.uniform1fv(uniformLocation, [0]) was expected value: NO_ERROR.
-PASS gl.uniform1i(uniformLocation, 0) was expected value: NO_ERROR.
-PASS gl.uniform1iv(uniformLocation, int32array) was expected value: NO_ERROR.
-PASS gl.uniform1iv(uniformLocation, [0]) was expected value: NO_ERROR.
-PASS gl.uniform2f(uniformLocation, 0, 0) was expected value: NO_ERROR.
-PASS gl.uniform2fv(uniformLocation, float32array) was expected value: NO_ERROR.
-PASS gl.uniform2fv(uniformLocation, [0, 0]) was expected value: NO_ERROR.
-PASS gl.uniform2i(uniformLocation, 0, 0) was expected value: NO_ERROR.
-PASS gl.uniform2iv(uniformLocation, int32array) was expected value: NO_ERROR.
-PASS gl.uniform2iv(uniformLocation, [0, 0]) was expected value: NO_ERROR.
-PASS gl.uniform3f(uniformLocation, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.uniform3fv(uniformLocation, float32array) was expected value: NO_ERROR.
-PASS gl.uniform3fv(uniformLocation, [0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.uniform3i(uniformLocation, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.uniform3iv(uniformLocation, int32array) was expected value: NO_ERROR.
-PASS gl.uniform3iv(uniformLocation, [0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.uniform4f(uniformLocation, 0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.uniform4fv(uniformLocation, float32array) was expected value: NO_ERROR.
-PASS gl.uniform4fv(uniformLocation, [0, 0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.uniform4i(uniformLocation, 0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.uniform4iv(uniformLocation, int32array) was expected value: NO_ERROR.
-PASS gl.uniform4iv(uniformLocation, [0, 0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.uniformMatrix2fv(uniformLocation, false, float32array) was expected value: NO_ERROR.
-PASS gl.uniformMatrix2fv(uniformLocation, false, [0, 0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.uniformMatrix3fv(uniformLocation, false, float32array) was expected value: NO_ERROR.
-PASS gl.uniformMatrix3fv(uniformLocation, false, [0, 0, 0, 0, 0, 0, 0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.uniformMatrix4fv(uniformLocation, false, float32array) was expected value: NO_ERROR.
-PASS gl.uniformMatrix4fv(uniformLocation, false, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.useProgram(program) was expected value: NO_ERROR.
-PASS gl.validateProgram(program) was expected value: NO_ERROR.
-PASS gl.vertexAttrib1f(0, 0) was expected value: NO_ERROR.
-PASS gl.vertexAttrib1fv(0, float32array) was expected value: NO_ERROR.
-PASS gl.vertexAttrib1fv(0, [0]) was expected value: NO_ERROR.
-PASS gl.vertexAttrib2f(0, 0, 0) was expected value: NO_ERROR.
-PASS gl.vertexAttrib2fv(0, float32array) was expected value: NO_ERROR.
-PASS gl.vertexAttrib2fv(0, [0, 0]) was expected value: NO_ERROR.
-PASS gl.vertexAttrib3f(0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.vertexAttrib3fv(0, float32array) was expected value: NO_ERROR.
-PASS gl.vertexAttrib3fv(0, [0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.vertexAttrib4f(0, 0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.vertexAttrib4fv(0, float32array) was expected value: NO_ERROR.
-PASS gl.vertexAttrib4fv(0, [0, 0, 0, 0]) was expected value: NO_ERROR.
-PASS gl.vertexAttribPointer(0, 0, gl.FLOAT, false, 0, 0) was expected value: NO_ERROR.
-PASS gl.viewport(0, 0, 0, 0) was expected value: NO_ERROR.
-PASS gl.createBuffer() is null
-PASS gl.createFramebuffer() is null
-PASS gl.createProgram() is null
-PASS gl.createRenderbuffer() is null
-PASS gl.createShader(gl.GL_VERTEX_SHADER) is null
-PASS gl.createTexture() is null
-PASS gl.getActiveAttrib(program, 0) is null
-PASS gl.getActiveUniform(program, 0) is null
-PASS gl.getAttachedShaders(program) is null
-PASS gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE) is null
-PASS gl.getContextAttributes() is null
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is null
-PASS gl.getParameter(gl.CURRENT_PROGRAM) is null
-PASS gl.getProgramInfoLog(program) is null
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is null
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is null
-PASS gl.getShaderInfoLog(shader) is null
-PASS gl.getShaderParameter(shader, gl.SHADER_TYPE) is null
-PASS gl.getShaderSource(shader) is null
-PASS gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S) is null
-PASS gl.getUniform(program, uniformLocation) is null
-PASS gl.getUniformLocation(program, 'vPosition') is null
-PASS gl.getVertexAttrib(0, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is null
-PASS gl.getSupportedExtensions() is null
-PASS gl.getExtension('WEBGL_lose_context') is null
-PASS gl.isBuffer(buffer) is false
-PASS gl.isEnabled(gl.BLEND) is false
-PASS gl.isFramebuffer(framebuffer) is false
-PASS gl.isProgram(program) is false
-PASS gl.isRenderbuffer(renderbuffer) is false
-PASS gl.isShader(shader) is false
-PASS gl.isTexture(texture) is false
-PASS gl.getError() is gl.NO_ERROR
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored-expected.txt
deleted file mode 100644
index d633543..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored-expected.txt
+++ /dev/null
@@ -1,64 +0,0 @@
-Tests behavior under a restored context.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Test losing a context and inability to restore it.
-Test valid context
-PASS gl.isContextLost() is false
-PASS gl.getError() is gl.NO_ERROR
-PASS shouldBe 255,10,20
-PASS gl.getError() is gl.NO_ERROR
-
-PASS gl.isContextLost() is true
-PASS gl.getError() is gl.CONTEXT_LOST_WEBGL
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP) was expected value: NO_ERROR.
-PASS contextLostEventFired is false
-Test lost context
-PASS contextLostEventFired is false
-PASS gl.isContextLost() is true
-PASS gl.getError() is gl.NO_ERROR
-
-PASS extension.restoreContext() was expected value: INVALID_OPERATION.
-
-Test losing and restoring a context.
-Test valid context
-PASS gl.isContextLost() is false
-PASS gl.getError() is gl.NO_ERROR
-PASS shouldBe 255,10,20
-PASS gl.getError() is gl.NO_ERROR
-
-PASS gl.isContextLost() is true
-PASS gl.getError() is gl.CONTEXT_LOST_WEBGL
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP) was expected value: NO_ERROR.
-PASS contextLostEventFired is false
-Test lost context
-PASS contextLostEventFired is false
-PASS gl.isContextLost() is true
-PASS gl.getError() is gl.NO_ERROR
-
-PASS extension.restoreContext() was expected value: NO_ERROR.
-PASS gl.isContextLost() is true
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP) was expected value: NO_ERROR.
-Test restored context
-PASS contextRestoredEventFired is false
-PASS gl.isContextLost() is false
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.bindTexture(gl.TEXTURE_2D, texture) was expected value: INVALID_OPERATION.
-PASS gl.useProgram(program) was expected value: INVALID_OPERATION.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, bufferObjects[0]) was expected value: INVALID_OPERATION.
-PASS shouldBe 255,10,20
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.bindTexture(gl.TEXTURE_2D, texture) was expected value: NO_ERROR.
-PASS gl.useProgram(program) was expected value: NO_ERROR.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, bufferObjects[0]) was expected value: NO_ERROR.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html
deleted file mode 100644
index 906ea43..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost-restored.html
+++ /dev/null
@@ -1,207 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas;
-var gl;
-var shouldGenerateGLError;
-var extension;
-var bufferObjects;
-var program;
-var texture;
-var texColor = [255, 10, 20, 255];
-var allowRestore;
-var contextLostEventFired;
-var contextRestoredEventFired;
-
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
- }
-
- description("Tests behavior under a restored context.");
-
- shouldGenerateGLError = wtu.shouldGenerateGLError;
- testLosingContext();
-}
-
-function setupTest()
-{
- canvas = document.createElement("canvas");
- canvas.width = 1;
- canvas.height = 1;
- gl = wtu.create3DContext(canvas);
- extension = gl.getExtension("WEBGL_lose_context");
- if (!extension) {
- debug("Could not find lose_context extension under the following names: WEBGL_lose_context");
- return false;
- }
- return true;
-}
-
-function testLosingContext()
-{
- if (!setupTest())
- finishTest();
-
- debug("Test losing a context and inability to restore it.");
-
- canvas.addEventListener("webglcontextlost", function(e) {
- testLostContext(e);
- // restore the context after this event has exited.
- setTimeout(function() {
- // we didn't call prevent default so we should not be able to restore the context
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "extension.restoreContext()");
- testLosingAndRestoringContext();
- }, 0);
- });
- canvas.addEventListener("webglcontextrestored", testShouldNotRestoreContext);
- allowRestore = false;
- contextLostEventFired = false;
- contextRestoredEventFired = false;
-
- testOriginalContext();
- extension.loseContext();
- // The context should be lost immediately.
- shouldBeTrue("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.CONTEXT_LOST_WEBGL");
- shouldBe("gl.getError()", "gl.NO_ERROR");
- // gl methods should be no-ops
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP)");
- // but the event should not have been fired.
- shouldBeFalse("contextLostEventFired");
-}
-
-function testLosingAndRestoringContext()
-{
- if (!setupTest())
- finishTest();
-
- debug("");
- debug("Test losing and restoring a context.");
-
- canvas.addEventListener("webglcontextlost", function(e) {
- testLostContext(e);
- // restore the context after this event has exited.
- setTimeout(function() {
- shouldGenerateGLError(gl, gl.NO_ERROR, "extension.restoreContext()");
- // The context should still be lost. It will not get restored until the
- // webglrestorecontext event is fired.
- shouldBeTrue("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.NO_ERROR");
- // gl methods should still be no-ops
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP)");
- }, 0);
- });
- canvas.addEventListener("webglcontextrestored", function() {
- testRestoredContext();
- finishTest();
- });
- allowRestore = true;
- contextLostEventFired = false;
- contextRestoredEventFired = false;
-
- testOriginalContext();
- extension.loseContext();
- // The context should be lost immediately.
- shouldBeTrue("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.CONTEXT_LOST_WEBGL");
- shouldBe("gl.getError()", "gl.NO_ERROR");
- // gl methods should be no-ops
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.blendFunc(gl.TEXTURE_2D, gl.TEXTURE_CUBE_MAP)");
- // but the event should not have been fired.
- shouldBeFalse("contextLostEventFired");
-}
-
-function testRendering()
-{
- gl.clearColor(0, 0, 0, 255);
- gl.colorMask(1, 1, 1, 0);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- program = wtu.setupSimpleTextureProgram(gl);
- bufferObjects = wtu.setupUnitQuad(gl);
- texture = wtu.createColoredTexture(gl, canvas.width, canvas.height, texColor);
-
- gl.uniform1i(gl.getUniformLocation(program, "tex"), 0);
- wtu.drawQuad(gl, [0, 0, 0, 255]);
-
- var compare = texColor.slice(0, 3);
- wtu.checkCanvasRect(gl, 0, 0, canvas.width, canvas.height, compare, "shouldBe " + compare);
-
- shouldBe("gl.getError()", "gl.NO_ERROR");
-}
-
-function testOriginalContext()
-{
- debug("Test valid context");
- shouldBeFalse("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.NO_ERROR");
- testRendering();
- debug("");
-}
-
-function testLostContext(e)
-{
- debug("Test lost context");
- shouldBeFalse("contextLostEventFired");
- contextLostEventFired = true;
- shouldBeTrue("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.NO_ERROR");
- debug("");
- if (allowRestore)
- e.preventDefault();
-}
-
-function testShouldNotRestoreContext(e)
-{
- testFailed("Should not restore the context unless preventDefault is called on the context lost event");
- debug("");
-}
-
-function testResources(expected)
-{
- var tests = [
- "gl.bindTexture(gl.TEXTURE_2D, texture)",
- "gl.useProgram(program)",
- "gl.bindBuffer(gl.ARRAY_BUFFER, bufferObjects[0])",
- ];
-
- for (var i = 0; i < tests.length; ++i)
- shouldGenerateGLError(gl, expected, tests[i]);
-}
-
-function testRestoredContext()
-{
- debug("Test restored context");
- shouldBeFalse("contextRestoredEventFired");
- contextRestoredEventFired = true;
- shouldBeFalse("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- // Validate that using old resources fails.
- testResources(gl.INVALID_OPERATION);
-
- testRendering();
-
- // Validate new resources created in testRendering().
- testResources(gl.NO_ERROR);
- debug("");
-}
-
-
-</script>
-</head>
-<body onload="init()">
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost.html
deleted file mode 100644
index 08f57e6..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-lost.html
+++ /dev/null
@@ -1,316 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu;
-var canvas;
-var gl;
-var shouldGenerateGLError;
-var extensionName;
-var extension;
-
-var buffer;
-var framebuffer;
-var program;
-var renderbuffer;
-var shader;
-var texture;
-var uniformLocation;
-var arrayBuffer;
-var arrayBufferView
-var image;
-var video;
-var canvas2d;
-var ctx2d;
-var imageData;
-var float32array;
-var int32array;
-
-function init()
-{
- wtu = WebGLTestUtils;
- canvas = document.getElementById("canvas");
- gl = wtu.create3DContext(canvas);
- shouldGenerateGLError = wtu.shouldGenerateGLError;
-
- description("Tests behavior under a lost context");
-
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
- }
-
- // call testValidContext() before checking for the extension, because this is where we check
- // for the isContextLost() method, which we want to do regardless of the extension's presence.
- testValidContext();
-
- extension = gl.getExtension("WEBGL_lose_context");
- if (!extension) {
- debug("Could not find lose_context extension under the following names: WEBGL_lose_context");
- finishTest();
- return false;
- }
-
- canvas.addEventListener("webglcontextlost", testLostContext, false);
-
- loseContext();
-}
-
-function loseContext()
-{
- debug("");
- debug("Lose context");
-
- // Note: this will cause the context to be lost, but the
- // webglcontextlost event listener to be queued.
- extension.loseContext();
- debug("");
-}
-
-function testValidContext()
-{
- debug("Test valid context");
-
- shouldBeFalse("gl.isContextLost()");
-
- arrayBuffer = new ArrayBuffer(4);
- arrayBufferView = new Int8Array(arrayBuffer);
-
- // Generate resources for testing.
- buffer = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
- framebuffer = gl.createFramebuffer();
- gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
- program = wtu.setupSimpleTextureProgram(gl);
- renderbuffer = gl.createRenderbuffer();
- gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);
- shader = gl.createShader(gl.VERTEX_SHADER);
- texture = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, texture);
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- // Test is queries that will later be false
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.enable(gl.BLEND)");
- shouldBeTrue("gl.isBuffer(buffer)");
- shouldBeTrue("gl.isEnabled(gl.BLEND)");
- shouldBeTrue("gl.isFramebuffer(framebuffer)");
- shouldBeTrue("gl.isProgram(program)");
- shouldBeTrue("gl.isRenderbuffer(renderbuffer)");
- shouldBeTrue("gl.isShader(shader)");
- shouldBeTrue("gl.isTexture(texture)");
-}
-
-function testLostContext()
-{
- debug("Test lost context");
-
- // Functions with special return values.
- shouldBeTrue("gl.isContextLost()");
- shouldBe("gl.getError()", "gl.CONTEXT_LOST_WEBGL");
- shouldBe("gl.getError()", "gl.NO_ERROR");
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_UNSUPPORTED");
- shouldBe("gl.getAttribLocation(program, 'u_modelViewProjMatrix')", "-1");
- shouldBe("gl.getVertexAttribOffset(0, gl.VERTEX_ATTRIB_ARRAY_POINTER)", "0");
-
- // Test the extension itself.
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "extension.loseContext()");
-
- image = document.createElement("img");
- video = document.createElement("video");
- canvas2d = document.createElement("canvas");
- ctx2d = canvas2d.getContext("2d");
- imageData = ctx2d.createImageData(1, 1);
- float32array = new Float32Array(1);
- int32array = new Int32Array(1);
-
- // Functions returning void should return immediately.
- // This is untestable, but we can at least be sure they cause no errors
- // and the codepaths are exercised.
- var voidTests = [
- "gl.activeTexture(gl.TEXTURE0)",
- "gl.attachShader(program, shader)",
- "gl.bindBuffer(gl.ARRAY_BUFFER, buffer)",
- "gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer)",
- "gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer)",
- "gl.bindTexture(gl.TEXTURE_2D, texture)",
- "gl.blendColor(1.0, 1.0, 1.0, 1.0)",
- "gl.blendEquation(gl.FUNC_ADD)",
- "gl.blendEquationSeparate(gl.FUNC_ADD, gl.FUNC_ADD)",
- "gl.blendFunc(gl.ONE, gl.ONE)",
- "gl.blendFuncSeparate(gl.ONE, gl.ONE, gl.ONE, gl.ONE)",
- "gl.bufferData(gl.ARRAY_BUFFER, 0, gl.STATIC_DRAW)",
- "gl.bufferData(gl.ARRAY_BUFFER, arrayBufferView, gl.STATIC_DRAW)",
- "gl.bufferData(gl.ARRAY_BUFFER, arrayBuffer, gl.STATIC_DRAW)",
- "gl.bufferSubData(gl.ARRAY_BUFFRE, 0, arrayBufferView)",
- "gl.bufferSubData(gl.ARRAY_BUFFRE, 0, arrayBuffer)",
- "gl.clear(gl.COLOR_BUFFER_BIT)",
- "gl.clearColor(1, 1, 1, 1)",
- "gl.clearDepth(1)",
- "gl.clearStencil(0)",
- "gl.colorMask(1, 1, 1, 1)",
- "gl.compileShader(shader)",
- "gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 0, 0, 0)",
- "gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 0, 0)",
- "gl.cullFace(gl.FRONT)",
- "gl.deleteBuffer(buffer)",
- "gl.deleteFramebuffer(framebuffer)",
- "gl.deleteProgram(program)",
- "gl.deleteRenderbuffer(renderbuffer)",
- "gl.deleteShader(shader)",
- "gl.deleteTexture(texture)",
- "gl.depthFunc(gl.NEVER)",
- "gl.depthMask(0)",
- "gl.depthRange(0, 1)",
- "gl.detachShader(program, shader)",
- "gl.disable(gl.BLEND)",
- "gl.disableVertexAttribArray(0)",
- "gl.drawArrays(gl.POINTS, 0, 0)",
- "gl.drawElements(gl.POINTS, 0, gl.UNSIGNED_SHORT, 0)",
- "gl.enable(gl.BLEND)",
- "gl.enableVertexAttribArray(0)",
- "gl.finish()",
- "gl.flush()",
- "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, renderbuffer)",
- "gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0)",
- "gl.frontFace(gl.CW)",
- "gl.generateMipmap(gl.TEXTURE_2D)",
- "gl.hint(gl.GENERATE_MIPMAP_HINT, gl.FASTEST)",
- "gl.lineWidth(0)",
- "gl.linkProgram(program)",
- "gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, 0)",
- "gl.polygonOffset(0, 0)",
- "gl.readPixels(0, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, arrayBufferView)",
- "gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 0, 0)",
- "gl.sampleCoverage(0, 0)",
- "gl.scissor(0, 0, 0, 0)",
- "gl.shaderSource(shader, '')",
- "gl.stencilFunc(gl.NEVER, 0, 0)",
- "gl.stencilFuncSeparate(gl.FRONT, gl.NEVER, 0, 0)",
- "gl.stencilMask(0)",
- "gl.stencilMaskSeparate(gl.FRONT, 0)",
- "gl.stencilOp(gl.KEEP, gl.KEEP, gl.KEEP)",
- "gl.stencilOpSeparate(gl.FRONT, gl.KEEP, gl.KEEP, gl.KEEP)",
- "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, arrayBufferView)",
- "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, imageData)",
- "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, image)",
- "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas)",
- "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, video)",
- "gl.texParameterf(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)",
- "gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST)",
- "gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, arrayBufferView)",
- "gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, imageData)",
- "gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, image)",
- "gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, canvas)",
- "gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, video)",
- "gl.uniform1f(uniformLocation, 0)",
- "gl.uniform1fv(uniformLocation, float32array)",
- "gl.uniform1fv(uniformLocation, [0])",
- "gl.uniform1i(uniformLocation, 0)",
- "gl.uniform1iv(uniformLocation, int32array)",
- "gl.uniform1iv(uniformLocation, [0])",
- "gl.uniform2f(uniformLocation, 0, 0)",
- "gl.uniform2fv(uniformLocation, float32array)",
- "gl.uniform2fv(uniformLocation, [0, 0])",
- "gl.uniform2i(uniformLocation, 0, 0)",
- "gl.uniform2iv(uniformLocation, int32array)",
- "gl.uniform2iv(uniformLocation, [0, 0])",
- "gl.uniform3f(uniformLocation, 0, 0, 0)",
- "gl.uniform3fv(uniformLocation, float32array)",
- "gl.uniform3fv(uniformLocation, [0, 0, 0])",
- "gl.uniform3i(uniformLocation, 0, 0, 0)",
- "gl.uniform3iv(uniformLocation, int32array)",
- "gl.uniform3iv(uniformLocation, [0, 0, 0])",
- "gl.uniform4f(uniformLocation, 0, 0, 0, 0)",
- "gl.uniform4fv(uniformLocation, float32array)",
- "gl.uniform4fv(uniformLocation, [0, 0, 0, 0])",
- "gl.uniform4i(uniformLocation, 0, 0, 0, 0)",
- "gl.uniform4iv(uniformLocation, int32array)",
- "gl.uniform4iv(uniformLocation, [0, 0, 0, 0])",
- "gl.uniformMatrix2fv(uniformLocation, false, float32array)",
- "gl.uniformMatrix2fv(uniformLocation, false, [0, 0, 0, 0])",
- "gl.uniformMatrix3fv(uniformLocation, false, float32array)",
- "gl.uniformMatrix3fv(uniformLocation, false, [0, 0, 0, 0, 0, 0, 0, 0, 0])",
- "gl.uniformMatrix4fv(uniformLocation, false, float32array)",
- "gl.uniformMatrix4fv(uniformLocation, false, [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0])",
- "gl.useProgram(program)",
- "gl.validateProgram(program)",
- "gl.vertexAttrib1f(0, 0)",
- "gl.vertexAttrib1fv(0, float32array)",
- "gl.vertexAttrib1fv(0, [0])",
- "gl.vertexAttrib2f(0, 0, 0)",
- "gl.vertexAttrib2fv(0, float32array)",
- "gl.vertexAttrib2fv(0, [0, 0])",
- "gl.vertexAttrib3f(0, 0, 0, 0)",
- "gl.vertexAttrib3fv(0, float32array)",
- "gl.vertexAttrib3fv(0, [0, 0, 0])",
- "gl.vertexAttrib4f(0, 0, 0, 0, 0)",
- "gl.vertexAttrib4fv(0, float32array)",
- "gl.vertexAttrib4fv(0, [0, 0, 0, 0])",
- "gl.vertexAttribPointer(0, 0, gl.FLOAT, false, 0, 0)",
- "gl.viewport(0, 0, 0, 0)",
- ];
- for (var i = 0; i < voidTests.length; ++i) {
- shouldGenerateGLError(gl, gl.NO_ERROR, voidTests[i]);
- }
-
- // Functions return nullable values should all return null.
- var nullTests = [
- "gl.createBuffer()",
- "gl.createFramebuffer()",
- "gl.createProgram()",
- "gl.createRenderbuffer()",
- "gl.createShader(gl.GL_VERTEX_SHADER)",
- "gl.createTexture()",
- "gl.getActiveAttrib(program, 0)",
- "gl.getActiveUniform(program, 0)",
- "gl.getAttachedShaders(program)",
- "gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE)",
- "gl.getContextAttributes()",
- "gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)",
- "gl.getParameter(gl.CURRENT_PROGRAM)",
- "gl.getProgramInfoLog(program)",
- "gl.getProgramParameter(program, gl.LINK_STATUS)",
- "gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)",
- "gl.getShaderInfoLog(shader)",
- "gl.getShaderParameter(shader, gl.SHADER_TYPE)",
- "gl.getShaderSource(shader)",
- "gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S)",
- "gl.getUniform(program, uniformLocation)",
- "gl.getUniformLocation(program, 'vPosition')",
- "gl.getVertexAttrib(0, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)",
- "gl.getSupportedExtensions()",
- "gl.getExtension('WEBGL_lose_context')",
- ];
- for (var i = 0; i < nullTests.length; ++i) {
- shouldBeNull(nullTests[i]);
- }
-
- // "Is" queries should all return false.
- shouldBeFalse("gl.isBuffer(buffer)");
- shouldBeFalse("gl.isEnabled(gl.BLEND)");
- shouldBeFalse("gl.isFramebuffer(framebuffer)");
- shouldBeFalse("gl.isProgram(program)");
- shouldBeFalse("gl.isRenderbuffer(renderbuffer)");
- shouldBeFalse("gl.isShader(shader)");
- shouldBeFalse("gl.isTexture(texture)");
-
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- debug("");
-
- finishTest();
-}
-
-</script>
-</head>
-<body onload="init()">
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas">
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload-expected.txt
deleted file mode 100644
index 6d1f5ce..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-
-This test ensures that WebGL contexts are released properly upon page reload
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS All drawing buffers were allocated at the correct size
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload.html
deleted file mode 100644
index b8dc24f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/context-release-upon-reload.html
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL Context Release Test</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<iframe id="host" style="width: 256px; height: 256px; border: 0;"></iframe>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("This test ensures that WebGL contexts are released properly upon page reload");
-
-window.jsTestIsAsync = true;
-if (window.testRunner) {
- testRunner.dumpAsText();
- testRunner.waitUntilDone();
-}
-
-var host = document.getElementById("host");
-var testIterations = 8;
-var currentIteration = 0;
-
-function refreshFrame() {
- if(currentIteration < testIterations) {
- currentIteration++;
- host.src = "resources/context-release-upon-reload-child.html";
- } else {
- testPassed("All drawing buffers were allocated at the correct size");
- finishTest();
- }
-}
-
-function testContext() {
- var bail = false;
- var gl = host.contentWindow.glContext;
- if (gl == null) {
- bail = true;
- testFailed("context was not created properly");
- }
-
- if (gl) {
- var err = gl.getError();
- if (err != gl.NO_ERROR) {
- bail = true;
- testFailed("Should be no GL error; got " + getGLErrorAsString(gl, err));
- }
- }
-
- if (bail) {
- finishTest();
- return;
- }
-
- if (gl.canvas.width != gl.drawingBufferWidth ||
- gl.canvas.height != gl.drawingBufferHeight) {
- testFailed("At iteration " + currentIteration + " of " + testIterations +
- ": Buffer was the wrong size: " +
- gl.drawingBufferWidth + "x" + gl.drawingBufferHeight);
- finishTest();
- return;
- } else {
- refreshFrame();
- }
-
- gl = null;
-}
-
-window.addEventListener("message", function(event) {
- if(event.data == "Ready") {
- testContext();
- }
-});
-
-refreshFrame();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-expected.txt
deleted file mode 100644
index a95758d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d-expected.txt
+++ /dev/null
@@ -1,42 +0,0 @@
-
-Verify copyTexImage2D and copyTexSubImage2D
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing with antialias on
-Testing copyTexImage2D
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-Testing copyTexSubImage2D
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-Testing with antialias off
-Testing copyTexImage2D
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-Testing copyTexSubImage2D
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS pixel is correctColor
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
deleted file mode 100644
index c792645..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/copy-tex-image-and-sub-image-2d.html
+++ /dev/null
@@ -1,177 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec3 g_Position;
-attribute vec2 g_TexCoord0;
-
-varying vec2 texCoord;
-
-void main()
-{
- gl_Position = vec4(g_Position.x, g_Position.y, g_Position.z, 1.0);
- texCoord = g_TexCoord0;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision mediump float;
-#endif
-uniform sampler2D tex;
-varying vec2 texCoord;
-void main()
-{
- gl_FragColor = texture2D(tex, texCoord);
-}
-</script>
-
-<script>
-
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
- }
-
- description('Verify copyTexImage2D and copyTexSubImage2D');
-
- runTest();
-}
-
-// These two declarations need to be global for "shouldBe" to see them
-var pixel = [0, 0, 0];
-var correctColor = null;
-var gl = null;
-
-function runTestIteration(antialias)
-{
- if (antialias)
- gl = initWebGL("antialiasOn", "vshader", "fshader", [ "g_Position", "g_TexCoord0" ], [ 0, 0, 0, 1 ], 1);
- else
- gl = initWebGL("antialiasOff", "vshader", "fshader", [ "g_Position", "g_TexCoord0" ], [ 0, 0, 0, 1 ], 1, { antialias: false });
-
- var textureLoc = gl.getUniformLocation(gl.program, "tex");
-
- var vertices = new Float32Array([
- 1.0, 1.0, 0.0,
- -1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, -1.0, 0.0]);
- var texCoords = new Float32Array([
- 1.0, 1.0,
- 0.0, 1.0,
- 0.0, 0.0,
- 1.0, 1.0,
- 0.0, 0.0,
- 1.0, 0.0]);
- var texCoordOffset = vertices.byteLength;
-
- var vbo = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
- gl.bufferData(gl.ARRAY_BUFFER,
- texCoordOffset + texCoords.byteLength,
- gl.STATIC_DRAW);
- gl.bufferSubData(gl.ARRAY_BUFFER, 0, vertices);
- gl.bufferSubData(gl.ARRAY_BUFFER, texCoordOffset, texCoords);
-
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, texCoordOffset);
-
- gl.colorMask(1, 1, 1, 0);
- gl.disable(gl.BLEND);
- debug('Testing copyTexImage2D');
-
- // Red canvas
- gl.clearColor(1, 0, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- var texture = gl.createTexture();
- // Bind the texture to texture unit 0
- gl.bindTexture(gl.TEXTURE_2D, texture);
- // Set up texture
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 2, 2, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 2, 2, 0);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- // Green canvas
- gl.clearColor(0, 1, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- // Point the uniform sampler to texture unit 0
- gl.uniform1i(textureLoc, 0);
- // Draw the triangles
- gl.drawArrays(gl.TRIANGLES, 0, 6);
-
- // Read back the rendering results, should be red
- var buf = new Uint8Array(2 * 2 * 4);
- gl.readPixels(0, 0, 2, 2, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var idx = 0;
- correctColor = [255, 0, 0];
- for (var y = 0; y < 2; y++) {
- for (var x = 0; x < 2; x++) {
- idx = (y * 2 + x) * 4;
- pixel[0] = buf[idx];
- pixel[1] = buf[idx + 1];
- pixel[2] = buf[idx + 2];
- shouldBe("pixel", "correctColor");
- }
- }
-
- debug('Testing copyTexSubImage2D');
-
- // Green canvas
- gl.clearColor(0, 1, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 2, 2);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- // Blue canvas
- gl.clearColor(0, 0, 1, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- // Draw the triangles
- gl.drawArrays(gl.TRIANGLES, 0, 6);
-
- // Read back the rendering results, should be green
- gl.readPixels(0, 0, 2, 2, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- correctColor = [0, 255, 0];
- for (var y = 0; y < 2; y++) {
- for (var x = 0; x < 2; x++) {
- idx = (y * 2 + x) * 4;
- pixel[0] = buf[idx];
- pixel[1] = buf[idx + 1];
- pixel[2] = buf[idx + 2];
- shouldBe("pixel", "correctColor");
- }
- }
-}
-
-function runTest(antialias)
-{
- debug("Testing with antialias on");
- runTestIteration(true);
- debug("Testing with antialias off");
- runTestIteration(false);
- finishJSTest();
-}
-</script>
-</head>
-<body onload="init()">
-<canvas id="antialiasOn" width="2px" height="2px"></canvas>
-<canvas id="antialiasOff" width="2px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt
deleted file mode 100644
index 479df30..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Test that DataView does not crash with bad offset or length.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS view = new DataView(array.buffer, -4500000000) threw exception RangeError: Start offset is outside the bounds of the buffer.
-PASS view = new DataView(array.buffer, -4500000000, 4500000000) threw exception RangeError: Start offset is outside the bounds of the buffer.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash.html
deleted file mode 100644
index da9a7e3..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-crash.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test that DataView does not crash with bad offset or length.");
-
-var array = new Uint8Array([164, 112, 157, 63]);
-var view;
-shouldThrow("view = new DataView(array.buffer, -4500000000)");
-shouldThrow("view = new DataView(array.buffer, -4500000000, 4500000000)");
-var value = view ? view.getFloat32(0, true) : 0;
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test-expected.txt
deleted file mode 100644
index 03a2e2a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test-expected.txt
+++ /dev/null
@@ -1,816 +0,0 @@
-Test DataView.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Test for constructor not called as a function
-PASS DataView(new ArrayBuffer) threw exception
-
-Test for constructor taking 1 argument
-PASS view = new DataView(arayBuffer) is defined.
-PASS view.byteOffset is 0
-PASS view.byteLength is 2
-
-Test for constructor taking 2 arguments
-PASS view = new DataView(arayBuffer, 1) is defined.
-PASS view.byteOffset is 1
-PASS view.byteLength is 1
-
-Test for constructor taking 3 arguments
-PASS view = new DataView(arayBuffer, 0, 1) is defined.
-PASS view.byteOffset is 0
-PASS view.byteLength is 1
-
-Test for constructor throwing exception
-PASS view = new DataView(arayBuffer, 0, 3) threw exception RangeError: Invalid data view length.
-PASS view = new DataView(arayBuffer, 1, 2) threw exception RangeError: Invalid data view length.
-PASS view = new DataView(arayBuffer, 2, 1) threw exception RangeError: Invalid data view length.
-
-Test for get methods that work
-PASS view.getInt8(0) is 0
-PASS view.getInt8(8) is -128
-PASS view.getInt8(15) is -1
-PASS view.getUint8(0) is 0
-PASS view.getUint8(8) is 128
-PASS view.getUint8(15) is 255
-PASS view.getInt16(0, true) is 256
-PASS view.getInt16(5, true) is 26213
-PASS view.getInt16(9, true) is -32127
-PASS view.getInt16(14, true) is -2
-PASS view.getInt16(0) is 1
-PASS view.getInt16(5) is 25958
-PASS view.getInt16(9) is -32382
-PASS view.getInt16(14) is -257
-PASS view.getUint16(0, true) is 256
-PASS view.getUint16(5, true) is 26213
-PASS view.getUint16(9, true) is 33409
-PASS view.getUint16(14, true) is 65534
-PASS view.getUint16(0) is 1
-PASS view.getUint16(5) is 25958
-PASS view.getUint16(9) is 33154
-PASS view.getUint16(14) is 65279
-PASS view.getInt32(0, true) is 50462976
-PASS view.getInt32(3, true) is 1717920771
-PASS view.getInt32(6, true) is -2122291354
-PASS view.getInt32(9, true) is -58490239
-PASS view.getInt32(12, true) is -66052
-PASS view.getInt32(0) is 66051
-PASS view.getInt32(3) is 56911206
-PASS view.getInt32(6) is 1718059137
-PASS view.getInt32(9) is -2122152964
-PASS view.getInt32(12) is -50462977
-PASS view.getUint32(0, true) is 50462976
-PASS view.getUint32(3, true) is 1717920771
-PASS view.getUint32(6, true) is 2172675942
-PASS view.getUint32(9, true) is 4236477057
-PASS view.getUint32(12, true) is 4294901244
-PASS view.getUint32(0) is 66051
-PASS view.getUint32(3) is 56911206
-PASS view.getUint32(6) is 1718059137
-PASS view.getUint32(9) is 2172814332
-PASS view.getUint32(12) is 4244504319
-PASS view.getFloat32(0, true) is 10
-PASS view.getFloat32(3, true) is 10
-PASS view.getFloat32(7, true) is 10
-PASS view.getFloat32(10, true) is 10
-PASS view.getFloat32(0, false) is 10
-PASS view.getFloat32(3, false) is 10
-PASS view.getFloat32(7, false) is 10
-PASS view.getFloat32(10, false) is 10
-PASS view.getFloat32(0, true) is 1.2300000190734863
-PASS view.getFloat32(3, true) is 1.2300000190734863
-PASS view.getFloat32(7, true) is 1.2300000190734863
-PASS view.getFloat32(10, true) is 1.2300000190734863
-PASS view.getFloat32(0, false) is 1.2300000190734863
-PASS view.getFloat32(3, false) is 1.2300000190734863
-PASS view.getFloat32(7, false) is 1.2300000190734863
-PASS view.getFloat32(10, false) is 1.2300000190734863
-PASS view.getFloat32(0, true) is -45621.37109375
-PASS view.getFloat32(3, true) is -45621.37109375
-PASS view.getFloat32(7, true) is -45621.37109375
-PASS view.getFloat32(10, true) is -45621.37109375
-PASS view.getFloat32(0, false) is -45621.37109375
-PASS view.getFloat32(3, false) is -45621.37109375
-PASS view.getFloat32(7, false) is -45621.37109375
-PASS view.getFloat32(10, false) is -45621.37109375
-PASS view.getFloat32(0, true) is NaN
-PASS view.getFloat32(3, true) is NaN
-PASS view.getFloat32(7, true) is NaN
-PASS view.getFloat32(10, true) is NaN
-PASS view.getFloat32(0, false) is NaN
-PASS view.getFloat32(3, false) is NaN
-PASS view.getFloat32(7, false) is NaN
-PASS view.getFloat32(10, false) is NaN
-PASS view.getFloat32(0, true) is -NaN
-PASS view.getFloat32(3, true) is -NaN
-PASS view.getFloat32(7, true) is -NaN
-PASS view.getFloat32(10, true) is -NaN
-PASS view.getFloat32(0, false) is -NaN
-PASS view.getFloat32(3, false) is -NaN
-PASS view.getFloat32(7, false) is -NaN
-PASS view.getFloat32(10, false) is -NaN
-PASS view.getFloat64(0, true) is 10
-PASS view.getFloat64(3, true) is 10
-PASS view.getFloat64(7, true) is 10
-PASS view.getFloat64(10, true) is 10
-PASS view.getFloat64(0, false) is 10
-PASS view.getFloat64(3, false) is 10
-PASS view.getFloat64(7, false) is 10
-PASS view.getFloat64(10, false) is 10
-PASS view.getFloat64(0, true) is 1.23
-PASS view.getFloat64(3, true) is 1.23
-PASS view.getFloat64(7, true) is 1.23
-PASS view.getFloat64(10, true) is 1.23
-PASS view.getFloat64(0, false) is 1.23
-PASS view.getFloat64(3, false) is 1.23
-PASS view.getFloat64(7, false) is 1.23
-PASS view.getFloat64(10, false) is 1.23
-PASS view.getFloat64(0, true) is -6213576.4839
-PASS view.getFloat64(3, true) is -6213576.4839
-PASS view.getFloat64(7, true) is -6213576.4839
-PASS view.getFloat64(10, true) is -6213576.4839
-PASS view.getFloat64(0, false) is -6213576.4839
-PASS view.getFloat64(3, false) is -6213576.4839
-PASS view.getFloat64(7, false) is -6213576.4839
-PASS view.getFloat64(10, false) is -6213576.4839
-PASS view.getFloat64(0, true) is NaN
-PASS view.getFloat64(3, true) is NaN
-PASS view.getFloat64(7, true) is NaN
-PASS view.getFloat64(10, true) is NaN
-PASS view.getFloat64(0, false) is NaN
-PASS view.getFloat64(3, false) is NaN
-PASS view.getFloat64(7, false) is NaN
-PASS view.getFloat64(10, false) is NaN
-PASS view.getFloat64(0, true) is -NaN
-PASS view.getFloat64(3, true) is -NaN
-PASS view.getFloat64(7, true) is -NaN
-PASS view.getFloat64(10, true) is -NaN
-PASS view.getFloat64(0, false) is -NaN
-PASS view.getFloat64(3, false) is -NaN
-PASS view.getFloat64(7, false) is -NaN
-PASS view.getFloat64(10, false) is -NaN
-
-Test for get methods that might read beyond range
-PASS view.getInt8(0) is 0
-PASS view.getInt8(8) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt8(15) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint8(0) is 0
-PASS view.getUint8(8) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint8(15) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(0, true) is 256
-PASS view.getInt16(5, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(9, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(14, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(0) is 1
-PASS view.getInt16(5) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(9) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(14) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(0, true) is 256
-PASS view.getUint16(5, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(9, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(14, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(0) is 1
-PASS view.getUint16(5) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(9) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(14) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(6, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(9, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(12, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(6) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(9) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(12) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(6, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(9, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(12, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(6) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(9) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(12) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(0, false) is 10
-PASS view.getFloat32(3, false) is 10
-PASS view.getFloat32(7, false) is 10
-PASS view.getFloat32(10, false) is 10
-PASS view.getFloat32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(0, false) is 1.2300000190734863
-PASS view.getFloat32(3, false) is 1.2300000190734863
-PASS view.getFloat32(7, false) is 1.2300000190734863
-PASS view.getFloat32(10, false) is 1.2300000190734863
-PASS view.getFloat32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(0, false) is -45621.37109375
-PASS view.getFloat32(3, false) is -45621.37109375
-PASS view.getFloat32(7, false) is -45621.37109375
-PASS view.getFloat32(10, false) is -45621.37109375
-PASS view.getFloat32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(0, false) is NaN
-PASS view.getFloat32(3, false) is NaN
-PASS view.getFloat32(7, false) is NaN
-PASS view.getFloat32(10, false) is NaN
-PASS view.getFloat32(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(0, false) is -NaN
-PASS view.getFloat32(3, false) is -NaN
-PASS view.getFloat32(7, false) is -NaN
-PASS view.getFloat32(10, false) is -NaN
-PASS view.getFloat64(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(0, false) is 10
-PASS view.getFloat64(3, false) is 10
-PASS view.getFloat64(7, false) is 10
-PASS view.getFloat64(10, false) is 10
-PASS view.getFloat64(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(0, false) is 1.23
-PASS view.getFloat64(3, false) is 1.23
-PASS view.getFloat64(7, false) is 1.23
-PASS view.getFloat64(10, false) is 1.23
-PASS view.getFloat64(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(0, false) is -6213576.4839
-PASS view.getFloat64(3, false) is -6213576.4839
-PASS view.getFloat64(7, false) is -6213576.4839
-PASS view.getFloat64(10, false) is -6213576.4839
-PASS view.getFloat64(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(0, false) is NaN
-PASS view.getFloat64(3, false) is NaN
-PASS view.getFloat64(7, false) is NaN
-PASS view.getFloat64(10, false) is NaN
-PASS view.getFloat64(0, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(3, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(7, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(10, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(0, false) is -NaN
-PASS view.getFloat64(3, false) is -NaN
-PASS view.getFloat64(7, false) is -NaN
-PASS view.getFloat64(10, false) is -NaN
-
-Test for get methods that read from negative index
-PASS view.getInt8(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt8(-2) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint8(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint8(-2) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(-2) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt16(-3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(-2) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint16(-3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(-3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getInt32(-5) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(-3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getUint32(-5) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(-3) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat32(-5) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(-1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(-5) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.getFloat64(-9) threw exception RangeError: Offset is outside the bounds of the DataView.
-
-Test for wrong arguments passed to get methods
-PASS view.getInt8() threw exception TypeError: invalid_argument.
-PASS view.getUint8() threw exception TypeError: invalid_argument.
-PASS view.getInt16() threw exception TypeError: invalid_argument.
-PASS view.getUint16() threw exception TypeError: invalid_argument.
-PASS view.getInt32() threw exception TypeError: invalid_argument.
-PASS view.getUint32() threw exception TypeError: invalid_argument.
-PASS view.getFloat32() threw exception TypeError: invalid_argument.
-PASS view.getFloat64() threw exception TypeError: invalid_argument.
-
-Test for set methods that work
-PASS view.setInt8(0, 0) is undefined.
-PASS view.getInt8(0) is 0
-PASS view.setInt8(8, -128) is undefined.
-PASS view.getInt8(8) is -128
-PASS view.setInt8(15, -1) is undefined.
-PASS view.getInt8(15) is -1
-PASS view.setUint8(0, 0) is undefined.
-PASS view.getUint8(0) is 0
-PASS view.setUint8(8, 128) is undefined.
-PASS view.getUint8(8) is 128
-PASS view.setUint8(15, 255) is undefined.
-PASS view.getUint8(15) is 255
-PASS view.setInt16(0, 256, true) is undefined.
-PASS view.getInt16(0, true) is 256
-PASS view.setInt16(5, 26213, true) is undefined.
-PASS view.getInt16(5, true) is 26213
-PASS view.setInt16(9, -32127, true) is undefined.
-PASS view.getInt16(9, true) is -32127
-PASS view.setInt16(14, -2, true) is undefined.
-PASS view.getInt16(14, true) is -2
-PASS view.setInt16(0, 1) is undefined.
-PASS view.getInt16(0) is 1
-PASS view.setInt16(5, 25958) is undefined.
-PASS view.getInt16(5) is 25958
-PASS view.setInt16(9, -32382) is undefined.
-PASS view.getInt16(9) is -32382
-PASS view.setInt16(14, -257) is undefined.
-PASS view.getInt16(14) is -257
-PASS view.setUint16(0, 256, true) is undefined.
-PASS view.getUint16(0, true) is 256
-PASS view.setUint16(5, 26213, true) is undefined.
-PASS view.getUint16(5, true) is 26213
-PASS view.setUint16(9, 33409, true) is undefined.
-PASS view.getUint16(9, true) is 33409
-PASS view.setUint16(14, 65534, true) is undefined.
-PASS view.getUint16(14, true) is 65534
-PASS view.setUint16(0, 1) is undefined.
-PASS view.getUint16(0) is 1
-PASS view.setUint16(5, 25958) is undefined.
-PASS view.getUint16(5) is 25958
-PASS view.setUint16(9, 33154) is undefined.
-PASS view.getUint16(9) is 33154
-PASS view.setUint16(14, 65279) is undefined.
-PASS view.getUint16(14) is 65279
-PASS view.setInt32(0, 50462976, true) is undefined.
-PASS view.getInt32(0, true) is 50462976
-PASS view.setInt32(3, 1717920771, true) is undefined.
-PASS view.getInt32(3, true) is 1717920771
-PASS view.setInt32(6, -2122291354, true) is undefined.
-PASS view.getInt32(6, true) is -2122291354
-PASS view.setInt32(9, -58490239, true) is undefined.
-PASS view.getInt32(9, true) is -58490239
-PASS view.setInt32(12, -66052, true) is undefined.
-PASS view.getInt32(12, true) is -66052
-PASS view.setInt32(0, 66051) is undefined.
-PASS view.getInt32(0) is 66051
-PASS view.setInt32(3, 56911206) is undefined.
-PASS view.getInt32(3) is 56911206
-PASS view.setInt32(6, 1718059137) is undefined.
-PASS view.getInt32(6) is 1718059137
-PASS view.setInt32(9, -2122152964) is undefined.
-PASS view.getInt32(9) is -2122152964
-PASS view.setInt32(12, -50462977) is undefined.
-PASS view.getInt32(12) is -50462977
-PASS view.setUint32(0, 50462976, true) is undefined.
-PASS view.getUint32(0, true) is 50462976
-PASS view.setUint32(3, 1717920771, true) is undefined.
-PASS view.getUint32(3, true) is 1717920771
-PASS view.setUint32(6, 2172675942, true) is undefined.
-PASS view.getUint32(6, true) is 2172675942
-PASS view.setUint32(9, 4236477057, true) is undefined.
-PASS view.getUint32(9, true) is 4236477057
-PASS view.setUint32(12, 4294901244, true) is undefined.
-PASS view.getUint32(12, true) is 4294901244
-PASS view.setUint32(0, 66051) is undefined.
-PASS view.getUint32(0) is 66051
-PASS view.setUint32(3, 56911206) is undefined.
-PASS view.getUint32(3) is 56911206
-PASS view.setUint32(6, 1718059137) is undefined.
-PASS view.getUint32(6) is 1718059137
-PASS view.setUint32(9, 2172814332) is undefined.
-PASS view.getUint32(9) is 2172814332
-PASS view.setUint32(12, 4244504319) is undefined.
-PASS view.getUint32(12) is 4244504319
-PASS view.setFloat32(0, 10, true) is undefined.
-PASS view.getFloat32(0, true) is 10
-PASS view.setFloat32(3, 10, true) is undefined.
-PASS view.getFloat32(3, true) is 10
-PASS view.setFloat32(7, 10, true) is undefined.
-PASS view.getFloat32(7, true) is 10
-PASS view.setFloat32(10, 10, true) is undefined.
-PASS view.getFloat32(10, true) is 10
-PASS view.setFloat32(0, 10, false) is undefined.
-PASS view.getFloat32(0, false) is 10
-PASS view.setFloat32(3, 10, false) is undefined.
-PASS view.getFloat32(3, false) is 10
-PASS view.setFloat32(7, 10, false) is undefined.
-PASS view.getFloat32(7, false) is 10
-PASS view.setFloat32(10, 10, false) is undefined.
-PASS view.getFloat32(10, false) is 10
-PASS view.setFloat32(0, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(0, true) is 1.2300000190734863
-PASS view.setFloat32(3, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(3, true) is 1.2300000190734863
-PASS view.setFloat32(7, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(7, true) is 1.2300000190734863
-PASS view.setFloat32(10, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(10, true) is 1.2300000190734863
-PASS view.setFloat32(0, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(0, false) is 1.2300000190734863
-PASS view.setFloat32(3, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(3, false) is 1.2300000190734863
-PASS view.setFloat32(7, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(7, false) is 1.2300000190734863
-PASS view.setFloat32(10, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(10, false) is 1.2300000190734863
-PASS view.setFloat32(0, -45621.37109375, true) is undefined.
-PASS view.getFloat32(0, true) is -45621.37109375
-PASS view.setFloat32(3, -45621.37109375, true) is undefined.
-PASS view.getFloat32(3, true) is -45621.37109375
-PASS view.setFloat32(7, -45621.37109375, true) is undefined.
-PASS view.getFloat32(7, true) is -45621.37109375
-PASS view.setFloat32(10, -45621.37109375, true) is undefined.
-PASS view.getFloat32(10, true) is -45621.37109375
-PASS view.setFloat32(0, -45621.37109375, false) is undefined.
-PASS view.getFloat32(0, false) is -45621.37109375
-PASS view.setFloat32(3, -45621.37109375, false) is undefined.
-PASS view.getFloat32(3, false) is -45621.37109375
-PASS view.setFloat32(7, -45621.37109375, false) is undefined.
-PASS view.getFloat32(7, false) is -45621.37109375
-PASS view.setFloat32(10, -45621.37109375, false) is undefined.
-PASS view.getFloat32(10, false) is -45621.37109375
-PASS view.setFloat32(0, NaN, true) is undefined.
-PASS view.getFloat32(0, true) is NaN
-PASS view.setFloat32(3, NaN, true) is undefined.
-PASS view.getFloat32(3, true) is NaN
-PASS view.setFloat32(7, NaN, true) is undefined.
-PASS view.getFloat32(7, true) is NaN
-PASS view.setFloat32(10, NaN, true) is undefined.
-PASS view.getFloat32(10, true) is NaN
-PASS view.setFloat32(0, NaN, false) is undefined.
-PASS view.getFloat32(0, false) is NaN
-PASS view.setFloat32(3, NaN, false) is undefined.
-PASS view.getFloat32(3, false) is NaN
-PASS view.setFloat32(7, NaN, false) is undefined.
-PASS view.getFloat32(7, false) is NaN
-PASS view.setFloat32(10, NaN, false) is undefined.
-PASS view.getFloat32(10, false) is NaN
-PASS view.setFloat32(0, -NaN, true) is undefined.
-PASS view.getFloat32(0, true) is -NaN
-PASS view.setFloat32(3, -NaN, true) is undefined.
-PASS view.getFloat32(3, true) is -NaN
-PASS view.setFloat32(7, -NaN, true) is undefined.
-PASS view.getFloat32(7, true) is -NaN
-PASS view.setFloat32(10, -NaN, true) is undefined.
-PASS view.getFloat32(10, true) is -NaN
-PASS view.setFloat32(0, -NaN, false) is undefined.
-PASS view.getFloat32(0, false) is -NaN
-PASS view.setFloat32(3, -NaN, false) is undefined.
-PASS view.getFloat32(3, false) is -NaN
-PASS view.setFloat32(7, -NaN, false) is undefined.
-PASS view.getFloat32(7, false) is -NaN
-PASS view.setFloat32(10, -NaN, false) is undefined.
-PASS view.getFloat32(10, false) is -NaN
-PASS view.setFloat64(0, 10, true) is undefined.
-PASS view.getFloat64(0, true) is 10
-PASS view.setFloat64(3, 10, true) is undefined.
-PASS view.getFloat64(3, true) is 10
-PASS view.setFloat64(7, 10, true) is undefined.
-PASS view.getFloat64(7, true) is 10
-PASS view.setFloat64(10, 10, true) is undefined.
-PASS view.getFloat64(10, true) is 10
-PASS view.setFloat64(0, 10, false) is undefined.
-PASS view.getFloat64(0, false) is 10
-PASS view.setFloat64(3, 10, false) is undefined.
-PASS view.getFloat64(3, false) is 10
-PASS view.setFloat64(7, 10, false) is undefined.
-PASS view.getFloat64(7, false) is 10
-PASS view.setFloat64(10, 10, false) is undefined.
-PASS view.getFloat64(10, false) is 10
-PASS view.setFloat64(0, 1.23, true) is undefined.
-PASS view.getFloat64(0, true) is 1.23
-PASS view.setFloat64(3, 1.23, true) is undefined.
-PASS view.getFloat64(3, true) is 1.23
-PASS view.setFloat64(7, 1.23, true) is undefined.
-PASS view.getFloat64(7, true) is 1.23
-PASS view.setFloat64(10, 1.23, true) is undefined.
-PASS view.getFloat64(10, true) is 1.23
-PASS view.setFloat64(0, 1.23, false) is undefined.
-PASS view.getFloat64(0, false) is 1.23
-PASS view.setFloat64(3, 1.23, false) is undefined.
-PASS view.getFloat64(3, false) is 1.23
-PASS view.setFloat64(7, 1.23, false) is undefined.
-PASS view.getFloat64(7, false) is 1.23
-PASS view.setFloat64(10, 1.23, false) is undefined.
-PASS view.getFloat64(10, false) is 1.23
-PASS view.setFloat64(0, -6213576.4839, true) is undefined.
-PASS view.getFloat64(0, true) is -6213576.4839
-PASS view.setFloat64(3, -6213576.4839, true) is undefined.
-PASS view.getFloat64(3, true) is -6213576.4839
-PASS view.setFloat64(7, -6213576.4839, true) is undefined.
-PASS view.getFloat64(7, true) is -6213576.4839
-PASS view.setFloat64(10, -6213576.4839, true) is undefined.
-PASS view.getFloat64(10, true) is -6213576.4839
-PASS view.setFloat64(0, -6213576.4839, false) is undefined.
-PASS view.getFloat64(0, false) is -6213576.4839
-PASS view.setFloat64(3, -6213576.4839, false) is undefined.
-PASS view.getFloat64(3, false) is -6213576.4839
-PASS view.setFloat64(7, -6213576.4839, false) is undefined.
-PASS view.getFloat64(7, false) is -6213576.4839
-PASS view.setFloat64(10, -6213576.4839, false) is undefined.
-PASS view.getFloat64(10, false) is -6213576.4839
-PASS view.setFloat64(0, NaN, true) is undefined.
-PASS view.getFloat64(0, true) is NaN
-PASS view.setFloat64(3, NaN, true) is undefined.
-PASS view.getFloat64(3, true) is NaN
-PASS view.setFloat64(7, NaN, true) is undefined.
-PASS view.getFloat64(7, true) is NaN
-PASS view.setFloat64(10, NaN, true) is undefined.
-PASS view.getFloat64(10, true) is NaN
-PASS view.setFloat64(0, NaN, false) is undefined.
-PASS view.getFloat64(0, false) is NaN
-PASS view.setFloat64(3, NaN, false) is undefined.
-PASS view.getFloat64(3, false) is NaN
-PASS view.setFloat64(7, NaN, false) is undefined.
-PASS view.getFloat64(7, false) is NaN
-PASS view.setFloat64(10, NaN, false) is undefined.
-PASS view.getFloat64(10, false) is NaN
-PASS view.setFloat64(0, -NaN, true) is undefined.
-PASS view.getFloat64(0, true) is -NaN
-PASS view.setFloat64(3, -NaN, true) is undefined.
-PASS view.getFloat64(3, true) is -NaN
-PASS view.setFloat64(7, -NaN, true) is undefined.
-PASS view.getFloat64(7, true) is -NaN
-PASS view.setFloat64(10, -NaN, true) is undefined.
-PASS view.getFloat64(10, true) is -NaN
-PASS view.setFloat64(0, -NaN, false) is undefined.
-PASS view.getFloat64(0, false) is -NaN
-PASS view.setFloat64(3, -NaN, false) is undefined.
-PASS view.getFloat64(3, false) is -NaN
-PASS view.setFloat64(7, -NaN, false) is undefined.
-PASS view.getFloat64(7, false) is -NaN
-PASS view.setFloat64(10, -NaN, false) is undefined.
-PASS view.getFloat64(10, false) is -NaN
-
-Test for set methods that might write beyond the range
-PASS view.setInt8(0, 0) is undefined.
-PASS view.getInt8(0) is 0
-PASS view.setInt8(8, -128) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt8(15, -1) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint8(0, 0) is undefined.
-PASS view.getUint8(0) is 0
-PASS view.setUint8(8, 128) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint8(15, 255) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(0, 256, true) is undefined.
-PASS view.getInt16(0, true) is 256
-PASS view.setInt16(5, 26213, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(9, -32127, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(14, -2, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(0, 1) is undefined.
-PASS view.getInt16(0) is 1
-PASS view.setInt16(5, 25958) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(9, -32382) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(14, -257) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(0, 256, true) is undefined.
-PASS view.getUint16(0, true) is 256
-PASS view.setUint16(5, 26213, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(9, 33409, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(14, 65534, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(0, 1) is undefined.
-PASS view.getUint16(0) is 1
-PASS view.setUint16(5, 25958) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(9, 33154) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(14, 65279) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(0, 50462976, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(3, 1717920771, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(6, -2122291354, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(9, -58490239, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(12, -66052, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(0, 66051) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(3, 56911206) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(6, 1718059137) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(9, -2122152964) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(12, -50462977) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(0, 50462976, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(3, 1717920771, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(6, 2172675942, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(9, 4236477057, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(12, 4294901244, true) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(0, 66051) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(3, 56911206) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(6, 1718059137) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(9, 2172814332) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(12, 4244504319) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat32(0, 10, true) is undefined.
-PASS view.getFloat32(0, true) is 10
-PASS view.setFloat32(3, 10, true) is undefined.
-PASS view.getFloat32(3, true) is 10
-PASS view.setFloat32(7, 10, true) is undefined.
-PASS view.getFloat32(7, true) is 10
-PASS view.setFloat32(10, 10, true) is undefined.
-PASS view.getFloat32(10, true) is 10
-PASS view.setFloat32(0, 10, false) is undefined.
-PASS view.getFloat32(0, false) is 10
-PASS view.setFloat32(3, 10, false) is undefined.
-PASS view.getFloat32(3, false) is 10
-PASS view.setFloat32(7, 10, false) is undefined.
-PASS view.getFloat32(7, false) is 10
-PASS view.setFloat32(10, 10, false) is undefined.
-PASS view.getFloat32(10, false) is 10
-PASS view.setFloat32(0, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(0, true) is 1.2300000190734863
-PASS view.setFloat32(3, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(3, true) is 1.2300000190734863
-PASS view.setFloat32(7, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(7, true) is 1.2300000190734863
-PASS view.setFloat32(10, 1.2300000190734863, true) is undefined.
-PASS view.getFloat32(10, true) is 1.2300000190734863
-PASS view.setFloat32(0, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(0, false) is 1.2300000190734863
-PASS view.setFloat32(3, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(3, false) is 1.2300000190734863
-PASS view.setFloat32(7, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(7, false) is 1.2300000190734863
-PASS view.setFloat32(10, 1.2300000190734863, false) is undefined.
-PASS view.getFloat32(10, false) is 1.2300000190734863
-PASS view.setFloat32(0, -45621.37109375, true) is undefined.
-PASS view.getFloat32(0, true) is -45621.37109375
-PASS view.setFloat32(3, -45621.37109375, true) is undefined.
-PASS view.getFloat32(3, true) is -45621.37109375
-PASS view.setFloat32(7, -45621.37109375, true) is undefined.
-PASS view.getFloat32(7, true) is -45621.37109375
-PASS view.setFloat32(10, -45621.37109375, true) is undefined.
-PASS view.getFloat32(10, true) is -45621.37109375
-PASS view.setFloat32(0, -45621.37109375, false) is undefined.
-PASS view.getFloat32(0, false) is -45621.37109375
-PASS view.setFloat32(3, -45621.37109375, false) is undefined.
-PASS view.getFloat32(3, false) is -45621.37109375
-PASS view.setFloat32(7, -45621.37109375, false) is undefined.
-PASS view.getFloat32(7, false) is -45621.37109375
-PASS view.setFloat32(10, -45621.37109375, false) is undefined.
-PASS view.getFloat32(10, false) is -45621.37109375
-PASS view.setFloat32(0, NaN, true) is undefined.
-PASS view.getFloat32(0, true) is NaN
-PASS view.setFloat32(3, NaN, true) is undefined.
-PASS view.getFloat32(3, true) is NaN
-PASS view.setFloat32(7, NaN, true) is undefined.
-PASS view.getFloat32(7, true) is NaN
-PASS view.setFloat32(10, NaN, true) is undefined.
-PASS view.getFloat32(10, true) is NaN
-PASS view.setFloat32(0, NaN, false) is undefined.
-PASS view.getFloat32(0, false) is NaN
-PASS view.setFloat32(3, NaN, false) is undefined.
-PASS view.getFloat32(3, false) is NaN
-PASS view.setFloat32(7, NaN, false) is undefined.
-PASS view.getFloat32(7, false) is NaN
-PASS view.setFloat32(10, NaN, false) is undefined.
-PASS view.getFloat32(10, false) is NaN
-PASS view.setFloat32(0, -NaN, true) is undefined.
-PASS view.getFloat32(0, true) is -NaN
-PASS view.setFloat32(3, -NaN, true) is undefined.
-PASS view.getFloat32(3, true) is -NaN
-PASS view.setFloat32(7, -NaN, true) is undefined.
-PASS view.getFloat32(7, true) is -NaN
-PASS view.setFloat32(10, -NaN, true) is undefined.
-PASS view.getFloat32(10, true) is -NaN
-PASS view.setFloat32(0, -NaN, false) is undefined.
-PASS view.getFloat32(0, false) is -NaN
-PASS view.setFloat32(3, -NaN, false) is undefined.
-PASS view.getFloat32(3, false) is -NaN
-PASS view.setFloat32(7, -NaN, false) is undefined.
-PASS view.getFloat32(7, false) is -NaN
-PASS view.setFloat32(10, -NaN, false) is undefined.
-PASS view.getFloat32(10, false) is -NaN
-PASS view.setFloat64(0, 10, true) is undefined.
-PASS view.getFloat64(0, true) is 10
-PASS view.setFloat64(3, 10, true) is undefined.
-PASS view.getFloat64(3, true) is 10
-PASS view.setFloat64(7, 10, true) is undefined.
-PASS view.getFloat64(7, true) is 10
-PASS view.setFloat64(10, 10, true) is undefined.
-PASS view.getFloat64(10, true) is 10
-PASS view.setFloat64(0, 10, false) is undefined.
-PASS view.getFloat64(0, false) is 10
-PASS view.setFloat64(3, 10, false) is undefined.
-PASS view.getFloat64(3, false) is 10
-PASS view.setFloat64(7, 10, false) is undefined.
-PASS view.getFloat64(7, false) is 10
-PASS view.setFloat64(10, 10, false) is undefined.
-PASS view.getFloat64(10, false) is 10
-PASS view.setFloat64(0, 1.23, true) is undefined.
-PASS view.getFloat64(0, true) is 1.23
-PASS view.setFloat64(3, 1.23, true) is undefined.
-PASS view.getFloat64(3, true) is 1.23
-PASS view.setFloat64(7, 1.23, true) is undefined.
-PASS view.getFloat64(7, true) is 1.23
-PASS view.setFloat64(10, 1.23, true) is undefined.
-PASS view.getFloat64(10, true) is 1.23
-PASS view.setFloat64(0, 1.23, false) is undefined.
-PASS view.getFloat64(0, false) is 1.23
-PASS view.setFloat64(3, 1.23, false) is undefined.
-PASS view.getFloat64(3, false) is 1.23
-PASS view.setFloat64(7, 1.23, false) is undefined.
-PASS view.getFloat64(7, false) is 1.23
-PASS view.setFloat64(10, 1.23, false) is undefined.
-PASS view.getFloat64(10, false) is 1.23
-PASS view.setFloat64(0, -6213576.4839, true) is undefined.
-PASS view.getFloat64(0, true) is -6213576.4839
-PASS view.setFloat64(3, -6213576.4839, true) is undefined.
-PASS view.getFloat64(3, true) is -6213576.4839
-PASS view.setFloat64(7, -6213576.4839, true) is undefined.
-PASS view.getFloat64(7, true) is -6213576.4839
-PASS view.setFloat64(10, -6213576.4839, true) is undefined.
-PASS view.getFloat64(10, true) is -6213576.4839
-PASS view.setFloat64(0, -6213576.4839, false) is undefined.
-PASS view.getFloat64(0, false) is -6213576.4839
-PASS view.setFloat64(3, -6213576.4839, false) is undefined.
-PASS view.getFloat64(3, false) is -6213576.4839
-PASS view.setFloat64(7, -6213576.4839, false) is undefined.
-PASS view.getFloat64(7, false) is -6213576.4839
-PASS view.setFloat64(10, -6213576.4839, false) is undefined.
-PASS view.getFloat64(10, false) is -6213576.4839
-PASS view.setFloat64(0, NaN, true) is undefined.
-PASS view.getFloat64(0, true) is NaN
-PASS view.setFloat64(3, NaN, true) is undefined.
-PASS view.getFloat64(3, true) is NaN
-PASS view.setFloat64(7, NaN, true) is undefined.
-PASS view.getFloat64(7, true) is NaN
-PASS view.setFloat64(10, NaN, true) is undefined.
-PASS view.getFloat64(10, true) is NaN
-PASS view.setFloat64(0, NaN, false) is undefined.
-PASS view.getFloat64(0, false) is NaN
-PASS view.setFloat64(3, NaN, false) is undefined.
-PASS view.getFloat64(3, false) is NaN
-PASS view.setFloat64(7, NaN, false) is undefined.
-PASS view.getFloat64(7, false) is NaN
-PASS view.setFloat64(10, NaN, false) is undefined.
-PASS view.getFloat64(10, false) is NaN
-PASS view.setFloat64(0, -NaN, true) is undefined.
-PASS view.getFloat64(0, true) is -NaN
-PASS view.setFloat64(3, -NaN, true) is undefined.
-PASS view.getFloat64(3, true) is -NaN
-PASS view.setFloat64(7, -NaN, true) is undefined.
-PASS view.getFloat64(7, true) is -NaN
-PASS view.setFloat64(10, -NaN, true) is undefined.
-PASS view.getFloat64(10, true) is -NaN
-PASS view.setFloat64(0, -NaN, false) is undefined.
-PASS view.getFloat64(0, false) is -NaN
-PASS view.setFloat64(3, -NaN, false) is undefined.
-PASS view.getFloat64(3, false) is -NaN
-PASS view.setFloat64(7, -NaN, false) is undefined.
-PASS view.getFloat64(7, false) is -NaN
-PASS view.setFloat64(10, -NaN, false) is undefined.
-PASS view.getFloat64(10, false) is -NaN
-
-Test for set methods that write to negative index
-PASS view.setInt8(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt8(-2, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint8(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint8(-2, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(-2, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt16(-3, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(-2, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint16(-3, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(-3, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setInt32(-5, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(-3, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setUint32(-5, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat32(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat32(-3, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat32(-5, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat64(-1, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat64(-5, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-PASS view.setFloat64(-9, 0) threw exception RangeError: Offset is outside the bounds of the DataView.
-
-Test for wrong arguments passed to set methods
-PASS view.setInt8() threw exception TypeError: invalid_argument.
-PASS view.setUint8() threw exception TypeError: invalid_argument.
-PASS view.setInt16() threw exception TypeError: invalid_argument.
-PASS view.setUint16() threw exception TypeError: invalid_argument.
-PASS view.setInt32() threw exception TypeError: invalid_argument.
-PASS view.setUint32() threw exception TypeError: invalid_argument.
-PASS view.setFloat32() threw exception TypeError: invalid_argument.
-PASS view.setFloat64() threw exception TypeError: invalid_argument.
-PASS view.setInt8(1) threw exception TypeError: invalid_argument.
-PASS view.setUint8(1) threw exception TypeError: invalid_argument.
-PASS view.setInt16(1) threw exception TypeError: invalid_argument.
-PASS view.setUint16(1) threw exception TypeError: invalid_argument.
-PASS view.setInt32(1) threw exception TypeError: invalid_argument.
-PASS view.setUint32(1) threw exception TypeError: invalid_argument.
-PASS view.setFloat32(1) threw exception TypeError: invalid_argument.
-PASS view.setFloat64(1) threw exception TypeError: invalid_argument.
-
-Test for indexing that should not work
-PASS view[0] is undefined.
-PASS view[0] = 3 is defined.
-PASS view.getUint8(0) is 1
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html
deleted file mode 100644
index f85034c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/data-view-test.html
+++ /dev/null
@@ -1,354 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test DataView.");
-
-var intArray1 = [0, 1, 2, 3, 100, 101, 102, 103, 128, 129, 130, 131, 252, 253, 254, 255];
-var intArray2 = [31, 32, 33, 0, 1, 2, 3, 100, 101, 102, 103, 128, 129, 130, 131, 252, 253, 254, 255];
-var emptyArray = [204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204, 204];
-
-var arayBuffer = null;
-var view = null;
-var viewStart = 0;
-var viewLength = 0;
-
-function getElementSize(func)
-{
- switch (func) {
- case "Int8":
- case "Uint8":
- return 1;
- case "Int16":
- case "Uint16":
- return 2;
- case "Int32":
- case "Uint32":
- case "Float32":
- return 4;
- case "Float64":
- return 8;
- default:
- debug("Should not reached");
- }
-}
-
-function checkGet(func, index, expected, littleEndian)
-{
- var expr = "view.get" + func + "(" + index;
- if (littleEndian != undefined) {
- expr += ", ";
- expr += littleEndian ? "true" : "false";
- }
- expr += ")";
- if (index >= 0 && index + getElementSize(func) - 1 < view.byteLength)
- shouldBe(expr, expected);
- else
- shouldThrow(expr);
-}
-
-function checkSet(func, index, value, littleEndian)
-{
- var expr = "view.set" + func + "(" + index + ", " + value;
- if (littleEndian != undefined) {
- expr += ", ";
- expr += littleEndian ? "true" : "false";
- }
- expr += ")";
- if (index >= 0 && index + getElementSize(func) - 1 < view.byteLength) {
- shouldBeUndefined(expr);
- checkGet(func, index, value, littleEndian);
- } else
- shouldThrow(expr);
-}
-
-function test(isTestingGet, func, index, value, littleEndian)
-{
- if (isTestingGet)
- checkGet(func, index, value, littleEndian);
- else
- checkSet(func, index, value, littleEndian);
-}
-
-function createDataView(array, frontPaddingNum, littleEndian, start, length)
-{
- if (!littleEndian)
- array.reverse();
- var paddingArray = new Array(frontPaddingNum);
- arrayBuffer = (new Uint8Array(paddingArray.concat(array))).buffer;
- viewStart = (start != undefined) ? start : 0;
- viewLength = (length != undefined) ? length : arrayBuffer.byteLength - viewStart;
- view = new DataView(arrayBuffer, viewStart, viewLength);
- if (!littleEndian)
- array.reverse(); // restore the array.
-}
-
-function runIntegerTestCases(isTestingGet, array, start, length)
-{
- createDataView(array, 0, true, start, length);
-
- test(isTestingGet, "Int8", 0, "0");
- test(isTestingGet, "Int8", 8, "-128");
- test(isTestingGet, "Int8", 15, "-1");
-
- test(isTestingGet, "Uint8", 0, "0");
- test(isTestingGet, "Uint8", 8, "128");
- test(isTestingGet, "Uint8", 15, "255");
-
- // Little endian.
- test(isTestingGet, "Int16", 0, "256", true);
- test(isTestingGet, "Int16", 5, "26213", true);
- test(isTestingGet, "Int16", 9, "-32127", true);
- test(isTestingGet, "Int16", 14, "-2", true);
-
- // Big endian.
- test(isTestingGet, "Int16", 0, "1");
- test(isTestingGet, "Int16", 5, "25958");
- test(isTestingGet, "Int16", 9, "-32382");
- test(isTestingGet, "Int16", 14, "-257");
-
- // Little endian.
- test(isTestingGet, "Uint16", 0, "256", true);
- test(isTestingGet, "Uint16", 5, "26213", true);
- test(isTestingGet, "Uint16", 9, "33409", true);
- test(isTestingGet, "Uint16", 14, "65534", true);
-
- // Big endian.
- test(isTestingGet, "Uint16", 0, "1");
- test(isTestingGet, "Uint16", 5, "25958");
- test(isTestingGet, "Uint16", 9, "33154");
- test(isTestingGet, "Uint16", 14, "65279");
-
- // Little endian.
- test(isTestingGet, "Int32", 0, "50462976", true);
- test(isTestingGet, "Int32", 3, "1717920771", true);
- test(isTestingGet, "Int32", 6, "-2122291354", true);
- test(isTestingGet, "Int32", 9, "-58490239", true);
- test(isTestingGet, "Int32", 12, "-66052", true);
-
- // Big endian.
- test(isTestingGet, "Int32", 0, "66051");
- test(isTestingGet, "Int32", 3, "56911206");
- test(isTestingGet, "Int32", 6, "1718059137");
- test(isTestingGet, "Int32", 9, "-2122152964");
- test(isTestingGet, "Int32", 12, "-50462977");
-
- // Little endian.
- test(isTestingGet, "Uint32", 0, "50462976", true);
- test(isTestingGet, "Uint32", 3, "1717920771", true);
- test(isTestingGet, "Uint32", 6, "2172675942", true);
- test(isTestingGet, "Uint32", 9, "4236477057", true);
- test(isTestingGet, "Uint32", 12, "4294901244", true);
-
- // Big endian.
- test(isTestingGet, "Uint32", 0, "66051");
- test(isTestingGet, "Uint32", 3, "56911206");
- test(isTestingGet, "Uint32", 6, "1718059137");
- test(isTestingGet, "Uint32", 9, "2172814332");
- test(isTestingGet, "Uint32", 12, "4244504319");
-}
-
-function testFloat(isTestingGet, func, array, start, expected)
-{
- // Little endian.
- createDataView(array, 0, true, start);
- test(isTestingGet, func, 0, expected, true);
- createDataView(array, 3, true, start);
- test(isTestingGet, func, 3, expected, true);
- createDataView(array, 7, true, start);
- test(isTestingGet, func, 7, expected, true);
- createDataView(array, 10, true, start);
- test(isTestingGet, func, 10, expected, true);
-
- // Big endian.
- createDataView(array, 0, false);
- test(isTestingGet, func, 0, expected, false);
- createDataView(array, 3, false);
- test(isTestingGet, func, 3, expected, false);
- createDataView(array, 7, false);
- test(isTestingGet, func, 7, expected, false);
- createDataView(array, 10, false);
- test(isTestingGet, func, 10, expected, false);
-}
-
-function runFloatTestCases(isTestingGet, start)
-{
- testFloat(isTestingGet, "Float32", isTestingGet ? [0, 0, 32, 65] : emptyArray, start, "10");
- testFloat(isTestingGet, "Float32", isTestingGet ? [164, 112, 157, 63] : emptyArray, start, "1.2300000190734863");
- testFloat(isTestingGet, "Float32", isTestingGet ? [95, 53, 50, 199] : emptyArray, start, "-45621.37109375");
- testFloat(isTestingGet, "Float32", isTestingGet ? [255, 255, 255, 127] : emptyArray, start, "NaN");
- testFloat(isTestingGet, "Float32", isTestingGet ? [255, 255, 255, 255] : emptyArray, start, "-NaN");
-
- testFloat(isTestingGet, "Float64", isTestingGet ? [0, 0, 0, 0, 0, 0, 36, 64] : emptyArray, start, "10");
- testFloat(isTestingGet, "Float64", isTestingGet ? [174, 71, 225, 122, 20, 174, 243, 63] : emptyArray, start, "1.23");
- testFloat(isTestingGet, "Float64", isTestingGet ? [181, 55, 248, 30, 242, 179, 87, 193] : emptyArray, start, "-6213576.4839");
- testFloat(isTestingGet, "Float64", isTestingGet ? [255, 255, 255, 255, 255, 255, 255, 127] : emptyArray, start, "NaN");
- testFloat(isTestingGet, "Float64", isTestingGet ? [255, 255, 255, 255, 255, 255, 255, 255] : emptyArray, start, "-NaN");
-}
-
-function runNegativeIndexTests(isTestingGet)
-{
- createDataView(intArray1, 0, true, 0, 16);
-
- test(isTestingGet, "Int8", -1, "0");
- test(isTestingGet, "Int8", -2, "0");
-
- test(isTestingGet, "Uint8", -1, "0");
- test(isTestingGet, "Uint8", -2, "0");
-
- test(isTestingGet, "Int16", -1, "0");
- test(isTestingGet, "Int16", -2, "0");
- test(isTestingGet, "Int16", -3, "0");
-
- test(isTestingGet, "Uint16", -1, "0");
- test(isTestingGet, "Uint16", -2, "0");
- test(isTestingGet, "Uint16", -3, "0");
-
- test(isTestingGet, "Int32", -1, "0");
- test(isTestingGet, "Int32", -3, "0");
- test(isTestingGet, "Int32", -5, "0");
-
- test(isTestingGet, "Uint32", -1, "0");
- test(isTestingGet, "Uint32", -3, "0");
- test(isTestingGet, "Uint32", -5, "0");
-
- createDataView([0, 0, 0, 0, 0, 0, 36, 64], 0, true, 0, 8);
-
- test(isTestingGet, "Float32", -1, "0");
- test(isTestingGet, "Float32", -3, "0");
- test(isTestingGet, "Float32", -5, "0");
-
- test(isTestingGet, "Float64", -1, "0");
- test(isTestingGet, "Float64", -5, "0");
- test(isTestingGet, "Float64", -9, "0");
-}
-
-function runConstructorTests()
-{
- arayBuffer = (new Uint8Array([1, 2])).buffer;
-
- debug("");
- debug("Test for constructor not called as a function");
- var expr = "DataView(new ArrayBuffer)";
- // Use try/catch instead of calling shouldThrow to avoid different exception message being reported from different platform.
- try {
- eval(expr);
- testFailed(expr + " does not throw exception");
- } catch (e) {
- testPassed(expr + " threw exception");
- }
-
- debug("");
- debug("Test for constructor taking 1 argument");
- shouldBeDefined("view = new DataView(arayBuffer)");
- shouldBe("view.byteOffset", "0");
- shouldBe("view.byteLength", "2");
-
- debug("");
- debug("Test for constructor taking 2 arguments");
- shouldBeDefined("view = new DataView(arayBuffer, 1)");
- shouldBe("view.byteOffset", "1");
- shouldBe("view.byteLength", "1");
-
- debug("");
- debug("Test for constructor taking 3 arguments");
- shouldBeDefined("view = new DataView(arayBuffer, 0, 1)");
- shouldBe("view.byteOffset", "0");
- shouldBe("view.byteLength", "1");
-
- debug("");
- debug("Test for constructor throwing exception");
- shouldThrow("view = new DataView(arayBuffer, 0, 3)");
- shouldThrow("view = new DataView(arayBuffer, 1, 2)");
- shouldThrow("view = new DataView(arayBuffer, 2, 1)");
-}
-
-function runGetTests()
-{
- debug("");
- debug("Test for get methods that work");
- runIntegerTestCases(true, intArray1, 0, 16);
- runFloatTestCases(true, 0);
-
- debug("");
- debug("Test for get methods that might read beyond range");
- runIntegerTestCases(true, intArray2, 3, 2);
- runFloatTestCases(true, 3);
-
- debug("");
- debug("Test for get methods that read from negative index");
- runNegativeIndexTests(true);
-
- debug("");
- debug("Test for wrong arguments passed to get methods");
- view = new DataView((new Uint8Array([1, 2])).buffer);
- shouldThrow("view.getInt8()");
- shouldThrow("view.getUint8()");
- shouldThrow("view.getInt16()");
- shouldThrow("view.getUint16()");
- shouldThrow("view.getInt32()");
- shouldThrow("view.getUint32()");
- shouldThrow("view.getFloat32()");
- shouldThrow("view.getFloat64()");
-}
-
-function runSetTests()
-{
- debug("");
- debug("Test for set methods that work");
- runIntegerTestCases(false, emptyArray, 0, 16);
- runFloatTestCases(false);
-
- debug("");
- debug("Test for set methods that might write beyond the range");
- runIntegerTestCases(false, emptyArray, 3, 2);
- runFloatTestCases(false, 7);
-
- debug("");
- debug("Test for set methods that write to negative index");
- runNegativeIndexTests(false);
-
- debug("");
- debug("Test for wrong arguments passed to set methods");
- view = new DataView((new Uint8Array([1, 2])).buffer);
- shouldThrow("view.setInt8()");
- shouldThrow("view.setUint8()");
- shouldThrow("view.setInt16()");
- shouldThrow("view.setUint16()");
- shouldThrow("view.setInt32()");
- shouldThrow("view.setUint32()");
- shouldThrow("view.setFloat32()");
- shouldThrow("view.setFloat64()");
- shouldThrow("view.setInt8(1)");
- shouldThrow("view.setUint8(1)");
- shouldThrow("view.setInt16(1)");
- shouldThrow("view.setUint16(1)");
- shouldThrow("view.setInt32(1)");
- shouldThrow("view.setUint32(1)");
- shouldThrow("view.setFloat32(1)");
- shouldThrow("view.setFloat64(1)");
-}
-
-function runIndexingTests()
-{
- debug("");
- debug("Test for indexing that should not work");
- view = new DataView((new Uint8Array([1, 2])).buffer);
- shouldBeUndefined("view[0]");
- shouldBeDefined("view[0] = 3");
- shouldBe("view.getUint8(0)", "1");
-}
-
-runConstructorTests();
-runGetTests();
-runSetTests();
-runIndexingTests();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds-expected.txt
deleted file mode 100644
index 3690ae5..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds-expected.txt
+++ /dev/null
@@ -1,47 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Test of drawArrays with out-of-bounds parameters
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Test empty buffer
-PASS context.drawArrays(context.TRIANGLES, 0, 1) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, 10000) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, 10000000000000) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 1, 0) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(context.TRIANGLES, -1, 0) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(context.TRIANGLES, 100, 0) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(context.TRIANGLES, 1, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, -1, 1) generated expected GL error: INVALID_VALUE.
-
-Test buffer with 3 float vectors
-PASS context.drawArrays(context.TRIANGLES, 0, 3) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(0x0009, 0, 3) generated expected GL error: INVALID_ENUM.
-PASS context.drawArrays(context.TRIANGLES, 3, 2) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, 10000) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, 10000000000000) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, -1, 0) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(context.TRIANGLES, 100, 0) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(context.TRIANGLES, 1, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, -1, 1) generated expected GL error: INVALID_VALUE.
-
-Test buffer with interleaved (3+2) float vectors
-PASS context.drawArrays(context.TRIANGLES, 0, 9) generated expected GL error: NO_ERROR.
-PASS context.drawArrays(context.TRIANGLES, 0, -500) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, -200, 1) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, -200, -500) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 0, 0xffffffff) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 0xffffffff, 1) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 0xffffffff, 0xffffffff) generated expected GL error: INVALID_VALUE.
-PASS context.drawArrays(context.TRIANGLES, 0, 200) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0, 0x7fffffff) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0x7fffffff, 1) generated expected GL error: INVALID_OPERATION.
-PASS context.drawArrays(context.TRIANGLES, 0x7fffffff, 0x7fffffff) generated expected GL error: INVALID_OPERATION.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds.html
deleted file mode 100644
index 9fa9c7f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-arrays-out-of-bounds.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test of drawArrays with out-of-bounds parameters");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-var program = loadStandardProgram(context);
-
-context.useProgram(program);
-var vertexObject = context.createBuffer();
-context.bindBuffer(context.ARRAY_BUFFER, vertexObject);
-context.enableVertexAttribArray(0);
-
-debug("Test empty buffer")
-context.bufferData(context.ARRAY_BUFFER, new Float32Array([ ]), context.STATIC_DRAW);
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 0, 0);
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 1)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 10000)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 10000000000000)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 0, -1)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 1, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, -1, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 0, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 100, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 1, -1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, -1, 1)");
-
-debug("")
-debug("Test buffer with 3 float vectors")
-context.bufferData(context.ARRAY_BUFFER, new Float32Array([ 0,0.5,0, -0.5,-0.5,0, 0.5,-0.5,0 ]), context.STATIC_DRAW);
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 0, 0);
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 0, 3)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.drawArrays(0x0009, 0, 3)"); // GL_POLYGON
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 3, 2)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 10000)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 10000000000000)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 0, -1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, -1, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 0, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 100, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 1, -1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, -1, 1)");
-
-debug("")
-debug("Test buffer with interleaved (3+2) float vectors")
-
-var program2 = createProgram(context,
- "attribute vec3 aOne;" +
- "attribute vec2 aTwo;" +
- "void main() { gl_Position = vec4(aOne, 1.0) + vec4(aTwo, 0.0, 1.0); }",
- "void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); }",
- [ "aOne", "aTwo" ]);
-if (!program2) {
- testFailed("failed to create test program");
-}
-
-context.useProgram(program2);
-
-var vbo = context.createBuffer();
-context.bindBuffer(context.ARRAY_BUFFER, vbo);
-// enough for 9 vertices, so 3 triangles
-context.bufferData(context.ARRAY_BUFFER, new Float32Array(9*5), context.STATIC_DRAW);
-
-// bind first 3 elements, with a stride of 5 float elements
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 5*4, 0);
-// bind 2 elements, starting after the first 3; same stride of 5 float elements
-context.vertexAttribPointer(1, 2, context.FLOAT, false, 5*4, 3*4);
-
-context.enableVertexAttribArray(0);
-context.enableVertexAttribArray(1);
-
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawArrays(context.TRIANGLES, 0, 9)");
-
-// negative values must generate INVALID_VALUE; they can never be valid
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 0, -500)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, -200, 1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, -200, -500)");
-
-// 0xffffffff needs to convert to a 'long' IDL argument as -1, as per
-// WebIDL 4.1.7. JS ToInt32(0xffffffff) == -1, which is the first step
-// of the conversion. Thus INVALID_VALUE.
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 0, 0xffffffff)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 0xffffffff, 1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawArrays(context.TRIANGLES, 0xffffffff, 0xffffffff)");
-
-// values that could otherwise be valid but aren't due to bindings generate
-// INVALID_OPERATION
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 200)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0, 0x7fffffff)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0x7fffffff, 1)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawArrays(context.TRIANGLES, 0x7fffffff, 0x7fffffff)");
-
-debug("")
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds-expected.txt
deleted file mode 100644
index 944f4b9..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds-expected.txt
+++ /dev/null
@@ -1,61 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Test of drawElements with out-of-bounds parameters
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Test empty index buffer
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 10000, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 10000000000000, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 1, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, 0) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 1) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 1, context.UNSIGNED_BYTE, -1) generated expected GL error: INVALID_VALUE.
-
-Test buffer with 3 byte indexes
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_INT, 0) generated expected GL error: INVALID_ENUM.
-PASS context.drawElements(0x0009, 3, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_ENUM.
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 2) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 10000, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 10000000000000, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 1) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 1, context.UNSIGNED_BYTE, -1) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, 4) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 0xffffffff, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 0x7fffffff, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 0x7fffffff, context.UNSIGNED_BYTE, 0x7fffffff) generated expected GL error: INVALID_OPERATION.
-PASS context.bufferData(context.ELEMENT_ARRAY_BUFFER, (new Uint8Array([ 3, 0, 1, 2 ])).subarray(1), context.STATIC_DRAW) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0) generated expected GL error: NO_ERROR.
-PASS context.bufferSubData(context.ELEMENT_ARRAY_BUFFER, 0, new Uint8Array([ 3, 0, 1])) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.bufferSubData(context.ELEMENT_ARRAY_BUFFER, 0, (new Uint8Array([ 3, 0, 1, 2 ])).subarray(1)) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, 0) generated expected GL error: NO_ERROR.
-
-Test buffer with interleaved (3+2) float vectors
-PASS context.drawElements(context.TRIANGLES, 9, context.UNSIGNED_SHORT, 0) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 9, context.FLOAT, 0) generated expected GL error: INVALID_ENUM.
-PASS context.drawElements(context.TRIANGLES, 9, context.SHORT, 0) generated expected GL error: INVALID_ENUM.
-PASS context.drawElements(context.TRIANGLES, 9, context.UNSIGNED_INT, 0) generated expected GL error: INVALID_ENUM.
-PASS context.drawElements(context.TRIANGLES, 9, context.UNSIGNED_SHORT, 1000) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 12, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 15, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 18, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_SHORT, 2*15) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 0xffffffff, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_VALUE.
-PASS context.drawElements(context.TRIANGLES, 0x7fffffff, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_SHORT, 0) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 0) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 1) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 2) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds.html
deleted file mode 100644
index e103dab..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/draw-elements-out-of-bounds.html
+++ /dev/null
@@ -1,138 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test of drawElements with out-of-bounds parameters");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-var program = loadStandardProgram(context);
-
-context.useProgram(program);
-var vertexObject = context.createBuffer();
-context.enableVertexAttribArray(0);
-context.bindBuffer(context.ARRAY_BUFFER, vertexObject);
-context.bufferData(context.ARRAY_BUFFER, new Float32Array([ 0,0.5,0, -0.5,-0.5,0, 0.5,-0.5,0 ]), context.STATIC_DRAW);
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 0, 0);
-
-var indexObject = context.createBuffer();
-
-debug("Test empty index buffer")
-context.bindBuffer(context.ELEMENT_ARRAY_BUFFER, indexObject);
-context.bufferData(context.ELEMENT_ARRAY_BUFFER, new Uint8Array([ ]), context.STATIC_DRAW);
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 10000, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 10000000000000, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 1, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, -1)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, 1, context.UNSIGNED_BYTE, -1)");
-
-debug("")
-debug("Test buffer with 3 byte indexes")
-context.bindBuffer(context.ELEMENT_ARRAY_BUFFER, indexObject);
-context.bufferData(context.ELEMENT_ARRAY_BUFFER, new Uint8Array([ 0, 1, 2 ]), context.STATIC_DRAW);
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_INT, 0)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.drawElements(0x0009, 3, context.UNSIGNED_BYTE, 0)"); // GL_POLYGON
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 2)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 10000, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 10000000000000, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, -1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, -1, context.UNSIGNED_BYTE, 1)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, 1, context.UNSIGNED_BYTE, -1)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, 4)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, 0xffffffff, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 0x7fffffff, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 0x7fffffff, context.UNSIGNED_BYTE, 0x7fffffff)");
-
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferData(context.ELEMENT_ARRAY_BUFFER, (new Uint8Array([ 3, 0, 1, 2 ])).subarray(1), context.STATIC_DRAW)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferSubData(context.ELEMENT_ARRAY_BUFFER, 0, new Uint8Array([ 3, 0, 1]))");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferSubData(context.ELEMENT_ARRAY_BUFFER, 0, (new Uint8Array([ 3, 0, 1, 2 ])).subarray(1))");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_BYTE, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_BYTE, 0)");
-
-debug("")
-debug("Test buffer with interleaved (3+2) float vectors")
-
-var program2 = createProgram(context,
- "attribute vec3 aOne;" +
- "attribute vec2 aTwo;" +
- "void main() { gl_Position = vec4(aOne, 1.0) + vec4(aTwo, 0.0, 1.0); }",
- "void main() { gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0); }",
- [ "aOne", "aTwo" ]);
-if (!program2) {
- testFailed("failed to create test program");
-}
-
-context.useProgram(program2);
-
-var vbo = context.createBuffer();
-context.bindBuffer(context.ARRAY_BUFFER, vbo);
-// enough for 9 vertices, so 3 triangles
-context.bufferData(context.ARRAY_BUFFER, new Float32Array(9*5), context.STATIC_DRAW);
-
-// bind first 3 elements, with a stride of 5 float elements
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 5*4, 0);
-// bind 2 elements, starting after the first 3; same stride of 5 float elements
-context.vertexAttribPointer(1, 2, context.FLOAT, false, 5*4, 3*4);
-
-context.enableVertexAttribArray(0);
-context.enableVertexAttribArray(1);
-
-var ebo = context.createBuffer();
-context.bindBuffer(context.ELEMENT_ARRAY_BUFFER, ebo);
-context.bufferData(context.ELEMENT_ARRAY_BUFFER, new Uint16Array([ 0, 1, 2,
- 1, 2, 0,
- 2, 0, 1,
- 200, 200, 200,
- 0x7fff, 0x7fff, 0x7fff,
- 0xffff, 0xffff, 0xffff ]),
- context.STATIC_DRAW);
-
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 9, context.UNSIGNED_SHORT, 0)");
-
-// invalid type arguments
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.drawElements(context.TRIANGLES, 9, context.FLOAT, 0)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.drawElements(context.TRIANGLES, 9, context.SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.drawElements(context.TRIANGLES, 9, context.UNSIGNED_INT, 0)");
-
-// invalid operation with indices that would be valid with correct bindings
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 9, context.UNSIGNED_SHORT, 1000)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 12, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 15, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 18, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 3, context.UNSIGNED_SHORT, 2*15)");
-
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.drawElements(context.TRIANGLES, 0xffffffff, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 0x7fffffff, context.UNSIGNED_SHORT, 0)");
-
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 0, context.UNSIGNED_SHORT, 0)");
-
-// invalid operation with offset that's not a multiple of the type size
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 1)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 2)");
-
-// invalid operation if no buffer is bound to ELEMENT_ARRAY_BUFFER
-context.bindBuffer(context.ELEMENT_ARRAY_BUFFER, null);
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLES, 6, context.UNSIGNED_SHORT, 0)");
-
-debug("")
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test-expected.txt
deleted file mode 100644
index a4fad2c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test-expected.txt
+++ /dev/null
@@ -1,68 +0,0 @@
-This test ensures WebGL implementations correctly implement drawingbufferWidth/Height.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS context exists
-PASS gl.drawingBufferWidth is gl.canvas.width
-PASS gl.drawingBufferHeight is gl.canvas.height
-PASS maxSize[0] > 0 is true
-PASS maxSize[1] > 0 is true
-
-Checking drawingBufferWidth/drawingBufferHeight
-PASS context exists
-PASS gl.getParameter(gl.MAX_VIEWPORT_DIMS)[0] is maxSize[0]
-PASS gl.getParameter(gl.MAX_VIEWPORT_DIMS)[1] is maxSize[1]
-PASS gl.getParameter(gl.VIEWPORT)[0] is 0
-PASS gl.getParameter(gl.VIEWPORT)[1] is 0
-PASS gl.getParameter(gl.VIEWPORT)[2] is gl.drawingBufferWidth
-PASS gl.getParameter(gl.VIEWPORT)[3] is gl.drawingBufferHeight
-PASS gl.getError() is gl.NO_ERROR
-PASS grid rendered correctly
-PASS should be green
-PASS should be black
-PASS should be black
-PASS gl.getError() is gl.NO_ERROR
-
-Testing resizing canvas
-PASS gl.getParameter(gl.VIEWPORT)[0] is oldViewport[0]
-PASS gl.getParameter(gl.VIEWPORT)[1] is oldViewport[1]
-PASS gl.getParameter(gl.VIEWPORT)[2] is oldViewport[2]
-PASS gl.getParameter(gl.VIEWPORT)[3] is oldViewport[3]
-PASS gl.getError() is gl.NO_ERROR
-PASS grid rendered correctly
-PASS should be green
-PASS should be black
-PASS should be black
-PASS gl.getError() is gl.NO_ERROR
-
-Checking drawingBufferWidth/drawingBufferHeight
-PASS context exists
-PASS gl.getParameter(gl.MAX_VIEWPORT_DIMS)[0] is maxSize[0]
-PASS gl.getParameter(gl.MAX_VIEWPORT_DIMS)[1] is maxSize[1]
-PASS gl.getParameter(gl.VIEWPORT)[0] is 0
-PASS gl.getParameter(gl.VIEWPORT)[1] is 0
-PASS gl.getParameter(gl.VIEWPORT)[2] is gl.drawingBufferWidth
-PASS gl.getParameter(gl.VIEWPORT)[3] is gl.drawingBufferHeight
-PASS gl.getError() is gl.NO_ERROR
-PASS grid rendered correctly
-PASS should be green
-PASS should be black
-PASS should be black
-PASS gl.getError() is gl.NO_ERROR
-
-Testing resizing canvas
-PASS gl.getParameter(gl.VIEWPORT)[0] is oldViewport[0]
-PASS gl.getParameter(gl.VIEWPORT)[1] is oldViewport[1]
-PASS gl.getParameter(gl.VIEWPORT)[2] is oldViewport[2]
-PASS gl.getParameter(gl.VIEWPORT)[3] is oldViewport[3]
-PASS gl.getError() is gl.NO_ERROR
-PASS grid rendered correctly
-PASS should be green
-PASS should be black
-PASS should be black
-PASS gl.getError() is gl.NO_ERROR
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test.html
deleted file mode 100644
index 56c96fa..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/drawingbuffer-test.html
+++ /dev/null
@@ -1,219 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL Canvas Conformance Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshaderGrid" type="x-shader/x-vertex">
-attribute vec4 a_position;
-void main()
-{
- gl_Position = a_position;
-}
-</script>
-
-<script id="fshaderGrid" type="x-shader/x-fragment">
-precision mediump float;
-void main()
-{
- float r = mod(gl_FragCoord.x, 2.0) < 1.0 ? 0.0 : 1.0;
- float g = mod(gl_FragCoord.y, 2.0) < 1.0 ? 0.0 : 1.0;
- gl_FragColor = vec4(r, g, 0, 1);
-}
-</script>
-<script>
-description("This test ensures WebGL implementations correctly implement drawingbufferWidth/Height.");
-
-function getMaxViewportDimensions() {
- // create a fresh canvas. This canvas will be discarded
- // after exiting this function.
- var canvas = document.createElement("canvas");
- gl = wtu.create3DContext(canvas, {antialias: false});
- if (!gl) {
- testFailed("context does not exist");
- return [0, 0];
- } else {
- testPassed("context exists");
-
- // For a default size canvas these should be equal.
- // WebGL contexts are not allowed to change the size of the drawingBuffer
- // for things like hi-res displays.
- shouldBe('gl.drawingBufferWidth', 'gl.canvas.width');
- shouldBe('gl.drawingBufferHeight', 'gl.canvas.height');
- return gl.getParameter(gl.MAX_VIEWPORT_DIMS);
- }
-}
-
-// This uses gl_FragCoord to draw a device pixel relavent pattern.
-// If drawBufferWidth or drawBufferHeight are not in device pixels
-// this test should fail.
-function checkGrid(gl) {
- var program = wtu.setupProgram(gl, ["vshaderGrid", "fshaderGrid"], ["a_position"]);
- wtu.setupUnitQuad(gl);
- gl.useProgram(program);
- shouldBe('gl.getError()', 'gl.NO_ERROR');
-
- wtu.drawQuad(gl);
-
- var pixels = new Uint8Array(gl.drawingBufferWidth * gl.drawingBufferHeight * 4);
- gl.readPixels(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
-
- var colors = [
- [ { color: [0, 0, 0, 255], name: "black" }, { color: [255, 0, 0, 255], name: "red" } ],
- [ { color: [0, 255, 0, 255], name: "green" }, { color: [255, 255, 0, 255], name: "yellow" } ],
- ];
-
- for (var yy = 0; yy < gl.drawingBufferHeight; ++yy) {
- for (var xx = 0; xx < gl.drawingBufferWidth; ++xx) {
- var info = colors[yy % 2][xx % 2];
- var color = info.color;
- var offset = (yy * gl.drawingBufferWidth + xx) * 4;
- for (var jj = 0; jj < 4; ++jj) {
- if (pixels[offset + jj] != color[jj]) {
- var actual = [pixels[offset], pixels[offset + 1], pixels[offset + 2], pixels[offset + 3]];
- testFailed("at " + xx + ", " + yy + " expected " + color + "(" + info.name + ") was " + actual);
- return;
- }
- }
- }
- }
- testPassed("grid rendered correctly");
-}
-
-// This passes device coordinate vertices in to make sure gl.viewport is not being mucked with.
-function checkQuad(gl) {
- var deviceToClipSpace = function(value, range) {
- return value / range * 2 - 1;
- }
-
- var program = wtu.setupColorQuad(gl);
-
- // draw a small green square in the top right corner.
- var deviceX1 = gl.drawingBufferWidth - 4;
- var deviceX2 = gl.drawingBufferWidth;
- var deviceY1 = gl.drawingBufferHeight - 4;
- var deviceY2 = gl.drawingBufferHeight;
-
- var clipX1 = deviceToClipSpace(deviceX1, gl.drawingBufferWidth);
- var clipX2 = deviceToClipSpace(deviceX2, gl.drawingBufferWidth);
- var clipY1 = deviceToClipSpace(deviceY1, gl.drawingBufferHeight);
- var clipY2 = deviceToClipSpace(deviceY2, gl.drawingBufferHeight);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(
- gl.ARRAY_BUFFER,
- new Float32Array(
- [ clipX2, clipY2,
- clipX1, clipY2,
- clipX1, clipY1,
- clipX2, clipY2,
- clipX1, clipY1,
- clipX2, clipY1]),
- gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
-
- var green = [0, 255, 0, 255];
- var black = [0, 0, 0, 0];
- gl.clearColor(0, 0, 0, 0);
- gl.clear(gl.COLOR_BUFFER_BIT);
- wtu.drawUByteColorQuad(gl, [0, 255, 0, 255]);
-
- var squareWidth = deviceX2 - deviceX1;
- var squareHeight = deviceY2 - deviceY1;
-
- // check the square.
- wtu.checkCanvasRect(gl, deviceX1, deviceY1, squareWidth, squareHeight, green, "should be green");
- // check outside the square.
- wtu.checkCanvasRect(gl, 0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight - squareHeight, black, "should be black");
- wtu.checkCanvasRect(gl, 0, gl.drawingBufferHeight - squareHeight, gl.drawingBufferWidth - squareWidth, squareHeight, black, "should be black");
-}
-
-
-function test(desiredWidth, desiredHeight) {
- debug("");
- debug("Checking drawingBufferWidth/drawingBufferHeight");
-
- // Make a fresh canvas.
- var canvas = document.createElement("canvas");
- canvas.width = desiredWidth;
- canvas.height = desiredHeight;
-
- // This 'gl' must be global for shouldBe to work.
- gl = wtu.create3DContext(canvas, {antialias: false});
- if (!gl) {
- testFailed("context does not exist");
- } else {
- testPassed("context exists");
-
- // Verify these stats didn't change since they come from a different
- // context.
- shouldBe('gl.getParameter(gl.MAX_VIEWPORT_DIMS)[0]', 'maxSize[0]');
- shouldBe('gl.getParameter(gl.MAX_VIEWPORT_DIMS)[1]', 'maxSize[1]');
-
- // check the initial viewport matches the drawingBufferWidth and drawingBufferHeight
- shouldBe('gl.getParameter(gl.VIEWPORT)[0]', '0');
- shouldBe('gl.getParameter(gl.VIEWPORT)[1]', '0');
- shouldBe('gl.getParameter(gl.VIEWPORT)[2]', 'gl.drawingBufferWidth');
- shouldBe('gl.getParameter(gl.VIEWPORT)[3]', 'gl.drawingBufferHeight');
-
- // Draw a pixel grid using a shader that draws in device coordinates
- checkGrid(gl);
- // Draw a quad in the top right corner.
- checkQuad(gl);
-
- shouldBe('gl.getError()', 'gl.NO_ERROR');
-
- debug("");
- debug("Testing resizing canvas");
-
- oldViewport = gl.getParameter(gl.VIEWPORT);
-
- // flip width and height
- canvas.width = desiredHeight;
- canvas.height = desiredWidth;
-
- // Verify the viewport didn't change.
- shouldBe('gl.getParameter(gl.VIEWPORT)[0]', 'oldViewport[0]');
- shouldBe('gl.getParameter(gl.VIEWPORT)[1]', 'oldViewport[1]');
- shouldBe('gl.getParameter(gl.VIEWPORT)[2]', 'oldViewport[2]');
- shouldBe('gl.getParameter(gl.VIEWPORT)[3]', 'oldViewport[3]');
-
- // fix the viewport
- gl.viewport(0, 0, gl.drawingBufferWidth, gl.drawingBufferHeight);
-
- // Draw a pixel grid using a shader that draws in device coordinates
- checkGrid(gl);
-
- // Draw a quad in the top right corner.
- checkQuad(gl);
- shouldBe('gl.getError()', 'gl.NO_ERROR');
- }
-}
-
-var wtu = WebGLTestUtils;
-var maxSize = getMaxViewportDimensions();
-
-shouldBeTrue('maxSize[0] > 0');
-shouldBeTrue('maxSize[1] > 0');
-
-// test a small size to make sure it works at all.
-test(16, 32);
-
-// Make a canvas slightly larger than the max size WebGL can handle.
-// From section 2.2 of the spec the WebGL implementation should allow this to work.
-
-// test a size larger than MAX_VIEWPORT_DIMS in both dimensions
-test(maxSize[0] + 32, 8);
-
-debug("")
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting-expected.txt
deleted file mode 100644
index 82fbaf2..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting-expected.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests generation of synthetic and real GL errors
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR :
-Testing getActiveAttrib
-PASS context.getActiveAttrib(null, 2) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS getError was expected value: NO_ERROR :
-PASS context.getActiveAttrib(program, 2) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS getError was expected value: NO_ERROR :
-Testing getActiveUniform
-PASS context.getActiveUniform(null, 0) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS getError was expected value: NO_ERROR :
-PASS context.getActiveUniform(program, 50) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS getError was expected value: NO_ERROR :
-Testing attempts to manipulate the default framebuffer
-PASS context.bindFramebuffer(context.FRAMEBUFFER, null) is undefined.
-PASS getError was expected value: NO_ERROR :
-PASS context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, null) is undefined.
-PASS getError was expected value: INVALID_OPERATION :
-PASS getError was expected value: NO_ERROR :
-PASS context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, null, 0) is undefined.
-PASS getError was expected value: INVALID_OPERATION :
-PASS getError was expected value: NO_ERROR :
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting.html
deleted file mode 100644
index 0e953b6..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/error-reporting.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Tests generation of synthetic and real GL errors");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-var program = loadStandardProgram(context);
-
-// Other tests in this directory like getActiveTest and
-// incorrect-context-object-behaviour already test the raising of many
-// synthetic GL errors. This test verifies the raising of certain
-// known real GL errors, and contains a few regression tests for bugs
-// discovered in the synthetic error generation and in the WebGL
-// implementation itself.
-
-glErrorShouldBe(context, context.NO_ERROR);
-
-debug("Testing getActiveAttrib");
-// Synthetic OpenGL error
-shouldBeNull("context.getActiveAttrib(null, 2)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-// Error state should be clear by this point
-glErrorShouldBe(context, context.NO_ERROR);
-// Real OpenGL error
-shouldBeNull("context.getActiveAttrib(program, 2)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-// Error state should be clear by this point
-glErrorShouldBe(context, context.NO_ERROR);
-
-debug("Testing getActiveUniform");
-// Synthetic OpenGL error
-shouldBeNull("context.getActiveUniform(null, 0)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-// Error state should be clear by this point
-glErrorShouldBe(context, context.NO_ERROR);
-// Real OpenGL error
-shouldBeNull("context.getActiveUniform(program, 50)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-// Error state should be clear by this point
-glErrorShouldBe(context, context.NO_ERROR);
-
-debug("Testing attempts to manipulate the default framebuffer");
-shouldBeUndefined("context.bindFramebuffer(context.FRAMEBUFFER, null)");
-glErrorShouldBe(context, context.NO_ERROR);
-shouldBeUndefined("context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, null)");
-// Synthetic OpenGL error
-glErrorShouldBe(context, context.INVALID_OPERATION);
-// Error state should be clear by this point
-glErrorShouldBe(context, context.NO_ERROR);
-shouldBeUndefined("context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, null, 0)");
-// Synthetic OpenGL error
-glErrorShouldBe(context, context.INVALID_OPERATION);
-// Error state should be clear by this point
-glErrorShouldBe(context, context.NO_ERROR);
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url-expected.txt
deleted file mode 100644
index 7fa5d50..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url-expected.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-toDataURL() causes side effect for framebuffer binding. crbug.com/445848
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS should be red
-PASS should be red
-PASS should be red
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url.html
deleted file mode 100644
index d39c028..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-affected-by-to-data-url.html
+++ /dev/null
@@ -1,72 +0,0 @@
-<!DOCTYPE html>
-<html>
-<body>
-<canvas id="example" width="50" height="50">
-</canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script>
-"use strict";
-var wtu = WebGLTestUtils;
-description("toDataURL() causes side effect for framebuffer binding. crbug.com/445848");
-
-function test() {
- var glCanvas = document.getElementById("example");
- // crbug.com/445848 bug occurs only on the following webgl configuration.
- var gl = wtu.create3DContext(glCanvas, {preserveDrawingBuffer: true, premultipliedAlpha: true});
- // FIXME: context.getContextAttributes().antialias is always false on
- // content shell with --run-layout-test option. See http://crbug.com/375682
- // If antialias is supported, test can be much shorter for crbug.com/445848.
-
- var program = wtu.setupColorQuad(gl);
-
- // Clear backbuffer in red.
- gl.clearColor(1.0, 0.0, 0.0, 1.0);
- gl.clear(gl.COLOR_BUFFER_BIT);
- wtu.checkCanvas(gl, [255, 0, 0, 255], "should be red");
-
- var fbo = gl.createFramebuffer();
- var tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 50, 50, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0);
- if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE) {
- finishTest();
- return;
- }
-
- // Clear the FBO in green.
- gl.clearColor(0.0, 1.0, 0.0, 1.0);
- gl.clear(gl.COLOR_BUFFER_BIT);
-
- // backbuffer is still in red.
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- wtu.checkCanvas(gl, [255, 0, 0, 255], "should be red");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-
- glCanvas.toDataURL();
- // The second toDataURL binds backbuffer in crbug.com/445848
- glCanvas.toDataURL();
- // It applies to backbuffer, not the FBO.
- gl.clear(gl.COLOR_BUFFER_BIT);
-
- // backbuffer must be in red, not green.
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- wtu.checkCanvas(gl, [255, 0, 0, 255], "should be red");
-
- finishTest();
-}
-test();
-
-var successfullyParsed = true;
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt
deleted file mode 100644
index 0bc9191..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Verifies that GL framebuffer bindings do not change when canvas is resized
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS fboSize < canvas.width is true
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-test before resizing canvas
-PASS should be blue
-PASS area outside fbo should be transparent black
-PASS should be green
-PASS area outside fbo should be transparent black
-test after resizing canvas
-PASS should be blue
-PASS area outside fbo should be transparent black
-PASS should be green
-PASS area outside fbo should be transparent black
-test after resizing canvas and waiting for compositing
-PASS should be blue
-PASS area outside fbo should be transparent black
-PASS should be green
-PASS area outside fbo should be transparent black
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
deleted file mode 100644
index 09901853..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-bindings-unaffected-on-resize.html
+++ /dev/null
@@ -1,82 +0,0 @@
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Verifies that GL framebuffer bindings do not change when canvas is resized</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<canvas id="example" width="4px" height="4px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("Verifies that GL framebuffer bindings do not change when canvas is resized");
-
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
-}
-
-var err;
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-var green = [0, 255, 0, 255];
-var blue = [0, 0, 255, 255];
-var fboSize = 2;
-shouldBeTrue("fboSize < canvas.width");
-var fbo = gl.createFramebuffer();
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-var fboTex = gl.createTexture();
-gl.activeTexture(gl.TEXTURE1);
-gl.bindTexture(gl.TEXTURE_2D, fboTex);
-gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, fboTex, 0);
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, fboSize, fboSize, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-
-function checkFBO(color, msg) {
- wtu.checkCanvasRect(gl, 0, 0, fboSize, fboSize, color, msg);
- wtu.checkCanvasRect(gl, fboSize, fboSize, fboSize, fboSize, [0, 0, 0, 0], "area outside fbo should be transparent black");
-}
-
-// The FBO is 2x2 and it's bound so clearing should clear a 2x2 area
-// and calling read pixels should read the clear color in that 2x2 area
-// and 0,0,0,0 outside that area.
-//
-// If the FBO is no longer bound because of a WebGL implementation error
-// then likely the clear will clear the backbuffer and reading outside
-// the 2x2 area will not be 0,0,0,0
-
-function test() {
- gl.clearColor(0, 0, 1, 1);
- gl.clear(gl.COLOR_BUFFER_BIT);
- checkFBO(blue, "should be blue");
- gl.clearColor(0, 1, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT);
- checkFBO(green, "should be green");
-}
-
-debug("test before resizing canvas");
-test();
-debug("test after resizing canvas");
-canvas.width = 8;
-test();
-debug("test after resizing canvas and waiting for compositing");
-canvas.width = 16;
-wtu.waitForComposite(5, function() {
- test();
- finishTest();
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors.");
-});
-
-successfullyParsed = true;
-</script>
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment-expected.txt
deleted file mode 100644
index 84d0890..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment-expected.txt
+++ /dev/null
@@ -1,662 +0,0 @@
-Test framebuffer object attachment behaviors
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Dimensions 0 x 0
-Create renderbuffers
-PASS gl = create3DContext() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS stencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-Attach depth using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach stencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depth, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depthStencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach stencil, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depthStencil, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach color renderbuffer with internalformat == RGBA4
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach color renderbuffer with internalformat == RGB5_A1
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach color renderbuffer with internalformat == RGB565
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Create and attach depthStencil renderbuffer
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is width
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is height
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-
-Dimensions 0 x 2
-Create renderbuffers
-PASS gl = create3DContext() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS stencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-Attach depth using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach stencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depth, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depthStencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach stencil, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depthStencil, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach color renderbuffer with internalformat == RGBA4
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach color renderbuffer with internalformat == RGB5_A1
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach color renderbuffer with internalformat == RGB565
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Create and attach depthStencil renderbuffer
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is width
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-
-Dimensions 2 x 0
-Create renderbuffers
-PASS gl = create3DContext() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS stencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-Attach depth using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach stencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depth, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depthStencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach stencil, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach depthStencil, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-Attach color renderbuffer with internalformat == RGBA4
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach color renderbuffer with internalformat == RGB5_A1
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach color renderbuffer with internalformat == RGB565
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Create and attach depthStencil renderbuffer
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is height
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-
-Dimensions 2 x 2
-Create renderbuffers
-PASS gl = create3DContext() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS stencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-Attach depth using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-Attach depth using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
-Attach stencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach stencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using DEPTH_STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
-PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
-Attach depthStencil using DEPTH_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depthStencil using STENCIL_ATTACHMENT
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36054
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION :
-Attach depth, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061
-Attach stencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061
-Attach depth, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061
-Attach depthStencil, then depth, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061
-Attach stencil, then depthStencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061
-Attach depthStencil, then stencil, causing conflict
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36061
-Attach color renderbuffer with internalformat == RGBA4
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-Attach color renderbuffer with internalformat == RGB5_A1
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-Attach color renderbuffer with internalformat == RGB565
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) == 0 is true
-PASS gl.getParameter(gl.STENCIL_BITS) == 0 is true
-Create and attach depthStencil renderbuffer
-PASS depthStencilBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is width
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is height
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is gl.DEPTH_STENCIL
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is 0
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_DEPTH_SIZE) > 0 is true
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_STENCIL_SIZE) > 0 is true
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned 36053
-PASS gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16 is true
-PASS gl.getParameter(gl.DEPTH_BITS) >= 16 is true
-PASS gl.getParameter(gl.STENCIL_BITS) >= 8 is true
-
-test: DEPTH_COMPONENT16 vs DEPTH_STENCIL with delete
-PASS should be green
-test deleting second renderbuffer
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS should be green
-
-test: DEPTH_COMPONENT16 vs DEPTH_STENCIL with unbind
-PASS should be green
-test unbinding second renderbuffer
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS should be green
-
-test: DEPTH_STENCIL vs DEPTH_COMPONENT16 with delete
-PASS should be green
-test deleting second renderbuffer
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS should be green
-
-test: DEPTH_STENCIL vs DEPTH_COMPONENT16 with unbind
-PASS should be green
-test unbinding second renderbuffer
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS should be green
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-
-Attachments of different sizes should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS (OpenGL ES 2.0 4.4.5)
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-
-Wrong storage type for type of attachment be FRAMEBUFFER_INCOMPLETE_ATTACHMENT (OpenGL ES 2.0 4.4.5)
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-
-0 size attachment should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT (OpenGL ES 2.0 4.4.5)
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED
-PASS getError was expected value: NO_ERROR :
-
-No attachments should be INCOMPLETE_FRAMEBUFFER_MISSING_ATTACHMENT (OpenGL ES 2.0 4.4.5)
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED
-PASS getError was expected value: NO_ERROR :
-
-Test drawing or reading from an incomplete framebuffer
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS depthBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_COMPLETE was FRAMEBUFFER_COMPLETE
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS was FRAMEBUFFER_INCOMPLETE_DIMENSIONS or FRAMEBUFFER_UNSUPPORTED
-
-Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : drawArrays with incomplete framebuffer
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels from incomplete framebuffer
-PASS getError was one of: INVALID_FRAMEBUFFER_OPERATION or INVALID_OPERATION : copyTexImage2D from incomplete framebuffer
-PASS getError was one of: INVALID_FRAMEBUFFER_OPERATION or INVALID_OPERATION : copyTexSubImage2D from incomplete framebuffer
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : clear with incomplete framebuffer
-PASS fbo2 = gl.createFramebuffer() is non-null.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT was FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT or FRAMEBUFFER_UNSUPPORTED
-
-Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : drawArrays with incomplete framebuffer
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels from incomplete framebuffer
-PASS getError was one of: INVALID_FRAMEBUFFER_OPERATION or INVALID_OPERATION : copyTexImage2D from incomplete framebuffer
-PASS getError was one of: INVALID_FRAMEBUFFER_OPERATION or INVALID_OPERATION : copyTexSubImage2D from incomplete framebuffer
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : clear with incomplete framebuffer
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-
-Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : drawArrays with incomplete framebuffer
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : readPixels from incomplete framebuffer
-PASS getError was one of: INVALID_FRAMEBUFFER_OPERATION or INVALID_OPERATION : copyTexImage2D from incomplete framebuffer
-PASS getError was one of: INVALID_FRAMEBUFFER_OPERATION or INVALID_OPERATION : copyTexSubImage2D from incomplete framebuffer
-PASS getError was expected value: INVALID_FRAMEBUFFER_OPERATION : clear with incomplete framebuffer
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment.html
deleted file mode 100644
index aae290d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-object-attachment.html
+++ /dev/null
@@ -1,533 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl;
-var fbo;
-var depthBuffer;
-var stencilBuffer;
-var depthStencilBuffer;
-var colorBuffer;
-var width;
-var height;
-
-const ALLOW_COMPLETE = 0x01;
-const ALLOW_UNSUPPORTED = 0x02;
-const ALLOW_INCOMPLETE_ATTACHMENT = 0x04;
-
-function checkFramebufferForAllowedStatuses(allowedStatuses)
-{
- // If the framebuffer is in an error state for multiple reasons,
- // we can't guarantee which one will be reported.
- var status = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
- var statusAllowed = ((allowedStatuses & ALLOW_COMPLETE) && (status == gl.FRAMEBUFFER_COMPLETE)) ||
- ((allowedStatuses & ALLOW_UNSUPPORTED) && (status == gl.FRAMEBUFFER_UNSUPPORTED)) ||
- ((allowedStatuses & ALLOW_INCOMPLETE_ATTACHMENT) && (status == gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT));
- var msg = "gl.checkFramebufferStatus(gl.FRAMEBUFFER) returned " + status;
- if (statusAllowed)
- testPassed(msg);
- else
- testFailed(msg);
-}
-
-function checkBufferBits(attachment0, attachment1)
-{
- if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE)
- return;
-
- var haveDepthBuffer = attachment0 == gl.DEPTH_ATTACHMENT ||
- attachment0 == gl.DEPTH_STENCIL_ATTACHMENT ||
- attachment1 == gl.DEPTH_ATTACHMENT ||
- attachment1 == gl.DEPTH_STENCIL_ATTACHMENT;
- var haveStencilBuffer = attachment0 == gl.STENCIL_ATTACHMENT ||
- attachment0 == gl.DEPTH_STENCIL_ATTACHMENT ||
- attachment1 == gl.STENCIL_ATTACHMENT ||
- attachment1 == gl.DEPTH_STENCIL_ATTACHMENT;
-
- shouldBeTrue("gl.getParameter(gl.RED_BITS) + gl.getParameter(gl.GREEN_BITS) + gl.getParameter(gl.BLUE_BITS) + gl.getParameter(gl.ALPHA_BITS) >= 16");
-
- if (haveDepthBuffer)
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) >= 16");
- else
- shouldBeTrue("gl.getParameter(gl.DEPTH_BITS) == 0");
-
- if (haveStencilBuffer)
- shouldBeTrue("gl.getParameter(gl.STENCIL_BITS) >= 8");
- else
- shouldBeTrue("gl.getParameter(gl.STENCIL_BITS) == 0");
-}
-
-function testAttachment(attachment, buffer, allowedStatuses)
-{
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment, gl.RENDERBUFFER, buffer);
- glErrorShouldBe(gl, gl.NO_ERROR);
- checkFramebufferForAllowedStatuses(allowedStatuses);
- if ((allowedStatuses & ALLOW_COMPLETE) == 0) {
- gl.clear(gl.COLOR_BUFFER_BIT);
- glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(width * height * 4));
- glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION);
- }
- checkBufferBits(attachment);
- gl.deleteFramebuffer(fbo);
-}
-
-function testAttachments(attachment0, buffer0, attachment1, buffer1, allowedStatuses)
-{
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment0, gl.RENDERBUFFER, buffer0);
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment1, gl.RENDERBUFFER, buffer1);
- glErrorShouldBe(gl, gl.NO_ERROR);
- checkFramebufferForAllowedStatuses(allowedStatuses);
- checkBufferBits(attachment0, attachment1);
- gl.deleteFramebuffer(fbo);
-}
-
-function testColorRenderbuffer(internalformat, allowedStatuses)
-{
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, internalformat, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- testAttachment(gl.COLOR_ATTACHMENT0, colorBuffer, allowedStatuses);
-}
-
-function testDepthStencilRenderbuffer(allowedStatuses)
-{
- shouldBeNonNull("depthStencilBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- // OpenGL itself doesn't seem to guarantee that e.g. a 2 x 0
- // renderbuffer will report 2 for its width when queried.
- if (!(height == 0 && width > 0))
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)", "width");
- if (!(width == 0 && height > 0))
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)", "height");
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT)", "gl.DEPTH_STENCIL");
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE)", "0");
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE)", "0");
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE)", "0");
- shouldBe("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE)", "0");
- // Avoid verifying these for zero-sized renderbuffers for the time
- // being since it appears that even OpenGL doesn't guarantee them.
- if (width > 0 && height > 0) {
- shouldBeTrue("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_DEPTH_SIZE) > 0");
- shouldBeTrue("gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_STENCIL_SIZE) > 0");
- }
- glErrorShouldBe(gl, gl.NO_ERROR);
- testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, allowedStatuses);
- testDepthStencilDepthStencil();
-}
-
-function testDepthStencilDepthStencil()
-{
- if (!width || !height) {
- return;
- }
-
- var tests = [
- { firstFormat: gl.DEPTH_COMPONENT16,
- firstAttach: gl.DEPTH_ATTACHMENT,
- secondFormat: gl.DEPTH_STENCIL,
- secondAttach: gl.DEPTH_STENCIL_ATTACHMENT
- },
- { firstFormat: gl.DEPTH_STENCIL,
- firstAttach: gl.DEPTH_STENCIL_ATTACHMENT,
- secondFormat: gl.DEPTH_COMPONENT16,
- secondAttach: gl.DEPTH_ATTACHMENT
- }
- ];
- for (var ii = 0; ii < tests.length; ++ii) {
- var test = tests[ii];
- for (var jj = 0; jj < 2; ++jj) {
- var fbo = gl.createFramebuffer();
- var tex = gl.createTexture();
- var firstRb = gl.createRenderbuffer();
-
- debug("");
- debug("test: " + wtu.glEnumToString(gl, test.firstFormat) + " vs " + wtu.glEnumToString(gl, test.secondFormat) + " with " + (jj ? "unbind" : "delete"));
-
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- // attach texture as color
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0);
-
- // attach first
- gl.bindRenderbuffer(gl.RENDERBUFFER, firstRb);
- gl.renderbufferStorage(gl.RENDERBUFFER, test.firstFormat, width, height);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, test.firstAttach, gl.RENDERBUFFER, firstRb);
-
- if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- gl.enable(gl.DEPTH_TEST);
- var program = wtu.setupColorQuad(gl);
- // Test it works
- wtu.drawUByteColorQuad(gl, [0, 255, 0, 255]);
- wtu.drawUByteColorQuad(gl, [255, 0, 0, 255]); // should not draw since DEPTH_FUNC == LESS
- wtu.checkCanvasRect(gl, 0, 0, width, height, [0, 255, 0, 255], "should be green");
-
- var secondRb = gl.createRenderbuffer();
-
- // attach second
- gl.bindRenderbuffer(gl.RENDERBUFFER, secondRb);
- gl.renderbufferStorage(gl.RENDERBUFFER, test.secondFormat, width, height);
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, test.secondAttach, gl.RENDERBUFFER, secondRb);
-
- if (jj == 0) {
- // now delete it
- debug("test deleting second renderbuffer");
- gl.deleteRenderbuffer(secondRb);
- } else {
- // unbind it
- debug("test unbinding second renderbuffer");
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, test.secondAttach, gl.RENDERBUFFER, null);
- }
-
- // If the first attachment is not restored this may fail
- shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- // If the first attachment is not restored this may fail.
- gl.clear(gl.DEPTH_BUFFER_BIT);
- wtu.drawUByteColorQuad(gl, [0, 255, 0, 255]);
- wtu.drawUByteColorQuad(gl, [255, 0, 0, 255]); // should not draw since DEPTH_FUNC == LESS
- wtu.checkCanvasRect(gl, 0, 0, width, height, [0, 255, 0, 255], "should be green");
- gl.disable(gl.DEPTH_TEST);
-
- if (jj == 1) {
- gl.deleteRenderbuffer(secondRb);
- }
- }
-
- gl.deleteRenderbuffer(secondRb);
- gl.deleteFramebuffer(fbo);
- }
- }
- glErrorShouldBe(gl, gl.NO_ERROR);
-}
-
-description("Test framebuffer object attachment behaviors");
-
-for (width = 0; width <= 2; width += 2)
-{
- for (height = 0; height <= 2; height += 2)
- {
- debug("");
- debug("Dimensions " + width + " x " + height);
-
- debug("Create renderbuffers");
- shouldBeNonNull("gl = create3DContext()");
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeNonNull("depthBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeNonNull("stencilBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, stencilBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.STENCIL_INDEX8, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeNonNull("depthStencilBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthStencilBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_STENCIL, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- var allowedStatusForGoodCase
- = (width == 0 || height == 0) ? ALLOW_INCOMPLETE_ATTACHMENT : ALLOW_COMPLETE;
-
- // some cases involving stencil seem to be implementation-dependent
- var allowedStatusForImplDependentCase = allowedStatusForGoodCase | ALLOW_UNSUPPORTED;
-
- debug("Attach depth using DEPTH_ATTACHMENT");
- testAttachment(gl.DEPTH_ATTACHMENT, depthBuffer, allowedStatusForGoodCase);
- debug("Attach depth using STENCIL_ATTACHMENT");
- testAttachment(gl.STENCIL_ATTACHMENT, depthBuffer, ALLOW_INCOMPLETE_ATTACHMENT);
- debug("Attach depth using DEPTH_STENCIL_ATTACHMENT");
- testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, depthBuffer, ALLOW_INCOMPLETE_ATTACHMENT);
- debug("Attach stencil using STENCIL_ATTACHMENT");
- testAttachment(gl.STENCIL_ATTACHMENT, stencilBuffer, allowedStatusForImplDependentCase);
- debug("Attach stencil using DEPTH_ATTACHMENT");
- testAttachment(gl.DEPTH_ATTACHMENT, stencilBuffer, ALLOW_INCOMPLETE_ATTACHMENT);
- debug("Attach stencil using DEPTH_STENCIL_ATTACHMENT");
- testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, stencilBuffer, ALLOW_INCOMPLETE_ATTACHMENT);
- debug("Attach depthStencil using DEPTH_STENCIL_ATTACHMENT");
- testAttachment(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, allowedStatusForGoodCase);
- debug("Attach depthStencil using DEPTH_ATTACHMENT");
- testAttachment(gl.DEPTH_ATTACHMENT, depthStencilBuffer, ALLOW_INCOMPLETE_ATTACHMENT);
- debug("Attach depthStencil using STENCIL_ATTACHMENT");
- testAttachment(gl.STENCIL_ATTACHMENT, depthStencilBuffer, ALLOW_INCOMPLETE_ATTACHMENT);
-
- var allowedStatusForConflictedAttachment
- = (width == 0 || height == 0) ? ALLOW_UNSUPPORTED | ALLOW_INCOMPLETE_ATTACHMENT
- : ALLOW_UNSUPPORTED;
-
- debug("Attach depth, then stencil, causing conflict");
- testAttachments(gl.DEPTH_ATTACHMENT, depthBuffer, gl.STENCIL_ATTACHMENT, stencilBuffer, allowedStatusForConflictedAttachment);
- debug("Attach stencil, then depth, causing conflict");
- testAttachments(gl.STENCIL_ATTACHMENT, stencilBuffer, gl.DEPTH_ATTACHMENT, depthBuffer, allowedStatusForConflictedAttachment);
- debug("Attach depth, then depthStencil, causing conflict");
- testAttachments(gl.DEPTH_ATTACHMENT, depthBuffer, gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, allowedStatusForConflictedAttachment);
- debug("Attach depthStencil, then depth, causing conflict");
- testAttachments(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, gl.DEPTH_ATTACHMENT, depthBuffer, allowedStatusForConflictedAttachment);
- debug("Attach stencil, then depthStencil, causing conflict");
- testAttachments(gl.DEPTH_ATTACHMENT, depthBuffer, gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, allowedStatusForConflictedAttachment);
- debug("Attach depthStencil, then stencil, causing conflict");
- testAttachments(gl.DEPTH_STENCIL_ATTACHMENT, depthStencilBuffer, gl.STENCIL_ATTACHMENT, stencilBuffer, allowedStatusForConflictedAttachment);
-
- debug("Attach color renderbuffer with internalformat == RGBA4");
- testColorRenderbuffer(gl.RGBA4, allowedStatusForGoodCase);
-
- debug("Attach color renderbuffer with internalformat == RGB5_A1");
- testColorRenderbuffer(gl.RGB5_A1, allowedStatusForGoodCase);
-
- debug("Attach color renderbuffer with internalformat == RGB565");
- testColorRenderbuffer(gl.RGB565, allowedStatusForGoodCase);
-
- debug("Create and attach depthStencil renderbuffer");
- testDepthStencilRenderbuffer(allowedStatusForGoodCase);
- }
-}
-
-// Determine if we can attach both color and depth or color and depth_stencil
-var depthFormat;
-var depthAttachment;
-
-function checkValidColorDepthCombination() {
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
-
- shouldBeNonNull("depthBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
-
- return tryDepth(gl.DEPTH_COMPONENT16, gl.DEPTH_ATTACHMENT) || tryDepth(gl.DEPTH_STENCIL, gl.DEPTH_STENCIL_ATTACHMENT);
-
- function tryDepth(try_format, try_attachment) {
- if (depthAttachment) {
- // If we've tried once unattach the old one.
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, depthAttachment, gl.RENDERBUFFER, null);
- }
- depthFormat = try_format;
- depthAttachment = try_attachment;
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, depthAttachment, gl.RENDERBUFFER, depthBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 16, 16);
- glErrorShouldBe(gl, gl.NO_ERROR);
- return gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE;
- }
-}
-
-if (checkValidColorDepthCombination()) {
- testFramebufferIncompleteDimensions();
- testFramebufferIncompleteAttachment();
- testFramebufferIncompleteMissingAttachment();
- testUsingIncompleteFramebuffer();
-}
-
-function checkFramebuffer(expected) {
- var actual = gl.checkFramebufferStatus(gl.FRAMEBUFFER);
- var msg = "gl.checkFramebufferStatus(gl.FRAMEBUFFER) should be " + wtu.glEnumToString(gl, expected) + " was " + wtu.glEnumToString(gl, actual);
- if (expected != gl.FRAMEBUFFER_COMPLETE) {
- msg += " or FRAMEBUFFER_UNSUPPORTED";
- }
- if (actual == expected ||
- (expected != gl.FRAMEBUFFER_COMPLETE &&
- actual == gl.FRAMBUFFER_UNSUPPORTED)) {
- testPassed(msg);
- } else {
- testFailed(msg);
- }
-}
-
-function testUsingIncompleteFramebuffer() {
- debug("");
- debug("Test drawing or reading from an incomplete framebuffer");
- var program = wtu.setupTexturedQuad(gl);
- var tex = gl.createTexture();
- wtu.fillTexture(gl, tex, 1, 1, [0,255,0,255]);
-
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
-
- shouldBeNonNull("depthBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, depthAttachment, gl.RENDERBUFFER, depthBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 16, 16);
- glErrorShouldBe(gl, gl.NO_ERROR);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
-
- // We pick this combination because it works on desktop OpenGL but should not work on OpenGL ES 2.0
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 32, 16);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS);
- debug("");
- debug("Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION");
- testRenderingAndReading();
-
- shouldBeNonNull("fbo2 = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);
- debug("");
- debug("Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION");
- testRenderingAndReading();
-
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 0, 0);
- debug("");
- debug("Drawing or reading from an incomplete framebuffer should generate INVALID_FRAMEBUFFER_OPERATION");
- testRenderingAndReading();
-
- function testRenderingAndReading() {
- glErrorShouldBe(gl, gl.NO_ERROR);
- wtu.drawQuad(gl);
- glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION, "drawArrays with incomplete framebuffer");
- gl.readPixels(0, 0, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, new Uint8Array(4));
- glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION, "readPixels from incomplete framebuffer");
- // copyTexImage and copyTexSubImage can be either INVALID_FRAMEBUFFER_OPERATION because
- // the framebuffer is invalid OR INVALID_OPERATION because in the case of no attachments
- // the framebuffer is not of a compatible type.
- gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1);
- glErrorShouldBe(gl, [gl.INVALID_FRAMEBUFFER_OPERATION, gl.INVALID_OPERATION], "copyTexImage2D from incomplete framebuffer");
- gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, 1, 1, 0);
- glErrorShouldBe(gl, [gl.INVALID_FRAMEBUFFER_OPERATION, gl.INVALID_OPERATION], "copyTexSubImage2D from incomplete framebuffer");
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- glErrorShouldBe(gl, gl.INVALID_FRAMEBUFFER_OPERATION, "clear with incomplete framebuffer");
- }
-}
-
-function testFramebufferIncompleteAttachment() {
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
-
- debug("");
- debug("Wrong storage type for type of attachment be FRAMEBUFFER_INCOMPLETE_ATTACHMENT (OpenGL ES 2.0 4.4.5)");
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 16, 16);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT);
-
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
-
- debug("");
- debug("0 size attachment should be FRAMEBUFFER_INCOMPLETE_ATTACHMENT (OpenGL ES 2.0 4.4.5)");
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 0, 0);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_ATTACHMENT);
-
- glErrorShouldBe(gl, gl.NO_ERROR);
-}
-
-function testFramebufferIncompleteMissingAttachment() {
- debug("");
- debug("No attachments should be INCOMPLETE_FRAMEBUFFER_MISSING_ATTACHMENT (OpenGL ES 2.0 4.4.5)");
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);
-
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
-
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, null);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT);
-
- glErrorShouldBe(gl, gl.NO_ERROR);
-}
-
-function testFramebufferIncompleteDimensions() {
- debug("");
- debug("Attachments of different sizes should be FRAMEBUFFER_INCOMPLETE_DIMENSIONS (OpenGL ES 2.0 4.4.5)");
-
- shouldBeNonNull("fbo = gl.createFramebuffer()");
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
-
- shouldBeNonNull("depthBuffer = gl.createRenderbuffer()");
- gl.bindRenderbuffer(gl.RENDERBUFFER, depthBuffer);
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER, depthAttachment, gl.RENDERBUFFER, depthBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 16, 16);
- glErrorShouldBe(gl, gl.NO_ERROR);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
-
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 32, 16);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS);
- gl.renderbufferStorage(gl.RENDERBUFFER, depthFormat, 16, 16);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 32);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- var tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 16, 16, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0);
- glErrorShouldBe(gl, gl.NO_ERROR);
- if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE) {
- return;
- }
-
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 32, 16, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- checkFramebuffer(gl.FRAMEBUFFER_INCOMPLETE_DIMENSIONS);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 16, 16, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- checkFramebuffer(gl.FRAMEBUFFER_COMPLETE);
-
- glErrorShouldBe(gl, gl.NO_ERROR);
-}
-
-successfullyParsed = true;
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test-expected.txt
deleted file mode 100644
index 8721111..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test-expected.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-This tests framebuffer/renderbuffer-related functions
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Checking framebuffer/renderbuffer stuff.
-PASS calling getFramebufferAttachmentParameter on the default framebuffer should generate INVALID_OPERATION.
-PASS calling checkFramebufferStatus on the default framebuffer should generate FRAMEBUFFER_COMPLETE.
-PASS trying to attach a texture to default framebuffer should generate INVALID_OPERATION.
-PASS trying to detach default renderbuffer from default framebuffer should generate INVALID_OPERATION.
-PASS allocating renderbuffer storage of a newly created renderbuffer should succeed.
-PASS trying to attach a renderbuffer to the default framebuffer should generate INVALID_OPERATION.
-PASS binding a newly created framebuffer should succeed.
-PASS calling getFramebufferAttachmentParameter with target = READ_FRAMEBUFFER should generate INVALID_ENUM.
-PASS calling checkFramebufferStatus with target = READ_FRAMEBUFFER should return 0.
-PASS calling checkFramebufferStatus with target = READ_FRAMEBUFFER should generate INVALID_ENUM.
-PASS calling bindFramebuffer with target = READ_FRAMEBUFFER should generate INVALID_ENUM.
-PASS calling bindFramebuffer with target = READ_FRAMEBUFFER should not change FRAMEBUFFER_BINDING.
-PASS calling getFramebufferAttachmentParameter with target = READ_FRAMEBUFFER should generate INVALID_ENUM.
-PASS calling framebufferTexImage2D with target = READ_FRAMEBUFFER should generate INVALID_ENUM.
-PASS calling framebufferRenderbuffer with target = READ_FRAMEBUFFER should generate INVALID_ENUM.
-PASS calling framebufferTexImage2D with attachment = COLOR_ATTACHMENT1 should generate INVALID_ENUM.
-PASS calling framebufferRenderbuffer with attachment = COLOR_ATTACHMENT1 should generate INVALID_ENUM.
-PASS calling getFramebufferAttachmentParameter with pname = GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING should generate INVALID_ENUM.
-PASS attaching a texture to a framebuffer should succeed.
-PASS detaching a texture from a framebuffer should succeed.
-PASS calling framebufferTexture2D with non-zero mipmap level should generate INVALID_VALUE.
-PASS attaching a renderbuffer to a framebuffer should succeed.
-PASS detaching a renderbuffer from a framebuffer should succeed.
-PASS binding default (null) framebuffer should succeed.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test.html
deleted file mode 100644
index f480a9c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/framebuffer-test.html
+++ /dev/null
@@ -1,170 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL Framebuffer Test</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("This tests framebuffer/renderbuffer-related functions");
-
-debug("");
-debug("Canvas.getContext");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var canvas = document.getElementById("canvas");
-var gl = create3DContext(canvas);
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- debug("Checking framebuffer/renderbuffer stuff.");
-
- var value = gl.getFramebufferAttachmentParameter(
- gl.FRAMEBUFFER,
- gl.COLOR_ATTACHMENT0,
- gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE);
- assertMsg(gl.getError() == gl.INVALID_OPERATION,
- "calling getFramebufferAttachmentParameter on the default framebuffer should generate INVALID_OPERATION.");
-
- assertMsg(gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE,
- "calling checkFramebufferStatus on the default framebuffer should generate FRAMEBUFFER_COMPLETE.");
-
- var tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
- gl.texImage2D(gl.TEXTURE_2D,
- 0, // level
- gl.RGBA, // internalFormat
- canvas.width, // width
- canvas.height, // height
- 0, // border
- gl.RGBA, // format
- gl.UNSIGNED_BYTE, // type
- null); // data
- gl.framebufferTexture2D(
- gl.FRAMEBUFFER,
- gl.COLOR_ATTACHMENT0,
- gl.TEXTURE_2D,
- tex,
- 0);
- assertMsg(gl.getError() == gl.INVALID_OPERATION,
- "trying to attach a texture to default framebuffer should generate INVALID_OPERATION.");
-
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER,
- gl.COLOR_ATTACHMENT0,
- gl.RENDERBUFFER,
- null);
- assertMsg(gl.getError() == gl.INVALID_OPERATION,
- "trying to detach default renderbuffer from default framebuffer should generate INVALID_OPERATION.");
-
- var rb = gl.createRenderbuffer();
- gl.bindRenderbuffer(gl.RENDERBUFFER, rb);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, canvas.width, canvas.height);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "allocating renderbuffer storage of a newly created renderbuffer should succeed.");
-
- gl.framebufferRenderbuffer(
- gl.FRAMEBUFFER,
- gl.COLOR_ATTACHMENT0,
- gl.RENDERBUFFER,
- rb);
- assertMsg(gl.getError() == gl.INVALID_OPERATION,
- "trying to attach a renderbuffer to the default framebuffer should generate INVALID_OPERATION.");
-
- var fbtex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, fbtex);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, canvas.width, canvas.height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- var fb = gl.createFramebuffer();
-
- gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "binding a newly created framebuffer should succeed.");
-
- var target = 0x8CA8; // GL_READ_FRAMEBUFFER
- gl.getFramebufferAttachmentParameter(
- target,
- gl.COLOR_ATTACHMENT0,
- gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling getFramebufferAttachmentParameter with target = READ_FRAMEBUFFER should generate INVALID_ENUM.");
- assertMsg(gl.checkFramebufferStatus(target) == 0,
- "calling checkFramebufferStatus with target = READ_FRAMEBUFFER should return 0.");
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling checkFramebufferStatus with target = READ_FRAMEBUFFER should generate INVALID_ENUM.");
- gl.bindFramebuffer(target, gl.createFramebuffer());
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling bindFramebuffer with target = READ_FRAMEBUFFER should generate INVALID_ENUM.");
- assertMsg(fb == gl.getParameter(gl.FRAMEBUFFER_BINDING),
- "calling bindFramebuffer with target = READ_FRAMEBUFFER should not change FRAMEBUFFER_BINDING.");
- gl.getFramebufferAttachmentParameter(target, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling getFramebufferAttachmentParameter with target = READ_FRAMEBUFFER should generate INVALID_ENUM.");
- gl.framebufferTexture2D(target, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, fbtex, 0);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling framebufferTexImage2D with target = READ_FRAMEBUFFER should generate INVALID_ENUM.");
- gl.framebufferRenderbuffer(target, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rb);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling framebufferRenderbuffer with target = READ_FRAMEBUFFER should generate INVALID_ENUM.");
-
- var attachment = 0x8CE1; // GL_COLOR_ATTACHMENT1
- gl.framebufferTexture2D(gl.FRAMEBUFFER, attachment, gl.TEXTURE_2D, fbtex, 0);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling framebufferTexImage2D with attachment = COLOR_ATTACHMENT1 should generate INVALID_ENUM.");
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, attachment, gl.RENDERBUFFER, rb);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling framebufferRenderbuffer with attachment = COLOR_ATTACHMENT1 should generate INVALID_ENUM.");
-
- gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER,
- gl.COLOR_ATTACHMENT0,
- 0x8210); // GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "calling getFramebufferAttachmentParameter with pname = GL_FRAMEBUFFER_ATTACHMENT_COLOR_ENCODING should generate INVALID_ENUM.");
-
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, fbtex, 0);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "attaching a texture to a framebuffer should succeed.");
-
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, null, 0);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "detaching a texture from a framebuffer should succeed.");
-
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, fbtex, 1);
- assertMsg(gl.getError() == gl.INVALID_VALUE,
- "calling framebufferTexture2D with non-zero mipmap level should generate INVALID_VALUE.");
-
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rb);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "attaching a renderbuffer to a framebuffer should succeed.");
-
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, null);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "detaching a renderbuffer from a framebuffer should succeed.");
-
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "binding default (null) framebuffer should succeed.");
-}
-
-debug("");
-
-</script>
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings-expected.txt
deleted file mode 100644
index adec29a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings-expected.txt
+++ /dev/null
@@ -1,25 +0,0 @@
-Test that functions returning strings really do return strings (and not e.g. null)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS gl.getShaderSource(vs) returns a string
-PASS gl.getShaderInfoLog(vs) returns a string
-PASS gl.getShaderSource(vs) returns a string
-PASS gl.getShaderInfoLog(vs) returns a string
-PASS gl.getShaderSource(fs) returns a string
-PASS gl.getShaderInfoLog(fs) returns a string
-PASS gl.getShaderSource(fs) returns a string
-PASS gl.getShaderInfoLog(fs) returns a string
-PASS gl.getProgramInfoLog(prog) returns a string
-PASS gl.getProgramInfoLog(prog) returns a string
-PASS getSupportedExtensions() returns an array of strings
-PASS gl.getParameter(gl.VENDOR) returns a string
-PASS gl.getParameter(gl.RENDERER) returns a string
-PASS gl.getParameter(gl.VERSION) returns a string
-PASS gl.getParameter(gl.SHADING_LANGUAGE_VERSION) returns a string
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings.html
deleted file mode 100644
index 3299e7a2..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/functions-returning-strings.html
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("Test that functions returning strings really do return strings (and not e.g. null)");
-debug("");
-
-var validVertexShaderString =
- "attribute vec4 aVertex; attribute vec4 aColor; varying vec4 vColor; void main() { vColor = aColor; gl_Position = aVertex; }";
-var validFragmentShaderString =
- "precision mediump float; varying vec4 vColor; void main() { gl_FragColor = vColor; }";
-
-function shouldReturnString(_a)
-{
- var exception;
- var _av;
- try {
- _av = eval(_a);
- } catch (e) {
- exception = e;
- }
-
- if (exception)
- testFailed(_a + ' should return a string. Threw exception ' + exception);
- else if (typeof _av == "string")
- testPassed(_a + ' returns a string');
- else
- testFailed(_a + ' should return a string. Returns: "' + _av + '"');
-}
-
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- var vs = gl.createShader(gl.VERTEX_SHADER);
- shouldReturnString("gl.getShaderSource(vs)");
- shouldReturnString("gl.getShaderInfoLog(vs)");
- gl.shaderSource(vs, validVertexShaderString);
- gl.compileShader(vs);
- shouldReturnString("gl.getShaderSource(vs)");
- shouldReturnString("gl.getShaderInfoLog(vs)");
-
- var fs = gl.createShader(gl.FRAGMENT_SHADER);
- shouldReturnString("gl.getShaderSource(fs)");
- shouldReturnString("gl.getShaderInfoLog(fs)");
- gl.shaderSource(fs, validFragmentShaderString);
- gl.compileShader(fs);
- shouldReturnString("gl.getShaderSource(fs)");
- shouldReturnString("gl.getShaderInfoLog(fs)");
-
- var prog = gl.createProgram();
- shouldReturnString("gl.getProgramInfoLog(prog)");
- gl.attachShader(prog, vs);
- gl.attachShader(prog, fs);
- gl.linkProgram(prog);
- shouldReturnString("gl.getProgramInfoLog(prog)");
-
- // Make sure different numbers of extensions doesn't result in
- // different test output.
- var exts = gl.getSupportedExtensions();
- var allPassed = true;
- for (i in exts) {
- if (typeof i != "string") {
- shouldReturnString("gl.getSupportedExtensions()[" + i + "]");
- allPassed = false;
- }
- }
- if (allPassed) {
- testPassed('getSupportedExtensions() returns an array of strings');
- }
-
- shouldReturnString("gl.getParameter(gl.VENDOR)");
- shouldReturnString("gl.getParameter(gl.RENDERER)");
- shouldReturnString("gl.getParameter(gl.VERSION)");
- shouldReturnString("gl.getParameter(gl.SHADING_LANGUAGE_VERSION)");
-}
-
-debug("");
-successfullyParsed = true;
-
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test-expected.txt
deleted file mode 100644
index 8df2f07..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test-expected.txt
+++ /dev/null
@@ -1,52 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Test of getActiveAttrib and getActiveUniform
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR :
-PASS context.getActiveUniform(program, 0).name is 'u_modelViewProjMatrix'
-PASS context.getActiveUniform(program, 0).type is context.FLOAT_MAT4
-PASS context.getActiveUniform(program, 0).size is 1
-PASS context.getActiveUniform(program, 1) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS context.getActiveUniform(program, -1) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS context.getActiveUniform(null, 0) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS info[ii] is non-null.
-PASS info[ii] is non-null.
-PASS info[ii].name is expected[ii].name
-PASS info[ii].type is expected[ii].type
-PASS info[ii].size is expected[ii].size
-PASS info[ii].name is expected[ii].name
-PASS info[ii].type is expected[ii].type
-PASS info[ii].size is expected[ii].size
-PASS info2[ii] is non-null.
-PASS info2[ii] is non-null.
-PASS info2[ii].name is expected2[ii].name
-PASS info2[ii].type is expected2[ii].type
-PASS info2[ii].size is expected2[ii].size
-PASS info2[ii].name is expected2[ii].name
-PASS info2[ii].type is expected2[ii].type
-PASS info2[ii].size is expected2[ii].size
-PASS context.getActiveAttrib(program, 2) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS context.getActiveAttrib(program, -1) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS context.getActiveAttrib(null, 0) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS getError was expected value: NO_ERROR :
-Check trying to get attribs from different context
-PASS context2.getActiveAttrib(program, 0) is null
-PASS getError was expected value: INVALID_OPERATION :
-PASS context2.getActiveUniform(program, 0) is null
-PASS getError was expected value: INVALID_OPERATION :
-Check trying to get attribs from deleted program
-PASS context.getActiveUniform(program, 0) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS context.getActiveAttrib(program, 0) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test.html
deleted file mode 100644
index f7101a3..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/get-active-test.html
+++ /dev/null
@@ -1,109 +0,0 @@
-
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test of getActiveAttrib and getActiveUniform");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-var context2 = create3DContext();
-var program = loadStandardProgram(context);
-var program2 = loadProgram(context2,
- "resources/intArrayUniformShader.vert",
- "resources/noopUniformShader.frag");
-
-glErrorShouldBe(context, context.NO_ERROR);
-shouldBe("context.getActiveUniform(program, 0).name", "'u_modelViewProjMatrix'");
-shouldBe("context.getActiveUniform(program, 0).type", "context.FLOAT_MAT4");
-shouldBe("context.getActiveUniform(program, 0).size", "1");
-shouldBeNull("context.getActiveUniform(program, 1)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-shouldBeNull("context.getActiveUniform(program, -1)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-shouldBeNull("context.getActiveUniform(null, 0)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-
-// we don't know the order the attribs will appear.
-var info = [
- context.getActiveAttrib(program, 0),
- context.getActiveAttrib(program, 1)
-];
-for (var ii = 0; ii < info.length; ++ii)
- shouldBeNonNull("info[ii]");
-
-var expected = [
- { name: 'a_normal', type: context.FLOAT_VEC3, size: 1 },
- { name: 'a_vertex', type: context.FLOAT_VEC4, size: 1 }
-];
-
-if (info[0].name != expected[0].name) {
- t = info[0];
- info[0] = info[1];
- info[1] = t;
-}
-
-for (var ii = 0; ii < info.length; ++ii) {
- shouldBe("info[ii].name", "expected[ii].name");
- shouldBe("info[ii].type", "expected[ii].type");
- shouldBe("info[ii].size", "expected[ii].size");
-}
-
-// we don't know the order the uniforms will appear.
-var info2 = [
- context2.getActiveUniform(program2, 0),
- context2.getActiveUniform(program2, 1)
-];
-for (var ii = 0; ii < info2.length; ++ii)
- shouldBeNonNull("info2[ii]");
-
-var expected2 = [
- { name: 'ival', type: context2.INT, size: 1 },
- { name: 'ival2[0]', type: context2.INT, size: 2 }
-];
-
-if (info2[0].name != expected2[0].name) {
- t = info2[0];
- info2[0] = info2[1];
- info2[1] = t;
-}
-
-for (var ii = 0; ii < info2.length; ++ii) {
- shouldBe("info2[ii].name", "expected2[ii].name");
- shouldBe("info2[ii].type", "expected2[ii].type");
- shouldBe("info2[ii].size", "expected2[ii].size");
-}
-
-shouldBeNull("context.getActiveAttrib(program, 2)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-shouldBeNull("context.getActiveAttrib(program, -1)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-shouldBeNull("context.getActiveAttrib(null, 0)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-
-glErrorShouldBe(context2, context.NO_ERROR);
-
-debug("Check trying to get attribs from different context");
-shouldBeNull("context2.getActiveAttrib(program, 0)");
-glErrorShouldBe(context2, context2.INVALID_OPERATION);
-shouldBeNull("context2.getActiveUniform(program, 0)");
-glErrorShouldBe(context2, context2.INVALID_OPERATION);
-
-debug("Check trying to get attribs from deleted program");
-context.deleteProgram(program);
-shouldBeNull("context.getActiveUniform(program, 0)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-shouldBeNull("context.getActiveAttrib(program, 0)");
-glErrorShouldBe(context, context.INVALID_VALUE);
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test-expected.txt
deleted file mode 100644
index 514c673..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-This test ensures WebGL implementations don't allow names that start with 'gl_' when calling bindAttribLocation.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS [object WebGLRenderingContext] is non-null.
-
-Checking gl.bindAttribLocation.
-PASS getError was expected value: INVALID_OPERATION : bindAttribLocation should return INVALID_OPERATION if name starts with 'gl_'
-PASS getError was expected value: INVALID_OPERATION : bindAttribLocation should return INVALID_OPERATION if name starts with 'gl_'
-PASS program linked successfully
-vPosition:3
-vColor :2
-PASS location of vPositon should be 3
-PASS location of vColor should be 2
-PASS drawing is correct
-PASS program linked successfully
-vPosition:3
-vColor :0
-PASS location of vPositon should be 3
-PASS location of vColor should be 0
-PASS drawing is correct
-PASS getError was expected value: NO_ERROR :
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test.html
deleted file mode 100644
index 8911f9b..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-bind-attrib-location-test.html
+++ /dev/null
@@ -1,198 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL BindAttribLocation Conformance Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas style="border: 1px solid black;" id="canvas" width="50" height="50"></canvas>
-<script id="vshader" type="text/something-not-javascript">
-attribute vec4 vPosition;
-attribute vec4 vColor;
-varying vec4 color;
-void main()
-{
- gl_Position = vPosition;
- color = vColor;
-}
-</script>
-<script id="fshader" type="text/something-not-javascript">
-#ifdef GL_ES
-precision highp float;
-#endif
-varying vec4 color;
-void main()
-{
- gl_FragColor = color;
-}
-</script>
-<script>
-description("This test ensures WebGL implementations don't allow names that start with 'gl_' when calling bindAttribLocation.");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-debug("");
-debug("Canvas.getContext");
-
-var gl = create3DContext(document.getElementById("canvas"));
-shouldBeNonNull(gl);
-
-function fail(x,y, buf, shouldBe)
-{
- var i = (y*50+x) * 4;
- var reason = "pixel at ("+x+","+y+") is ("+buf[i]+","+buf[i+1]+","+buf[i+2]+","+buf[i+3]+"), should be "+shouldBe;
- testFailed(reason);
-}
-
-function pass()
-{
- testPassed("drawing is correct");
-}
-
-function loadShader(shaderType, shaderId) {
- // Get the shader source.
- var shaderSource = document.getElementById(shaderId).text;
-
- // Create the shader object
- var shader = gl.createShader(shaderType);
- if (shader == null) {
- debug("*** Error: unable to create shader '"+shaderId+"'");
- return null;
- }
-
- // Load the shader source
- gl.shaderSource(shader, shaderSource);
-
- // Compile the shader
- gl.compileShader(shader);
-
- // Check the compile status
- var compiled = gl.getShaderParameter(shader, gl.COMPILE_STATUS);
- if (!compiled) {
- // Something went wrong during compilation; get the error
- var error = gl.getShaderInfoLog(shader);
- debug("*** Error compiling shader '"+shader+"':"+error);
- gl.deleteShader(shader);
- return null;
- }
- return shader;
-}
-
-debug("");
-debug("Checking gl.bindAttribLocation.");
-
-var program = gl.createProgram();
-gl.bindAttribLocation(program, 0, "gl_foo");
-glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "bindAttribLocation should return INVALID_OPERATION if name starts with 'gl_'");
-gl.bindAttribLocation(program, 0, "gl_TexCoord0");
-glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "bindAttribLocation should return INVALID_OPERATION if name starts with 'gl_'");
-
-var vs = loadShader(gl.VERTEX_SHADER, "vshader");
-var fs = loadShader(gl.FRAGMENT_SHADER, "fshader");
-gl.attachShader(program, vs);
-gl.attachShader(program, fs);
-
-var positions = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, positions);
-gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ 0,0.5,0, -0.5,-0.5,0, 0.5,-0.5,0 ]), gl.STATIC_DRAW);
-
-var colors = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, colors);
-gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
- 0,1,0,1,
- 0,1,0,1,
- 0,1,0,1]), gl.STATIC_DRAW);
-
-function setBindLocations(colorLocation, positionLocation) {
- gl.bindAttribLocation(program, positionLocation, "vPosition");
- gl.bindAttribLocation(program, colorLocation, "vColor");
- gl.linkProgram(program);
- gl.useProgram(program);
- var linked = (gl.getProgramParameter(program, gl.LINK_STATUS) != 0);
- assertMsg(linked, "program linked successfully");
-
- debug("vPosition:" + gl.getAttribLocation(program, "vPosition"))
- debug("vColor :" + gl.getAttribLocation(program, "vColor"))
- assertMsg(gl.getAttribLocation(program, "vPosition") == positionLocation,
- "location of vPositon should be " + positionLocation);
- assertMsg(gl.getAttribLocation(program, "vColor") == colorLocation,
- "location of vColor should be " + colorLocation);
-
- var ploc = gl.getAttribLocation(program, "vPosition");
- var cloc = gl.getAttribLocation(program, "vColor");
- gl.bindBuffer(gl.ARRAY_BUFFER, positions);
- gl.enableVertexAttribArray(positionLocation);
- gl.vertexAttribPointer(positionLocation, 3, gl.FLOAT, false, 0, 0);
- gl.bindBuffer(gl.ARRAY_BUFFER, colors);
- gl.enableVertexAttribArray(colorLocation);
- gl.vertexAttribPointer(colorLocation, 4, gl.FLOAT, false, 0, 0);
-}
-
-function checkDraw(colorLocation, positionLocation, r, g, b, a) {
- gl.clearColor(0, 0, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 3);
-
- var width = 50;
- var height = 50;
- var buf = new Uint8Array(width * height * 4);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-
- function checkPixel(x, y, r, g, b, a) {
- var offset = (y * width + x) * 4;
- if (buf[offset + 0] != r ||
- buf[offset + 1] != g ||
- buf[offset + 2] != b ||
- buf[offset + 3] != a) {
- fail(x, y, buf, "(" + r + "," + g + "," + b + "," + a + ")");
- return false;
- }
- return true;
- }
-
- // Test several locations
- // First line should be all black
- var success = true;
- for (var i = 0; i < 50; ++i)
- success = success && checkPixel(i, 0, 0, 0, 0, 255);
-
- // Line 15 should be red for at least 10 rgba pixels starting 20 pixels in
- var offset = (15 * 50 + 20) * 4;
- for (var i = 0; i < 10; ++i)
- success = success && checkPixel(20 + i, 15, r, g, b, a);
-
- // Last line should be all black
- for (var i = 0; i < 50; ++i)
- success = success && checkPixel(i, 49, 0, 0, 0, 255);
-
- if (success)
- pass();
-
- gl.disableVertexAttribArray(positionLocation);
- gl.disableVertexAttribArray(colorLocation);
-}
-
-setBindLocations(2, 3);
-checkDraw(2, 3, 0, 255, 0, 255);
-
-setBindLocations(0, 3);
-gl.disableVertexAttribArray(0);
-gl.vertexAttrib4f(0, 1, 0, 0, 1);
-checkDraw(0, 3, 255, 0, 0, 255);
-
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test-expected.txt
deleted file mode 100644
index a6f630e..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test-expected.txt
+++ /dev/null
@@ -1,80 +0,0 @@
-This test ensures WebGL implementations allow OpenGL ES 2.0 features to be turned on but not non OpenGL ES 2.0 features.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Checking gl.ENABLE enums.
-PASS gl.enable must set INVALID_ENUM when passed GL_ALPHA_TEST
-PASS gl.enable must set INVALID_ENUM when passed GL_AUTO_NORMAL
-PASS gl.enable must set INVALID_ENUM when passed GL_CLIP_PLANE0
-PASS gl.enable must set INVALID_ENUM when passed GL_CLIP_PLANE1
-PASS gl.enable must set INVALID_ENUM when passed GL_COLOR_LOGIC_OP
-PASS gl.enable must set INVALID_ENUM when passed GL_COLOR_MATERIAL
-PASS gl.enable must set INVALID_ENUM when passed GL_COLOR_SUM
-PASS gl.enable must set INVALID_ENUM when passed GL_COLOR_TABLE
-PASS gl.enable must set INVALID_ENUM when passed GL_FOG
-PASS gl.enable must set INVALID_ENUM when passed GL_HISTOGRAM
-PASS gl.enable must set INVALID_ENUM when passed GL_INDEX_LOGIC_OP
-PASS gl.enable must set INVALID_ENUM when passed GL_LIGHT0
-PASS gl.enable must set INVALID_ENUM when passed GL_LIGHT1
-PASS gl.enable must set INVALID_ENUM when passed GL_LIGHTING
-PASS gl.enable must set INVALID_ENUM when passed GL_LINE_SMOOTH
-PASS gl.enable must set INVALID_ENUM when passed GL_LINE_STIPPLE
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_COLOR_4
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_INDEX
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_NORMAL
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_TEXTURE_COORD_1
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_TEXTURE_COORD_2
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_TEXTURE_COORD_3
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_TEXTURE_COORD_4
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_VERTEX_3
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP1_VERTEX_4
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_COLOR_4
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_INDEX
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_NORMAL
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_TEXTURE_COORD_1
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_TEXTURE_COORD_2
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_TEXTURE_COORD_3
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_TEXTURE_COORD_4
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_VERTEX_3
-PASS gl.enable must set INVALID_ENUM when passed GL_MAP2_VERTEX_4
-PASS gl.enable must set INVALID_ENUM when passed GL_MINMAX
-PASS gl.enable must set INVALID_ENUM when passed GL_MULTISAMPLE
-PASS gl.enable must set INVALID_ENUM when passed GL_NORMALIZE
-PASS gl.enable must set INVALID_ENUM when passed GL_POINT_SMOOTH
-PASS gl.enable must set INVALID_ENUM when passed GL_POINT_SPRITE
-PASS gl.enable must set INVALID_ENUM when passed GL_POLYGON_OFFSET_LINE
-PASS gl.enable must set INVALID_ENUM when passed GL_POLYGON_OFFSET_POINT
-PASS gl.enable must set INVALID_ENUM when passed GL_POLYGON_SMOOTH
-PASS gl.enable must set INVALID_ENUM when passed GL_POLYGON_STIPPLE
-PASS gl.enable must set INVALID_ENUM when passed GL_POST_COLOR_MATRIX_COLOR_TABLE
-PASS gl.enable must set INVALID_ENUM when passed GL_POST_CONVOLUTION_COLOR_TABLE
-PASS gl.enable must set INVALID_ENUM when passed GL_RESCALE_NORMAL
-PASS gl.enable must set INVALID_ENUM when passed GL_SAMPLE_ALPHA_TO_ONE
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_1D
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_2D
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_3D
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_CUBE_MAP
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_GEN_Q
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_GEN_R
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_GEN_S
-PASS gl.enable must set INVALID_ENUM when passed GL_TEXTURE_GEN_T
-PASS gl.enable must set INVALID_ENUM when passed GL_VERTEX_PROGRAM_POINT_SIZE
-PASS gl.enable must set INVALID_ENUM when passed GL_VERTEX_PROGRAM_TWO_SIDE
-PASS gl.enable must succeed when passed gl.BLEND
-PASS gl.enable must succeed when passed gl.CULL_FACE
-PASS gl.enable must succeed when passed gl.DEPTH_TEST
-PASS gl.enable must succeed when passed gl.DITHER
-PASS gl.enable must succeed when passed gl.POLYGON_OFFSET_FILL
-PASS gl.enable must succeed when passed gl.SAMPLE_ALPHA_TO_COVERAGE
-PASS gl.enable must succeed when passed gl.SAMPLE_COVERAGE
-PASS gl.enable must succeed when passed gl.SCISSOR_TEST
-PASS gl.enable must succeed when passed gl.STENCIL_TEST
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test.html
deleted file mode 100644
index f5474b4..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enable-enum-test.html
+++ /dev/null
@@ -1,132 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL gl.ENABLE enums Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("This test ensures WebGL implementations allow OpenGL ES 2.0 features to be turned on but not non OpenGL ES 2.0 features.");
-
-debug("");
-debug("Canvas.getContext");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- debug("Checking gl.ENABLE enums.");
-
- var invalidEnums = [
- 'ALPHA_TEST',
- 'AUTO_NORMAL',
- 'CLIP_PLANE0',
- 'CLIP_PLANE1',
- 'COLOR_LOGIC_OP',
- 'COLOR_MATERIAL',
- 'COLOR_SUM',
- 'COLOR_TABLE',
- // 'CONVOLUTION_1D',
- // 'CONVOLUTION_2D',
- 'FOG',
- 'HISTOGRAM',
- 'INDEX_LOGIC_OP',
- 'LIGHT0',
- 'LIGHT1',
- 'LIGHTING',
- 'LINE_SMOOTH',
- 'LINE_STIPPLE',
- 'MAP1_COLOR_4',
- 'MAP1_INDEX',
- 'MAP1_NORMAL',
- 'MAP1_TEXTURE_COORD_1',
- 'MAP1_TEXTURE_COORD_2',
- 'MAP1_TEXTURE_COORD_3',
- 'MAP1_TEXTURE_COORD_4',
- 'MAP1_VERTEX_3',
- 'MAP1_VERTEX_4',
- 'MAP2_COLOR_4',
- 'MAP2_INDEX',
- 'MAP2_NORMAL',
- 'MAP2_TEXTURE_COORD_1',
- 'MAP2_TEXTURE_COORD_2',
- 'MAP2_TEXTURE_COORD_3',
- 'MAP2_TEXTURE_COORD_4',
- 'MAP2_VERTEX_3',
- 'MAP2_VERTEX_4',
- 'MINMAX',
- 'MULTISAMPLE',
- 'NORMALIZE',
- 'POINT_SMOOTH',
- 'POINT_SPRITE',
- 'POLYGON_OFFSET_LINE',
- 'POLYGON_OFFSET_POINT',
- 'POLYGON_SMOOTH',
- 'POLYGON_STIPPLE',
- 'POST_COLOR_MATRIX_COLOR_TABLE',
- 'POST_CONVOLUTION_COLOR_TABLE',
- 'RESCALE_NORMAL',
- 'SAMPLE_ALPHA_TO_ONE',
- // 'SEPARABLE_2D',
- 'TEXTURE_1D',
- 'TEXTURE_2D',
- 'TEXTURE_3D',
- 'TEXTURE_CUBE_MAP',
- 'TEXTURE_GEN_Q',
- 'TEXTURE_GEN_R',
- 'TEXTURE_GEN_S',
- 'TEXTURE_GEN_T',
- 'VERTEX_PROGRAM_POINT_SIZE',
- 'VERTEX_PROGRAM_TWO_SIDE'
- ];
-
- for (var ii = 0; ii < invalidEnums.length; ++ii) {
- var name = invalidEnums[ii];
- gl.enable(desktopGL[name]);
- assertMsg(gl.getError() == gl.INVALID_ENUM,
- "gl.enable must set INVALID_ENUM when passed GL_" + name );
- }
-
- var validEnums = [
- 'BLEND',
- 'CULL_FACE',
- 'DEPTH_TEST',
- 'DITHER',
- 'POLYGON_OFFSET_FILL',
- 'SAMPLE_ALPHA_TO_COVERAGE',
- 'SAMPLE_COVERAGE',
- 'SCISSOR_TEST',
- 'STENCIL_TEST'
- ];
-
- for (var ii = 0; ii < validEnums.length; ++ii) {
- var name = validEnums[ii];
- gl.enable(gl[name]);
- assertMsg(gl.getError() == gl.NO_ERROR,
- "gl.enable must succeed when passed gl." + name );
- }
-
-}
-
-debug("");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests-expected.txt
deleted file mode 100644
index 7bd6f17..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests-expected.txt
+++ /dev/null
@@ -1,35 +0,0 @@
-This test ensures various WebGL functions fail when passed non OpenGL ES 2.0 enums.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Checking gl enums.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_ENUM : gl.bindTexture(desktopGL['TEXTURE_3D'], tex) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.blendEquation(desktopGL['MIN']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.blendEquation(desktopGL['MAX']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.blendEquationSeparate(desktopGL['MIN'], gl.FUNC_ADD) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.blendEquationSeparate(desktopGL['MAX'], gl.FUNC_ADD) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.blendEquationSeparate(gl.FUNC_ADD, desktopGL['MIN']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.blendEquationSeparate(gl.FUNC_ADD, desktopGL['MAX']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.bufferData(gl.ARRAY_BUFFER, 3, desktopGL['STATIC_READ']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.disable(desktopGL['CLIP_PLANE0']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.disable(desktopGL['POINT_SPRITE']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.getBufferParameter(gl.ARRAY_BUFFER, desktopGL['PIXEL_PACK_BUFFER']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.hint(desktopGL['PERSPECTIVE_CORRECTION_HINT'], gl.FASTEST) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.isEnabled(desktopGL['CLIP_PLANE0']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.isEnabled(desktopGL['POINT_SPRITE']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.pixelStorei(desktopGL['PACK_SWAP_BYTES'], 1) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.readPixels(0, 0, 1, 1, gl.ALPHA, gl.SHORT, buf) should return INVALID_ENUM.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_ENUM : gl.getTexParameter(gl.TEXTURE_2D, desktopGL['GENERATE_MIPMAP']) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.texParameteri(desktopGL['TEXTURE_3D'], gl.TEXTURE_MAG_FILTER, gl.NEAREST) should return INVALID_ENUM.
-PASS getError was expected value: INVALID_ENUM : gl.texParameteri(gl.TEXTURE_2D, desktopGL['GENERATE_MIPMAP'], 1) should return INVALID_ENUM.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests.html
deleted file mode 100644
index 569f506..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-enum-tests.html
+++ /dev/null
@@ -1,87 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL gl enums Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("This test ensures various WebGL functions fail when passed non OpenGL ES 2.0 enums.");
-
-debug("");
-debug("Canvas.getContext");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- debug("Checking gl enums.");
-
- var buffer = new ArrayBuffer(2);
- var buf = new Uint16Array(buffer);
- var tex = gl.createTexture();
- gl.bindBuffer(gl.ARRAY_BUFFER, gl.createBuffer());
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- var tests = [
- "gl.bindTexture(desktopGL['TEXTURE_3D'], tex)",
- "gl.blendEquation(desktopGL['MIN'])",
- "gl.blendEquation(desktopGL['MAX'])",
- "gl.blendEquationSeparate(desktopGL['MIN'], gl.FUNC_ADD)",
- "gl.blendEquationSeparate(desktopGL['MAX'], gl.FUNC_ADD)",
- "gl.blendEquationSeparate(gl.FUNC_ADD, desktopGL['MIN'])",
- "gl.blendEquationSeparate(gl.FUNC_ADD, desktopGL['MAX'])",
- "gl.bufferData(gl.ARRAY_BUFFER, 3, desktopGL['STATIC_READ'])",
- "gl.disable(desktopGL['CLIP_PLANE0'])",
- "gl.disable(desktopGL['POINT_SPRITE'])",
- "gl.getBufferParameter(gl.ARRAY_BUFFER, desktopGL['PIXEL_PACK_BUFFER'])",
- "gl.hint(desktopGL['PERSPECTIVE_CORRECTION_HINT'], gl.FASTEST)",
- "gl.isEnabled(desktopGL['CLIP_PLANE0'])",
- "gl.isEnabled(desktopGL['POINT_SPRITE'])",
- "gl.pixelStorei(desktopGL['PACK_SWAP_BYTES'], 1)",
- "gl.readPixels(0, 0, 1, 1, gl.ALPHA, gl.SHORT, buf)",
- ];
- for (var ii = 0; ii < tests.length; ++ii) {
- eval(tests[ii]);
- glErrorShouldBe(gl, gl.INVALID_ENUM,
- tests[ii] + " should return INVALID_ENUM.");
- }
-
- gl.bindTexture(gl.TEXTURE_2D, tex);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- tests = [
- "gl.getTexParameter(gl.TEXTURE_2D, desktopGL['GENERATE_MIPMAP'])",
- "gl.texParameteri(desktopGL['TEXTURE_3D'], gl.TEXTURE_MAG_FILTER, gl.NEAREST)",
- "gl.texParameteri(gl.TEXTURE_2D, desktopGL['GENERATE_MIPMAP'], 1)"
- ];
- for (var ii = 0; ii < tests.length; ++ii) {
- eval(tests[ii]);
- glErrorShouldBe(gl, gl.INVALID_ENUM,
- tests[ii] + " should return INVALID_ENUM.");
- }
-}
-
-debug("");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls-expected.txt
deleted file mode 100644
index af0a2a3..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls-expected.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-This test ensures basic functionality of the underlying graphics library
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Context is correct type
-PASS context is correct type
-
-Context contains getError
-PASS context contains getError
-
-Check default values
-PASS context.getParameter(context.ACTIVE_TEXTURE) is context.TEXTURE0
-PASS (context.getParameter(context.ALIASED_LINE_WIDTH_RANGE)[0] == 1) || (context.getParameter(context.ALIASED_LINE_WIDTH_RANGE)[1] == 1) is true
-PASS (context.getParameter(context.ALIASED_POINT_SIZE_RANGE)[0] == 1) || (context.getParameter(context.ALIASED_POINT_SIZE_RANGE)[1] == 1) is true
-PASS context.getParameter(context.ARRAY_BUFFER_BINDING) is null
-PASS context.getParameter(context.BLEND) is false
-PASS context.getParameter(context.BLEND_COLOR) is [0, 0, 0, 0]
-PASS context.getParameter(context.BLEND_DST_ALPHA) is 0
-PASS context.getParameter(context.BLEND_DST_RGB) is 0
-PASS context.getParameter(context.BLEND_EQUATION_ALPHA) is context.FUNC_ADD
-PASS context.getParameter(context.BLEND_EQUATION_RGB) is context.FUNC_ADD
-PASS context.getParameter(context.BLEND_SRC_ALPHA) is 1
-PASS context.getParameter(context.BLEND_SRC_RGB) is 1
-PASS context.getParameter(context.COLOR_CLEAR_VALUE) is [0, 0, 0, 0]
-PASS context.getParameter(context.COLOR_WRITEMASK) is [true, true, true, true]
-PASS context.getParameter(context.CULL_FACE) is false
-PASS context.getParameter(context.CULL_FACE_MODE) is context.BACK
-PASS context.getParameter(context.CURRENT_PROGRAM) is null
-PASS context.getParameter(context.DEPTH_CLEAR_VALUE) is 1
-PASS context.getParameter(context.DEPTH_FUNC) is context.LESS
-PASS context.getParameter(context.DEPTH_RANGE) is [0, 1]
-PASS context.getParameter(context.DEPTH_TEST) is false
-PASS context.getParameter(context.DEPTH_WRITEMASK) is true
-PASS context.getParameter(context.DITHER) is true
-PASS context.getParameter(context.ELEMENT_ARRAY_BUFFER_BINDING) is null
-PASS context.getParameter(context.FRONT_FACE) is context.CCW
-PASS context.getParameter(context.GENERATE_MIPMAP_HINT) is context.DONT_CARE
-PASS context.getParameter(context.LINE_WIDTH) is 1
-PASS context.getParameter(context.POLYGON_OFFSET_FACTOR) is 0
-PASS context.getParameter(context.POLYGON_OFFSET_FILL) is false
-PASS context.getParameter(context.POLYGON_OFFSET_UNITS) is 0
-PASS context.getParameter(context.RENDERBUFFER_BINDING) is null
-PASS context.getParameter(context.SAMPLE_COVERAGE_INVERT) is false
-PASS context.getParameter(context.SAMPLE_COVERAGE_VALUE) is 1
-PASS context.getParameter(context.SCISSOR_BOX)[0] is 0
-PASS context.getParameter(context.SCISSOR_BOX)[1] is 0
-PASS context.getParameter(context.SCISSOR_TEST) is false
-PASS context.getParameter(context.STENCIL_BACK_FAIL) is context.KEEP
-PASS context.getParameter(context.STENCIL_BACK_FUNC) is context.ALWAYS
-PASS context.getParameter(context.STENCIL_BACK_PASS_DEPTH_FAIL) is context.KEEP
-PASS context.getParameter(context.STENCIL_BACK_PASS_DEPTH_PASS) is context.KEEP
-PASS context.getParameter(context.STENCIL_BACK_REF) is 0
-PASS context.getParameter(context.STENCIL_BACK_VALUE_MASK) is 0xFFFFFFFF
-PASS context.getParameter(context.STENCIL_BACK_WRITEMASK) is 0xFFFFFFFF
-PASS context.getParameter(context.STENCIL_BITS) >= 0 is true
-PASS context.getParameter(context.STENCIL_CLEAR_VALUE) is 0
-PASS context.getParameter(context.STENCIL_FAIL) is context.KEEP
-PASS context.getParameter(context.STENCIL_FUNC) is context.ALWAYS
-PASS context.getParameter(context.STENCIL_PASS_DEPTH_FAIL) is context.KEEP
-PASS context.getParameter(context.STENCIL_PASS_DEPTH_PASS) is context.KEEP
-PASS context.getParameter(context.STENCIL_REF) is 0
-PASS context.getParameter(context.STENCIL_TEST) is false
-PASS context.getParameter(context.STENCIL_VALUE_MASK) is 0xFFFFFFFF
-PASS context.getParameter(context.STENCIL_WRITEMASK) is 0xFFFFFFFF
-PASS context.getParameter(context.TEXTURE_BINDING_2D) is null
-PASS context.getParameter(context.TEXTURE_BINDING_CUBE_MAP) is null
-PASS context.getParameter(context.UNPACK_ALIGNMENT) is 4
-PASS context.getParameter(context.UNPACK_FLIP_Y_WEBGL) is false
-PASS context.getParameter(context.UNPACK_PREMULTIPLY_ALPHA_WEBGL) is false
-PASS context.getParameter(context.VIEWPORT) is [0, 0, 2, 2]
-PASS context.getParameter(context.MAX_FRAGMENT_UNIFORM_VECTORS) >= 16 is true
-PASS context.getParameter(context.MAX_VERTEX_UNIFORM_VECTORS) >= 128 is true
-PASS context.getParameter(context.MAX_VARYING_VECTORS) >= 8 is true
-PASS context.getParameter(context.COMPRESSED_TEXTURE_FORMATS) is []
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls.html
deleted file mode 100644
index 2de3887..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-get-calls.html
+++ /dev/null
@@ -1,121 +0,0 @@
-
-<html xmlns="http://www.w3.org/1999/xhtml">
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL gl calls Conformance Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-
-<script>
-
-description("This test ensures basic functionality of the underlying graphics library");
-
-debug("");
-debug("Canvas.getContext");
-
-var context = create3DContext(document.getElementById("canvas"));
-if (!context)
- testFailed("context does not exist");
-else {
- testPassed("context exists");
-
- debug("");
- debug("Context is correct type");
- if (context instanceof WebGLRenderingContext)
- testPassed("context is correct type");
- else
- testFailed("context is not correct type");
-
- debug("");
- debug("Context contains getError");
- if ("getError" in context)
- testPassed("context contains getError");
- else
- testFailed("context does not contains getError");
-
- debug("");
- debug("Check default values");
- shouldBe('context.getParameter(context.ACTIVE_TEXTURE)', 'context.TEXTURE0');
- shouldBe('(context.getParameter(context.ALIASED_LINE_WIDTH_RANGE)[0] == 1) || (context.getParameter(context.ALIASED_LINE_WIDTH_RANGE)[1] == 1)', 'true');
- shouldBe('(context.getParameter(context.ALIASED_POINT_SIZE_RANGE)[0] == 1) || (context.getParameter(context.ALIASED_POINT_SIZE_RANGE)[1] == 1)', 'true');
- shouldBe('context.getParameter(context.ARRAY_BUFFER_BINDING)', 'null');
- shouldBe('context.getParameter(context.BLEND)', 'false');
- shouldBe('context.getParameter(context.BLEND_COLOR)', '[0, 0, 0, 0]');
- shouldBe('context.getParameter(context.BLEND_DST_ALPHA)', '0');
- shouldBe('context.getParameter(context.BLEND_DST_RGB)', '0');
- shouldBe('context.getParameter(context.BLEND_EQUATION_ALPHA)', 'context.FUNC_ADD');
- shouldBe('context.getParameter(context.BLEND_EQUATION_RGB)', 'context.FUNC_ADD');
- shouldBe('context.getParameter(context.BLEND_SRC_ALPHA)', '1');
- shouldBe('context.getParameter(context.BLEND_SRC_RGB)', '1');
- shouldBe('context.getParameter(context.COLOR_CLEAR_VALUE)', '[0, 0, 0, 0]');
- shouldBe('context.getParameter(context.COLOR_WRITEMASK)', '[true, true, true, true]');
- shouldBe('context.getParameter(context.CULL_FACE)', 'false');
- shouldBe('context.getParameter(context.CULL_FACE_MODE)', 'context.BACK');
- shouldBe('context.getParameter(context.CURRENT_PROGRAM)', 'null');
- shouldBe('context.getParameter(context.DEPTH_CLEAR_VALUE)', '1');
- shouldBe('context.getParameter(context.DEPTH_FUNC)', 'context.LESS');
- shouldBe('context.getParameter(context.DEPTH_RANGE)', '[0, 1]');
- shouldBe('context.getParameter(context.DEPTH_TEST)', 'false');
- shouldBe('context.getParameter(context.DEPTH_WRITEMASK)', 'true');
- shouldBe('context.getParameter(context.DITHER)', 'true');
- shouldBe('context.getParameter(context.ELEMENT_ARRAY_BUFFER_BINDING)', 'null');
- shouldBe('context.getParameter(context.FRONT_FACE)', 'context.CCW');
- shouldBe('context.getParameter(context.GENERATE_MIPMAP_HINT)', 'context.DONT_CARE');
- shouldBe('context.getParameter(context.LINE_WIDTH)', '1');
- shouldBe('context.getParameter(context.POLYGON_OFFSET_FACTOR)', '0');
- shouldBe('context.getParameter(context.POLYGON_OFFSET_FILL)', 'false');
- shouldBe('context.getParameter(context.POLYGON_OFFSET_UNITS)', '0');
- shouldBe('context.getParameter(context.RENDERBUFFER_BINDING)', 'null');
- shouldBe('context.getParameter(context.SAMPLE_COVERAGE_INVERT)', 'false');
- shouldBe('context.getParameter(context.SAMPLE_COVERAGE_VALUE)', '1');
- shouldBe('context.getParameter(context.SCISSOR_BOX)[0]', '0');
- shouldBe('context.getParameter(context.SCISSOR_BOX)[1]', '0');
- shouldBe('context.getParameter(context.SCISSOR_TEST)', 'false');
- shouldBe('context.getParameter(context.STENCIL_BACK_FAIL)', 'context.KEEP');
- shouldBe('context.getParameter(context.STENCIL_BACK_FUNC)', 'context.ALWAYS');
- shouldBe('context.getParameter(context.STENCIL_BACK_PASS_DEPTH_FAIL)', 'context.KEEP');
- shouldBe('context.getParameter(context.STENCIL_BACK_PASS_DEPTH_PASS)', 'context.KEEP');
- shouldBe('context.getParameter(context.STENCIL_BACK_REF)', '0');
-
- shouldBe('context.getParameter(context.STENCIL_BACK_VALUE_MASK)', '0xFFFFFFFF');
- shouldBe('context.getParameter(context.STENCIL_BACK_WRITEMASK)', '0xFFFFFFFF');
-
- // If EXT_packed_depth_stencil is supported, STENCIL_BITS > 0; otherwise, STENCIL_BITS == 0.
- shouldBe('context.getParameter(context.STENCIL_BITS) >= 0', 'true');
- shouldBe('context.getParameter(context.STENCIL_CLEAR_VALUE)', '0');
- shouldBe('context.getParameter(context.STENCIL_FAIL)', 'context.KEEP');
- shouldBe('context.getParameter(context.STENCIL_FUNC)', 'context.ALWAYS');
- shouldBe('context.getParameter(context.STENCIL_PASS_DEPTH_FAIL)', 'context.KEEP');
- shouldBe('context.getParameter(context.STENCIL_PASS_DEPTH_PASS)', 'context.KEEP');
- shouldBe('context.getParameter(context.STENCIL_REF)', '0');
- shouldBe('context.getParameter(context.STENCIL_TEST)', 'false');
-
- shouldBe('context.getParameter(context.STENCIL_VALUE_MASK)', '0xFFFFFFFF');
- shouldBe('context.getParameter(context.STENCIL_WRITEMASK)', '0xFFFFFFFF');
-
- shouldBe('context.getParameter(context.TEXTURE_BINDING_2D)', 'null');
- shouldBe('context.getParameter(context.TEXTURE_BINDING_CUBE_MAP)', 'null');
- shouldBe('context.getParameter(context.UNPACK_ALIGNMENT)', '4');
- shouldBe('context.getParameter(context.UNPACK_FLIP_Y_WEBGL)', 'false');
- shouldBe('context.getParameter(context.UNPACK_PREMULTIPLY_ALPHA_WEBGL)', 'false');
- shouldBe('context.getParameter(context.VIEWPORT)', '[0, 0, 2, 2]');
- shouldBeTrue('context.getParameter(context.MAX_FRAGMENT_UNIFORM_VECTORS) >= 16');
- shouldBeTrue('context.getParameter(context.MAX_VERTEX_UNIFORM_VECTORS) >= 128');
- shouldBeTrue('context.getParameter(context.MAX_VARYING_VECTORS) >= 8');
- shouldBe('context.getParameter(context.COMPRESSED_TEXTURE_FORMATS)', '[]');
-}
-
-debug("");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource-expected.txt
deleted file mode 100644
index 36d720e..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-Tests that the source that goes into a shader is what comes out.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS source is original
-PASS getError was expected value: NO_ERROR : Should be no errors.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource.html
deleted file mode 100644
index d9c2246f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getshadersource.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta content='text/html; charset=UTF-8' http-equiv='Content-Type'/>
- <title>WebGL getShaderSource conformance test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="4" height="4" style="width: 40px; height: 30px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">abc//defNOTASCII</script>
-<script>
-description("Tests that the source that goes into a shader is what comes out.");
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-var original = document.getElementById("vshader").text;
-var shader = gl.createShader(gl.VERTEX_SHADER);
-gl.shaderSource(shader, original);
-var source = gl.getShaderSource(shader);
-shouldBe("source", "original");
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors.");
-</script>
-</body>
-</body>
-
-<script>
-</script>
-
-</body>
-</html>
-
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring-expected.txt
deleted file mode 100644
index 3b5b466..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring-expected.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-This test checks getParameter returns strings in the correct format
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-PASS getParameter(gl.VERSION) correctly started with WebGL 1.0
-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.
-PASS gl.getError() is gl.NO_ERROR
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring.html
deleted file mode 100644
index 1b9fc02..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-getstring.html
+++ /dev/null
@@ -1,54 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL gl.getParameter Strings Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("This test checks getParameter returns strings in the correct format");
-
-debug("");
-debug("Canvas.getContext");
-
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- checkPrefix("WebGL 1.0", "VERSION");
- checkPrefix("WebGL GLSL ES 1.0", "SHADING_LANGUAGE_VERSION");
- shouldBeNonNull("gl.getParameter(gl.VENDOR)");
- shouldBeNonNull("gl.getParameter(gl.RENDERER)");
- shouldBe("gl.getError()", "gl.NO_ERROR");
-}
-
-function checkPrefix(expected, enum_val) {
- var s = gl.getParameter(gl[enum_val]);
- if (s != null &&
- s.length >= expected.length &&
- s.substring(0, expected.length) == expected) {
- testPassed("getParameter(gl." + enum_val + ") correctly started with " + expected);
- } else {
- testFailed("getParameter(gl." + enum_val + ") did not start with " + expected);
- }
-}
-
-debug("");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt
deleted file mode 100644
index d09e9e2..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls-expected.txt
+++ /dev/null
@@ -1,93 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Test of get calls against GL objects like getBufferParameter, etc.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS shaders.length is 2
-PASS shaders[0] == standardVert && shaders[1] == standardFrag || shaders[1] == standardVert && shaders[0] == standardFrag is true
-PASS getError was expected value: NO_ERROR :
-PASS gl.getAttachedShaders(null) is null
-PASS getError was expected value: INVALID_VALUE :
-PASS gl.getAttachedShaders(standardVert) threw exception TypeError: Failed to execute 'getAttachedShaders' on 'WebGLRenderingContext': parameter 1 is not of type 'WebGLProgram'..
-PASS getError was expected value: NO_ERROR :
-PASS gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE) is 16
-PASS gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE) is gl.DYNAMIC_DRAW
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.TEXTURE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is texture
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL) is 0
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE) is 0
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.RENDERBUFFER
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is renderbuffer
-PASS gl.getProgramParameter(standardProgram, gl.DELETE_STATUS) is false
-PASS gl.getProgramParameter(standardProgram, gl.LINK_STATUS) is true
-PASS typeof gl.getProgramParameter(standardProgram, gl.VALIDATE_STATUS) is "boolean"
-PASS gl.getProgramParameter(standardProgram, gl.ATTACHED_SHADERS) is 2
-PASS gl.getProgramParameter(standardProgram, gl.ACTIVE_ATTRIBUTES) is 2
-PASS gl.getProgramParameter(standardProgram, gl.ACTIVE_UNIFORMS) is 1
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH) is 2
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT) is 2
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT) is non-zero.
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_DEPTH_SIZE) is non-zero.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE) is non-zero.
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE) is non-zero.
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE) is non-zero.
-PASS gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE) is non-zero.
-PASS gl.getShaderParameter(standardVert, gl.SHADER_TYPE) is gl.VERTEX_SHADER
-PASS gl.getShaderParameter(standardVert, gl.DELETE_STATUS) is false
-PASS gl.getShaderParameter(standardVert, gl.COMPILE_STATUS) is true
-PASS gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER) is gl.NEAREST
-PASS gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER) is gl.NEAREST
-PASS gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S) is gl.CLAMP_TO_EDGE
-PASS gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T) is gl.CLAMP_TO_EDGE
-PASS gl.getProgramParameter(boolProgram, gl.LINK_STATUS) is true
-PASS getError was expected value: NO_ERROR :
-PASS gl.getUniform(boolProgram, bvalLoc) is true
-PASS gl.getUniform(boolProgram, bval2Loc) is [true, false]
-PASS gl.getUniform(boolProgram, bval3Loc) is [true, false, true]
-PASS gl.getUniform(boolProgram, bval4Loc) is [true, false, true, false]
-PASS gl.getProgramParameter(intProgram, gl.LINK_STATUS) is true
-PASS getError was expected value: NO_ERROR :
-PASS gl.getUniform(intProgram, ivalLoc) is 1
-PASS gl.getUniform(intProgram, ival2Loc) is [2, 3]
-PASS gl.getUniform(intProgram, ival3Loc) is [4, 5, 6]
-PASS gl.getUniform(intProgram, ival4Loc) is [7, 8, 9, 10]
-PASS gl.getProgramParameter(floatProgram, gl.LINK_STATUS) is true
-PASS getError was expected value: NO_ERROR :
-PASS gl.getUniform(floatProgram, fvalLoc) is 11
-PASS gl.getUniform(floatProgram, fval2Loc) is [12, 13]
-PASS gl.getUniform(floatProgram, fval3Loc) is [14, 15, 16]
-PASS gl.getUniform(floatProgram, fval4Loc) is [17, 18, 19, 20]
-PASS gl.getProgramParameter(samplerProgram, gl.LINK_STATUS) is true
-PASS getError was expected value: NO_ERROR :
-PASS gl.getUniform(samplerProgram, s2DValLoc) is 0
-PASS gl.getUniform(samplerProgram, sCubeValLoc) is 1
-PASS gl.getProgramParameter(matProgram, gl.LINK_STATUS) is true
-PASS getError was expected value: NO_ERROR :
-PASS gl.getUniform(matProgram, mval2Loc) is [1, 2, 3, 4]
-PASS gl.getUniform(matProgram, mval3Loc) is [5, 6, 7, 8, 9, 10, 11, 12, 13]
-PASS gl.getUniform(matProgram, mval4Loc) is [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is buffer
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_ENABLED) is true
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_SIZE) is 4
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_STRIDE) is 0
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_TYPE) is gl.FLOAT
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_NORMALIZED) is false
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_STRIDE) is 36
-PASS gl.getVertexAttribOffset(1, gl.VERTEX_ATTRIB_ARRAY_POINTER) is 12
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_ENABLED) is false
-PASS gl.getVertexAttrib(1, gl.CURRENT_VERTEX_ATTRIB) is [5, 6, 7, 8]
-PASS getError was expected value: NO_ERROR :
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.NONE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.NONE
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is null
-PASS getError was expected value: NO_ERROR :
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls.html
deleted file mode 100644
index 81bb137..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-object-get-calls.html
+++ /dev/null
@@ -1,251 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test of get calls against GL objects like getBufferParameter, etc.");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-function sizeInBytes(type) {
- switch (type) {
- case gl.BYTE:
- case gl.UNSIGNED_BYTE:
- return 1;
- case gl.SHORT:
- case gl.UNSIGNED_SHORT:
- return 2;
- case gl.INT:
- case gl.UNSIGNED_INT:
- case gl.FLOAT:
- return 4;
- default:
- throw "unknown type";
- }
-}
-
-var gl = create3DContext();
-
-var standardVert = loadStandardVertexShader(gl);
-var standardFrag = loadStandardFragmentShader(gl);
-var standardProgram = gl.createProgram();
-gl.attachShader(standardProgram, standardVert);
-gl.attachShader(standardProgram, standardFrag);
-gl.linkProgram(standardProgram);
-var shaders = gl.getAttachedShaders(standardProgram);
-shouldBe('shaders.length', '2');
-shouldBeTrue('shaders[0] == standardVert && shaders[1] == standardFrag || shaders[1] == standardVert && shaders[0] == standardFrag');
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBeNull('gl.getAttachedShaders(null)');
-glErrorShouldBe(gl, gl.INVALID_VALUE);
-shouldThrow('gl.getAttachedShaders(standardVert)');
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-// Test getBufferParameter
-var buffer = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
-gl.bufferData(gl.ARRAY_BUFFER, 16, gl.DYNAMIC_DRAW);
-shouldBe('gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_SIZE)', '16');
-shouldBe('gl.getBufferParameter(gl.ARRAY_BUFFER, gl.BUFFER_USAGE)', 'gl.DYNAMIC_DRAW');
-
-// Test getFramebufferAttachmentParameter
-var texture = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, texture);
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 2, 2, 0, gl.RGBA, gl.UNSIGNED_BYTE,
- new Uint8Array([
- 0, 0, 0, 255,
- 255, 255, 255, 255,
- 255, 255, 255, 255,
- 0, 0, 0, 255]));
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-gl.bindTexture(gl.TEXTURE_2D, null);
-var framebuffer = gl.createFramebuffer();
-gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
-gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
-var renderbuffer = gl.createRenderbuffer();
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.renderbufferStorage(gl.RENDERBUFFER, gl.DEPTH_COMPONENT16, 2, 2);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, renderbuffer);
-// FIXME: on some machines (in particular the WebKit commit bots) the
-// framebuffer status is FRAMEBUFFER_UNSUPPORTED; more investigation
-// is needed why this is the case, because the FBO allocated
-// internally by the WebKit implementation has almost identical
-// parameters to this one. See https://bugs.webkit.org/show_bug.cgi?id=31843.
-shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)', 'gl.TEXTURE');
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)', 'texture');
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_LEVEL)', '0');
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_TEXTURE_CUBE_MAP_FACE)', '0');
-
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)', 'gl.RENDERBUFFER');
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)', 'renderbuffer');
-
-// Test getProgramParameter
-shouldBe('gl.getProgramParameter(standardProgram, gl.DELETE_STATUS)', 'false');
-shouldBe('gl.getProgramParameter(standardProgram, gl.LINK_STATUS)', 'true');
-shouldBe('typeof gl.getProgramParameter(standardProgram, gl.VALIDATE_STATUS)', '"boolean"');
-shouldBe('gl.getProgramParameter(standardProgram, gl.ATTACHED_SHADERS)', '2');
-shouldBe('gl.getProgramParameter(standardProgram, gl.ACTIVE_ATTRIBUTES)', '2');
-shouldBe('gl.getProgramParameter(standardProgram, gl.ACTIVE_UNIFORMS)', '1');
-
-// Test getRenderbufferParameter
-shouldBe('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_WIDTH)', '2');
-shouldBe('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_HEIGHT)', '2');
-// Note: we can't test the actual value of the internal format since
-// the implementation is allowed to change it.
-shouldBeNonZero('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_INTERNAL_FORMAT)');
-shouldBeNonZero('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_DEPTH_SIZE)');
-var colorbuffer = gl.createRenderbuffer();
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 2, 2);
-shouldBeNonZero('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_RED_SIZE)');
-shouldBeNonZero('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_GREEN_SIZE)');
-shouldBeNonZero('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_BLUE_SIZE)');
-shouldBeNonZero('gl.getRenderbufferParameter(gl.RENDERBUFFER, gl.RENDERBUFFER_ALPHA_SIZE)');
-
-// Test getShaderParameter
-shouldBe('gl.getShaderParameter(standardVert, gl.SHADER_TYPE)', 'gl.VERTEX_SHADER');
-shouldBe('gl.getShaderParameter(standardVert, gl.DELETE_STATUS)', 'false');
-shouldBe('gl.getShaderParameter(standardVert, gl.COMPILE_STATUS)', 'true');
-
-// Test getTexParameter
-gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer);
-gl.bindTexture(gl.TEXTURE_2D, texture);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-shouldBe('gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER)', 'gl.NEAREST');
-shouldBe('gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER)', 'gl.NEAREST');
-shouldBe('gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S)', 'gl.CLAMP_TO_EDGE');
-shouldBe('gl.getTexParameter(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T)', 'gl.CLAMP_TO_EDGE');
-
-// Test getUniform with all variants of data types
-// Boolean uniform variables
-var boolProgram = loadProgram(gl, "resources/boolUniformShader.vert", "resources/noopUniformShader.frag");
-shouldBe('gl.getProgramParameter(boolProgram, gl.LINK_STATUS)', 'true');
-var bvalLoc = gl.getUniformLocation(boolProgram, "bval");
-var bval2Loc = gl.getUniformLocation(boolProgram, "bval2");
-var bval3Loc = gl.getUniformLocation(boolProgram, "bval3");
-var bval4Loc = gl.getUniformLocation(boolProgram, "bval4");
-gl.useProgram(boolProgram);
-gl.uniform1i(bvalLoc, 1);
-gl.uniform2i(bval2Loc, 1, 0);
-gl.uniform3i(bval3Loc, 1, 0, 1);
-gl.uniform4i(bval4Loc, 1, 0, 1, 0);
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBe('gl.getUniform(boolProgram, bvalLoc)', 'true');
-shouldBe('gl.getUniform(boolProgram, bval2Loc)', '[true, false]');
-shouldBe('gl.getUniform(boolProgram, bval3Loc)', '[true, false, true]');
-shouldBe('gl.getUniform(boolProgram, bval4Loc)', '[true, false, true, false]');
-// Integer uniform variables
-var intProgram = loadProgram(gl, "resources/intUniformShader.vert", "resources/noopUniformShader.frag");
-shouldBe('gl.getProgramParameter(intProgram, gl.LINK_STATUS)', 'true');
-var ivalLoc = gl.getUniformLocation(intProgram, "ival");
-var ival2Loc = gl.getUniformLocation(intProgram, "ival2");
-var ival3Loc = gl.getUniformLocation(intProgram, "ival3");
-var ival4Loc = gl.getUniformLocation(intProgram, "ival4");
-gl.useProgram(intProgram);
-gl.uniform1i(ivalLoc, 1);
-gl.uniform2i(ival2Loc, 2, 3);
-gl.uniform3i(ival3Loc, 4, 5, 6);
-gl.uniform4i(ival4Loc, 7, 8, 9, 10);
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBe('gl.getUniform(intProgram, ivalLoc)', '1');
-shouldBe('gl.getUniform(intProgram, ival2Loc)', '[2, 3]');
-shouldBe('gl.getUniform(intProgram, ival3Loc)', '[4, 5, 6]');
-shouldBe('gl.getUniform(intProgram, ival4Loc)', '[7, 8, 9, 10]');
-// Float uniform variables
-var floatProgram = loadProgram(gl, "resources/floatUniformShader.vert", "resources/noopUniformShader.frag");
-shouldBe('gl.getProgramParameter(floatProgram, gl.LINK_STATUS)', 'true');
-var fvalLoc = gl.getUniformLocation(floatProgram, "fval");
-var fval2Loc = gl.getUniformLocation(floatProgram, "fval2");
-var fval3Loc = gl.getUniformLocation(floatProgram, "fval3");
-var fval4Loc = gl.getUniformLocation(floatProgram, "fval4");
-gl.useProgram(floatProgram);
-gl.uniform1f(fvalLoc, 11);
-gl.uniform2f(fval2Loc, 12, 13);
-gl.uniform3f(fval3Loc, 14, 15, 16);
-gl.uniform4f(fval4Loc, 17, 18, 19, 20);
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBe('gl.getUniform(floatProgram, fvalLoc)', '11');
-shouldBe('gl.getUniform(floatProgram, fval2Loc)', '[12, 13]');
-shouldBe('gl.getUniform(floatProgram, fval3Loc)', '[14, 15, 16]');
-shouldBe('gl.getUniform(floatProgram, fval4Loc)', '[17, 18, 19, 20]');
-// Sampler uniform variables
-var samplerProgram = loadProgram(gl, "resources/noopUniformShader.vert", "resources/samplerUniformShader.frag");
-shouldBe('gl.getProgramParameter(samplerProgram, gl.LINK_STATUS)', 'true');
-var s2DValLoc = gl.getUniformLocation(samplerProgram, "s2D");
-var sCubeValLoc = gl.getUniformLocation(samplerProgram, "sCube");
-gl.useProgram(samplerProgram);
-gl.uniform1i(s2DValLoc, 0);
-gl.uniform1i(sCubeValLoc, 1);
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBe('gl.getUniform(samplerProgram, s2DValLoc)', '0');
-shouldBe('gl.getUniform(samplerProgram, sCubeValLoc)', '1');
-// Matrix uniform variables
-var matProgram = loadProgram(gl, "resources/matUniformShader.vert", "resources/noopUniformShader.frag");
-shouldBe('gl.getProgramParameter(matProgram, gl.LINK_STATUS)', 'true');
-var mval2Loc = gl.getUniformLocation(matProgram, "mval2");
-var mval3Loc = gl.getUniformLocation(matProgram, "mval3");
-var mval4Loc = gl.getUniformLocation(matProgram, "mval4");
-gl.useProgram(matProgram);
-gl.uniformMatrix2fv(mval2Loc, false, [1, 2, 3, 4]);
-gl.uniformMatrix3fv(mval3Loc, false, [5, 6, 7, 8, 9, 10, 11, 12, 13]);
-gl.uniformMatrix4fv(mval4Loc, false, [14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]);
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBe('gl.getUniform(matProgram, mval2Loc)', '[1, 2, 3, 4]');
-shouldBe('gl.getUniform(matProgram, mval3Loc)', '[5, 6, 7, 8, 9, 10, 11, 12, 13]');
-shouldBe('gl.getUniform(matProgram, mval4Loc)', '[14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29]');
-
-// Test getVertexAttrib
-var array = new Float32Array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16]);
-gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
-gl.bufferData(gl.ARRAY_BUFFER, array, gl.DYNAMIC_DRAW);
-// Vertex attribute 0 is special in that it has no current state, so
-// fetching GL_CURRENT_VERTEX_ATTRIB generates an error. Use attribute
-// 1 for these tests instead.
-gl.enableVertexAttribArray(1);
-gl.vertexAttribPointer(1, 4, gl.FLOAT, false, 0, 0);
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)', 'buffer');
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_ENABLED)', 'true');
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_SIZE)', '4');
-// Stride MUST be the value the user put in.
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_STRIDE)', '0');
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_TYPE)', 'gl.FLOAT');
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_NORMALIZED)', 'false');
-gl.vertexAttribPointer(1, 4, gl.FLOAT, false, 36, 12);
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_STRIDE)', '36');
-shouldBe('gl.getVertexAttribOffset(1, gl.VERTEX_ATTRIB_ARRAY_POINTER)', '12');
-gl.disableVertexAttribArray(1);
-shouldBe('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_ENABLED)', 'false');
-gl.vertexAttrib4f(1, 5, 6, 7, 8);
-shouldBe('gl.getVertexAttrib(1, gl.CURRENT_VERTEX_ATTRIB)', '[5, 6, 7, 8]');
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-// Test cases where name == 0
-gl.deleteTexture(texture);
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)', 'gl.NONE');
-gl.deleteRenderbuffer(renderbuffer);
-shouldBe('gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)', 'gl.NONE');
-gl.deleteBuffer(buffer);
-shouldBeNull('gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)');
-glErrorShouldBe(gl, gl.NO_ERROR);
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei-expected.txt
deleted file mode 100644
index 088ce3a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei-expected.txt
+++ /dev/null
@@ -1,21 +0,0 @@
-
-There should be 5 red triangles on 5 black squares above
-
-This test checks that drawImage and readPixels are not effected by gl.Pixelstorei(gl.PACK_ALIGNMENT) and visa versa
-
-PASS drawing is correct in 3d context
-PASS drawing is correct in 2d context
-PASS PACK_ALIGNMENT is 1
-PASS drawing is correct in 3d context
-PASS drawing is correct in 2d context
-PASS PACK_ALIGNMENT is 2
-PASS drawing is correct in 3d context
-PASS drawing is correct in 2d context
-PASS PACK_ALIGNMENT is 4
-PASS drawing is correct in 3d context
-PASS drawing is correct in 2d context
-PASS PACK_ALIGNMENT is 8
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei.html
deleted file mode 100644
index 72c8f97..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-pixelstorei.html
+++ /dev/null
@@ -1,121 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<title>WebGL pixelStorei Test</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-</head>
-<body>
-<canvas id="example" width="50" height="50"></canvas>
-<canvas id="2d00" width="50" height="50"></canvas>
-<canvas id="2d01" width="50" height="50"></canvas>
-<canvas id="2d02" width="50" height="50"></canvas>
-<canvas id="2d03" width="50" height="50"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec4 vPosition;
-void main() {
- gl_Position = vPosition;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-void main() {
- gl_FragColor = vec4(1.0,0.0,0.0,1.0);
-}
-</script>
-
-<script>
-function fail(x,y, name, buf, shouldBe) {
- var i = (y*50+x) * 4;
- var reason = "pixel in "+name+" at ("+x+","+y+") is ("+buf[i]+","+buf[i+1]+","+buf[i+2]+","+buf[i+3]+"), should be "+shouldBe;
- testFailed(reason);
-}
-
-function pass(name) {
- testPassed("drawing is correct in " + name);
-}
-
-function init() {
- debug("There should be 5 red triangles on 5 black squares above");
- debug("");
-
- debug("This test checks that drawImage and readPixels are not effected by gl.Pixelstorei(gl.PACK_ALIGNMENT) and visa versa");
- debug("");
-
- var canvas3d = document.getElementById("example");
- gl = initWebGL("example", "vshader", "fshader", [ "vPosition"], [ 0, 0, 0, 1 ], 1);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ 0,0.5,0, -0.5,-0.5,0, 0.5,-0.5,0 ]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 3);
-
-
- function checkData(buf, name) {
- // Test several locations
- // First line should be all black
- for (var i = 0; i < 50; ++i) {
- if (buf[i*4] != 0 || buf[i*4+1] != 0 || buf[i*4+2] != 0 || buf[i*4+3] != 255) {
- fail(i, 0, name, buf, "(0,0,0,255)");
- return;
- }
- }
-
- // Line 25 should be red for at least 6 red pixels starting 22 pixels in
- var offset = (25*50+22) * 4;
- for (var i = 0; i < 6; ++i) {
- if (buf[offset+i*4] != 255 || buf[offset+i*4+1] != 0 || buf[offset+i*4+2] != 0 || buf[offset+i*4+3] != 255) {
- fail(22 + i, 25, name, buf, "(255,0,0,255)");
- return;
- }
- }
-
- // Last line should be all black
- offset = (49*50) * 4;
- for (var i = 0; i < 50; ++i) {
- if (buf[offset+i*4] != 0 || buf[offset+i*4+1] != 0 || buf[offset+i*4+2] != 0 || buf[offset+i*4+3] != 255) {
- fail(i, 49, name, buf, "(0,0,0,255)");
- return;
- }
- }
-
- pass(name);
- }
-
- function checkColors() {
- var buf = new Uint8Array(50 * 50 * 4);
- gl.readPixels(0, 0, 50, 50, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- checkData(buf, "3d context");
- var imgData = ctx2d.getImageData(0, 0, 50, 50);
- checkData(imgData.data, "2d context");
- }
-
- var table = [1, 2, 4, 8];
- for (var ii = 0; ii < table.length; ++ii) {
- gl.pixelStorei(gl.PACK_ALIGNMENT, table[ii]);
- ctx2d = document.getElementById("2d0" + ii).getContext("2d");
- ctx2d.globalCompositeOperation = 'copy';
- ctx2d.drawImage(canvas3d, 0, 0);
- checkColors();
- assertMsg(gl.getParameter(gl.PACK_ALIGNMENT) == table[ii],
- "PACK_ALIGNMENT is " + table[ii]);
- }
-}
-
-init();
-</script>
-</body>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage-expected.txt
deleted file mode 100644
index 51bb99f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage-expected.txt
+++ /dev/null
@@ -1,130 +0,0 @@
-Test texImage2D conversions.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
-check pixels are NOT pre-multiplied
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 0, 15 should be 0, 0, 0, 255 was 0, 0, 0, 255
-PASS pixel 128, 15 should be 255, 0, 255, 255 was 255, 0, 255, 255
-PASS pixel 255, 15 should be 0, 0, 255, 255 was 0, 0, 255, 255
-PASS pixel 0, 8 should be 128, 128, 128, 255 was 128, 128, 128, 255
-PASS pixel 128, 8 should be 255, 255, 255, 255 was 255, 255, 255, 255
-PASS pixel 255, 8 should be 0, 255, 255, 255 was 0, 255, 255, 255
-PASS pixel 0, 0 should be 255, 0, 0, 255 was 255, 0, 0, 255
-PASS pixel 128, 0 should be 255, 255, 0, 255 was 255, 255, 0, 255
-PASS pixel 255, 0 should be 0, 255, 0, 255 was 0, 255, 0, 255
-
-check quantization
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS There should be 256 unique values in channel 0. Found 256
-PASS There should be 256 unique values in channel 1. Found 256
-PASS There should be 256 unique values in channel 2. Found 256
-PASS There should be 256 unique values in channel 3. Found 256
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS There should be 16 unique values in channel 0. Found 16
-PASS There should be 16 unique values in channel 1. Found 16
-PASS There should be 16 unique values in channel 2. Found 16
-PASS There should be 16 unique values in channel 3. Found 16
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS There should be 32 unique values in channel 0. Found 32
-PASS There should be 64 unique values in channel 1. Found 64
-PASS There should be 32 unique values in channel 2. Found 32
-PASS There should be 1 unique values in channel 3. Found 1
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS There should be 32 unique values in channel 0. Found 32
-PASS There should be 32 unique values in channel 1. Found 32
-PASS There should be 32 unique values in channel 2. Found 32
-PASS There should be 2 unique values in channel 3. Found 2
-
-Check that gamma settings don't effect 8bit pngs
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS pixels should be same regardless of gamma settings.
-PASS pixels should be same regardless of gamma settings.
-PASS pixels should be same regardless of gamma settings.
-PASS pixels should be same regardless of gamma settings.
-PASS pixels should be same regardless of gamma settings.
-
-check pixels are UN pre-multiplied
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS Half the pixels in channel 0 should be >= 128,128,128.
-PASS Half the pixels in channel 0 should be < 128,128,128.
-PASS Half the pixels in channel 1 should be >= 128,128,128.
-PASS Half the pixels in channel 1 should be < 128,128,128.
-PASS Half the pixels in channel 2 should be >= 128,128,128.
-PASS Half the pixels in channel 2 should be < 128,128,128.
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS Half the pixels in channel 0 should be >= 128,128,128.
-PASS Half the pixels in channel 0 should be < 128,128,128.
-PASS Half the pixels in channel 1 should be >= 128,128,128.
-PASS Half the pixels in channel 1 should be < 128,128,128.
-PASS Half the pixels in channel 2 should be >= 128,128,128.
-PASS Half the pixels in channel 2 should be < 128,128,128.
-
-check canvas pixels are UN pre-multiplied
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS pixel 0, 0 should be within 4 units of 255, 255, 255, 127
-
-check canvas pixels are pre-multiplied
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS pixel 0, 0 should be within 4 units of 127, 127, 127, 127
-
-check pixels are pre-multiplied
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixels should all be 0.
-
-check pixels are flipped
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 0, 15 should be 255, 0, 0, 255 was 255, 0, 0, 255
-PASS pixel 128, 15 should be 255, 255, 0, 255 was 255, 255, 0, 255
-PASS pixel 255, 15 should be 255, 0, 0, 255 was 255, 0, 0, 255
-PASS pixel 0, 8 should be 255, 0, 255, 255 was 255, 0, 255, 255
-PASS pixel 128, 8 should be 255, 0, 0, 255 was 255, 0, 0, 255
-PASS pixel 255, 8 should be 0, 255, 0, 255 was 0, 255, 0, 255
-PASS pixel 0, 0 should be 0, 0, 0, 255 was 0, 0, 0, 255
-PASS pixel 128, 0 should be 0, 0, 255, 255 was 0, 0, 255, 255
-PASS pixel 255, 0 should be 255, 0, 0, 255 was 255, 0, 0, 255
-
-check uploading of images with no alpha channel works
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 128, 8 should be within 10 units of 0, 0, 255, 255
-PASS getError was expected value: NO_ERROR : Should be no errors
-
-check uploading of 16-bit images
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 128, 8 should be within 10 units of 15, 121, 0, 255
-PASS getError was expected value: NO_ERROR : Should be no errors
-
-check uploading of images with ICC profiles
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 128, 8 should be within 10 units of 0, 0, 255, 255
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 128, 8 should be within 10 units of 0, 0, 255, 255
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS getError was expected value: NO_ERROR : Should be no errors
-PASS uploading PNGs with same data but various ICC profiles should generate the same results
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS getError was expected value: NO_ERROR : Should be no errors
-PASS uploading PNGs with same data but various ICC profiles should generate the same results
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS getError was expected value: NO_ERROR : Should be no errors
-PASS uploading PNGs with same data but various ICC profiles should generate the same results
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS getError was expected value: NO_ERROR : Should be no errors
-PASS uploading PNGs with same data but various ICC profiles should generate the same results
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS getError was expected value: NO_ERROR : Should be no errors
-PASS uploading PNGs with same data but various ICC profiles should generate the same results
-
-check uploading of indexed PNG images
-PASS getError was expected value: NO_ERROR : Should be no errors from setup
-PASS pixel 128, 8 should be within 10 units of 255, 0, 0, 255
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage.html
deleted file mode 100644
index a9cd83f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-teximage.html
+++ /dev/null
@@ -1,406 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<title>WebGL texImage2D conformance test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="256" height="16" style="width: 256px; height: 48px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("Test texImage2D conversions.");
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-var program = wtu.setupTexturedQuad(gl);
-
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-var imgURLs = [
- 'resources/gray-ramp-256-with-128-alpha.png',
- 'resources/gray-ramp-256.png',
- 'resources/gray-ramp-default-gamma.png',
- 'resources/gray-ramp-gamma0.1.png',
- 'resources/gray-ramp-gamma1.0.png',
- 'resources/gray-ramp-gamma2.0.png',
- 'resources/gray-ramp-gamma4.0.png',
- 'resources/gray-ramp-gamma9.0.png',
- 'resources/gray-ramp.png',
- 'resources/zero-alpha.png',
- 'resources/3x3.png',
- 'resources/blue-1x1.jpg',
- 'resources/red-indexed.png',
- 'resources/green-2x2-16bit.png',
- 'resources/small-square-with-colorspin-profile.jpg',
- 'resources/small-square-with-colorspin-profile.png',
- 'resources/small-square-with-cie-rgb-profile.png',
- 'resources/small-square-with-colormatch-profile.png',
- 'resources/small-square-with-e-srgb-profile.png',
- 'resources/small-square-with-smpte-c-profile.png',
- 'resources/small-square-with-srgb-iec61966-2.1-profile.png'];
-
-
-wtu.loadImagesAsync(imgURLs, runTests);
-
-function runTests(imgs) {
- var loc = gl.getUniformLocation(program, "tex");
- gl.uniform1i(loc, 0);
-
- gl.disable(gl.BLEND);
- gl.disable(gl.DEPTH_TEST);
-
- var width = canvas.width;
- var height = canvas.height;
-
- function checkPixel(buf, x, y, color) {
- var off = (y * width + x) * 4;
- var msg = "pixel " + x + ", " + y + " should be " +
- color[0] + ", " +
- color[1] + ", " +
- color[2] + ", " +
- color[3] + " was " +
- buf[off + 0] + ", " +
- buf[off + 1] + ", " +
- buf[off + 2] + ", " +
- buf[off + 3];
-
- for (var ii = 0; ii < 4; ++ii) {
- if (buf[off + ii] != color[ii]) {
- testFailed(msg);
- return;
- }
- }
- testPassed(msg);
- }
-
- function checkPixelRange(buf, x, y, color, allowedRange) {
- var off = (y * width + x) * 4;
- var msg = "pixel " + x + ", " + y + " should be within " +
- allowedRange + " units of " +
- color[0] + ", " +
- color[1] + ", " +
- color[2] + ", " +
- color[3];
- var subMsg = " was " +
- buf[off + 0] + ", " +
- buf[off + 1] + ", " +
- buf[off + 2] + ", " +
- buf[off + 3];
- // When running in WebKit's test harness, we don't want to print the
- // pixel value when the test passes, because different machines might
- // have different results and we record the text output.
- var inDumpRenderTree = window.testRunner;
- for (var ii = 0; ii < 4; ++ii) {
- if (Math.abs(buf[off + ii] - color[ii]) > allowedRange) {
- testFailed(msg + subMsg);
- return;
- }
- }
- testPassed(msg + (inDumpRenderTree ? "" : subMsg));
- }
-
- var tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-
- var buf = new Uint8Array(width * height * 4);
-
- debug("");
- debug("check pixels are NOT pre-multiplied");
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/zero-alpha.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-
- var left = 0;
- var middle = Math.floor(width / 2);
- var right = width - 1;
- var bottom = 0;
- var center = Math.floor(height / 2);
- var top = height - 1;
- checkPixel(buf, left, top, [ 0, 0, 0, 255]);
- checkPixel(buf, middle, top, [255, 0, 255, 255]);
- checkPixel(buf, right, top, [ 0, 0, 255, 255]);
- checkPixel(buf, left, center, [128, 128, 128, 255]);
- checkPixel(buf, middle, center, [255, 255, 255, 255]);
- checkPixel(buf, right, center, [ 0, 255, 255, 255]);
- checkPixel(buf, left, bottom, [255, 0, 0, 255]);
- checkPixel(buf, middle, bottom, [255, 255, 0, 255]);
- checkPixel(buf, right, bottom, [ 0, 255, 0, 255]);
-
- debug("");
- debug("check quantization");
- var quantInfo = [
- {format: gl.RGBA, type: gl.UNSIGNED_BYTE, counts: [256, 256, 256, 256]},
- {format: gl.RGBA, type: gl.UNSIGNED_SHORT_4_4_4_4, counts: [ 16, 16, 16, 16]},
- {format: gl.RGB, type: gl.UNSIGNED_SHORT_5_6_5, counts: [ 32, 64, 32, 1]},
- {format: gl.RGBA, type: gl.UNSIGNED_SHORT_5_5_5_1, counts: [ 32, 32, 32, 2]}];
- for (var qq = 0; qq < quantInfo.length; ++qq) {
- var info = quantInfo[qq];
- gl.texImage2D(
- gl.TEXTURE_2D, 0, info.format, info.format, info.type,
- imgs['resources/gray-ramp-256.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var counts = [{ }, { }, { }, { }];
- var numUniqueValues = [0, 0, 0, 0];
- // Count the number of unique values in each channel.
- for (var ii = 0; ii < width * height * 4; ii += 4) {
- for (var jj = 0; jj < 4; ++jj) {
- var v = buf[ii + jj];
- if (!counts[jj][v]) {
- counts[jj][v] = 1;
- ++numUniqueValues[jj];
- } else {
- ++counts[jj][v];
- }
- }
- }
- for (var ii = 0; ii < 4; ++ii) {
- assertMsg(numUniqueValues[ii] == info.counts[ii],
- "There should be " + info.counts[ii] +
- " unique values in channel " + ii + ". Found " +
- numUniqueValues[ii]);
- }
- }
-
- debug("");
- debug("Check that gamma settings don't effect 8bit pngs");
- gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/gray-ramp-default-gamma.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
- wtu.drawQuad(gl);
- var ref = new Uint8Array(width * height * 4);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, ref);
-
- var gammaImages = [
- 'resources/gray-ramp-gamma0.1.png',
- 'resources/gray-ramp-gamma1.0.png',
- 'resources/gray-ramp-gamma2.0.png',
- 'resources/gray-ramp-gamma4.0.png',
- 'resources/gray-ramp-gamma9.0.png'];
- for (var ii = 0; ii < gammaImages.length; ++ii) {
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs[gammaImages[ii]]);
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var same = true;
- for (var jj = 0; jj < width * height * 4; ++jj) {
- if (buf[jj] != ref[jj]) {
- same = false;
- break;
- }
- }
- assertMsg(same, "pixels should be same regardless of gamma settings.");
- }
-
- debug("");
- debug("check pixels are UN pre-multiplied");
- for (var ii = 0; ii < 2; ++ii) {
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- if (ii == 0) {
- var canvas2d = document.createElement("canvas");
- canvas2d.width = 256;
- canvas2d.height = 1;
- var ctx = canvas2d.getContext("2d");
- ctx.drawImage(imgs['resources/gray-ramp-256-with-128-alpha.png'], 0, 0);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, canvas2d);
- } else {
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/gray-ramp-256-with-128-alpha.png']);
- }
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
- wtu.drawQuad(gl);
- var buf = new Uint8Array(width * height * 4);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var lt128Count = [0, 0, 0];
- var ge128Count = [0, 0, 0];
- for (var jj = 0; jj < width; ++jj) {
- var off = jj * 4;
- for (var cc = 0; cc < 3; ++cc) {
- if (buf[off + cc] < 128) {
- ++lt128Count[cc];
- } else {
- ++ge128Count[cc];
- }
- }
- }
- // Not sure the exact count here because gamma does effect drawing into the
- // canvas but it should be close to 50% so I'll pass 45%
- for (var jj = 0; jj < 3; ++jj) {
- // Only display the actual percentage string when outside of the test
- // harness, to prevent safe variation from causing failures.
- var inDumpRenderTree = window.testRunner;
- assertMsg(ge128Count[jj] > 256 * 0.45,
- "Half the pixels in channel " + jj +
- " should be >= 128,128,128. " +
- (!inDumpRenderTree ? "found " +
- ((ge128Count[jj] / 256) * 100).toFixed() + "%" : ""));
- assertMsg(lt128Count[jj] > 256 * 0.45,
- "Half the pixels in channel " + jj +
- " should be < 128,128,128. " +
- (!inDumpRenderTree ? "found " +
- ((lt128Count[jj] / 256) * 100).toFixed() + "%" : ""));
- }
- }
-
- debug("");
- debug("check canvas pixels are UN pre-multiplied");
- var canvas2d = document.createElement("canvas");
- canvas2d.width = 1;
- canvas2d.height = 1;
- var ctx = canvas2d.getContext("2d");
- ctx.fillStyle ="rgba(255,255,255,0.5)";
- ctx.fillRect(0, 0, 256, 1);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas2d);
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
- checkPixelRange(buf, 0, 0, [255, 255, 255, 127], 4);
-
- debug("");
- debug("check canvas pixels are pre-multiplied");
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas2d);
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
- checkPixelRange(buf, 0, 0, [127, 127, 127, 127], 4);
-
-
- debug("");
- debug("check pixels are pre-multiplied");
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, true);
- // TODO(gman): use different texture that won't pass on failure
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE,
- imgs['resources/zero-alpha.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-
- var same = true;
- for (var jj = 0; jj < width * height * 4; ++jj) {
- if (buf[jj] != 0) {
- same = false;
- break;
- }
- }
- assertMsg(same, "pixels should all be 0.");
-
- debug("");
- debug("check pixels are flipped");
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, true);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/3x3.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-
- checkPixel(buf, left, top, [255, 0, 0, 255]);
- checkPixel(buf, middle, top, [255, 255, 0, 255]);
- checkPixel(buf, right, top, [255, 0, 0, 255]);
- checkPixel(buf, left, center, [255, 0, 255, 255]);
- checkPixel(buf, middle, center, [255, 0, 0, 255]);
- checkPixel(buf, right, center, [ 0, 255, 0, 255]);
- checkPixel(buf, left, bottom, [ 0, 0, 0, 255]);
- checkPixel(buf, middle, bottom, [ 0, 0, 255, 255]);
- checkPixel(buf, right, bottom, [255, 0, 0, 255]);
-
- debug("");
- debug("check uploading of images with no alpha channel works");
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/blue-1x1.jpg']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- checkPixelRange(buf, middle, center, [ 0, 0, 255, 255], 10);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors");
-
- debug("");
- debug("check uploading of 16-bit images");
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/green-2x2-16bit.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- checkPixelRange(buf, middle, center, [ 15, 121, 0, 255], 10);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors");
-
- debug("");
- debug("check uploading of images with ICC profiles");
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false);
- gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
-
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/small-square-with-colorspin-profile.jpg']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- // The image is red. However, if we ignore the color profile, it is blue.
- checkPixelRange(buf, middle, center, [ 0, 0, 255, 255], 10);
-
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/small-square-with-colorspin-profile.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- // The image is red. However, if we ignore the color profile, it is blue.
- checkPixelRange(buf, middle, center, [ 0, 0, 255, 255], 10);
-
- var iccPNGs = [
- 'resources/small-square-with-cie-rgb-profile.png',
- 'resources/small-square-with-colormatch-profile.png',
- 'resources/small-square-with-e-srgb-profile.png',
- 'resources/small-square-with-smpte-c-profile.png',
- 'resources/small-square-with-srgb-iec61966-2.1-profile.png'];
- for (var ii = 0; ii < iccPNGs.length; ++ii) {
- var buf2 = new Uint8Array(width * height * 4);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs[iccPNGs[ii]]);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf2);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors");
- var same = true;
- for (var jj = 0; jj < buf.length; ++jj) {
- if (buf[jj] != buf2[jj]) {
- same = false;
- break;
- }
- }
- assertMsg(same, "uploading PNGs with same data but various ICC profiles should generate the same results");
- }
-
- debug("");
- debug("check uploading of indexed PNG images");
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE,
- imgs['resources/red-indexed.png']);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup");
- wtu.drawQuad(gl);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- // The image should be red.
- checkPixelRange(buf, middle, center, [ 255, 0, 0, 255 ], 10);
-
- debug("");
- isSuccessfullyParsed();
-}
-
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays-expected.txt
deleted file mode 100644
index e33e1c0..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays-expected.txt
+++ /dev/null
@@ -1,96 +0,0 @@
-This test ensures WebGL implementations handle uniform arrays correctly.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-
-check float
-PASS 1 uniform found
-PASS uniform name is 'color[0]' not 'color' as per OpenGL ES 2.0.24 section 2.10
-PASS getError was expected value: INVALID_OPERATION : should fail if there is no current program
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size with gl.uniform1fv
-PASS getError was expected value: NO_ERROR : can set an array of uniforms with gl.uniform1fv
-PASS getError was expected value: NO_ERROR : can call gl.getUniform
-PASS gl.getUniform returns the correct type.
-PASS getError was expected value: NO_ERROR : can get location of element 0 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 0 of array from gl.getUniform
-PASS value put in (16) matches value pulled out (16)
-PASS getError was expected value: NO_ERROR : can get location of element 1 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 1 of array from gl.getUniform
-PASS value put in (15) matches value pulled out (15)
-PASS getError was expected value: NO_ERROR : can get location of element 2 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 2 of array from gl.getUniform
-PASS value put in (14) matches value pulled out (14)
-PASS getError was expected value: INVALID_OPERATION : using the wrong size of gl.Uniform fails
-PASS getError was expected value: NO_ERROR : can call gl.useProgram(null)
-
-check vec2
-PASS 1 uniform found
-PASS uniform name is 'color[0]' not 'color' as per OpenGL ES 2.0.24 section 2.10
-PASS getError was expected value: INVALID_OPERATION : should fail if there is no current program
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size with gl.uniform2fv
-PASS getError was expected value: INVALID_VALUE : should fail with non-multiple array size with gl.uniform2fv
-PASS getError was expected value: NO_ERROR : can set an array of uniforms with gl.uniform2fv
-PASS getError was expected value: NO_ERROR : can call gl.getUniform
-PASS gl.getUniform returns the correct type.
-PASS getError was expected value: NO_ERROR : can get location of element 0 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 0 of array from gl.getUniform
-PASS value put in ([16, 15]) matches value pulled out ([16, 15])
-PASS getError was expected value: NO_ERROR : can get location of element 1 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 1 of array from gl.getUniform
-PASS value put in ([14, 13]) matches value pulled out ([14, 13])
-PASS getError was expected value: NO_ERROR : can get location of element 2 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 2 of array from gl.getUniform
-PASS value put in ([12, 11]) matches value pulled out ([12, 11])
-PASS getError was expected value: INVALID_OPERATION : using the wrong size of gl.Uniform fails
-PASS passing non-array to glUniform*fv should throw TypeError
-PASS getError was expected value: NO_ERROR : can call gl.useProgram(null)
-
-check vec3
-PASS 1 uniform found
-PASS uniform name is 'color[0]' not 'color' as per OpenGL ES 2.0.24 section 2.10
-PASS getError was expected value: INVALID_OPERATION : should fail if there is no current program
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size with gl.uniform3fv
-PASS getError was expected value: INVALID_VALUE : should fail with non-multiple array size with gl.uniform3fv
-PASS getError was expected value: NO_ERROR : can set an array of uniforms with gl.uniform3fv
-PASS getError was expected value: NO_ERROR : can call gl.getUniform
-PASS gl.getUniform returns the correct type.
-PASS getError was expected value: NO_ERROR : can get location of element 0 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 0 of array from gl.getUniform
-PASS value put in ([16, 15, 14]) matches value pulled out ([16, 15, 14])
-PASS getError was expected value: NO_ERROR : can get location of element 1 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 1 of array from gl.getUniform
-PASS value put in ([13, 12, 11]) matches value pulled out ([13, 12, 11])
-PASS getError was expected value: NO_ERROR : can get location of element 2 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 2 of array from gl.getUniform
-PASS value put in ([10, 9, 8]) matches value pulled out ([10, 9, 8])
-PASS getError was expected value: INVALID_OPERATION : using the wrong size of gl.Uniform fails
-PASS passing non-array to glUniform*fv should throw TypeError
-PASS getError was expected value: NO_ERROR : can call gl.useProgram(null)
-
-check vec4
-PASS 1 uniform found
-PASS uniform name is 'color[0]' not 'color' as per OpenGL ES 2.0.24 section 2.10
-PASS getError was expected value: INVALID_OPERATION : should fail if there is no current program
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size with gl.uniform4fv
-PASS getError was expected value: INVALID_VALUE : should fail with non-multiple array size with gl.uniform4fv
-PASS getError was expected value: NO_ERROR : can set an array of uniforms with gl.uniform4fv
-PASS getError was expected value: NO_ERROR : can call gl.getUniform
-PASS gl.getUniform returns the correct type.
-PASS getError was expected value: NO_ERROR : can get location of element 0 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 0 of array from gl.getUniform
-PASS value put in ([16, 15, 14, 13]) matches value pulled out ([16, 15, 14, 13])
-PASS getError was expected value: NO_ERROR : can get location of element 1 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 1 of array from gl.getUniform
-PASS value put in ([12, 11, 10, 9]) matches value pulled out ([12, 11, 10, 9])
-PASS getError was expected value: NO_ERROR : can get location of element 2 of array from gl.getUniformLocation
-PASS getError was expected value: NO_ERROR : can get value of element 2 of array from gl.getUniform
-PASS value put in ([8, 7, 6, 5]) matches value pulled out ([8, 7, 6, 5])
-PASS getError was expected value: INVALID_OPERATION : using the wrong size of gl.Uniform fails
-PASS passing non-array to glUniform*fv should throw TypeError
-PASS getError was expected value: NO_ERROR : can call gl.useProgram(null)
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
deleted file mode 100644
index 1eaf3d0..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniform-arrays.html
+++ /dev/null
@@ -1,303 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL uniform array Conformance Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="example" width="2" height="2"> </canvas>
-<script id="vshader" type="x-shader/x-vertex">
- attribute vec4 vPosition;
- void main()
- {
- gl_Position = vPosition;
- }
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
- #ifdef GL_ES
- precision mediump float;
- #endif
- uniform $type color[3];
- void main()
- {
- gl_FragColor = vec4(color[0]$elem, color[1]$elem, color[2]$elem, 1);
- }
-</script>
-<script>
-function loadShader(ctx, shaderType, shaderSource) {
- // Create the shader object
- var shader = ctx.createShader(shaderType);
- if (shader == null) {
- debug("*** Error: unable to create shader '"+shader+"'");
- return null;
- }
-
- // Load the shader source
- ctx.shaderSource(shader, shaderSource);
-
- // Compile the shader
- ctx.compileShader(shader);
-
- // Check the compile status
- var compiled = ctx.getShaderParameter(shader, ctx.COMPILE_STATUS);
- if (!compiled) {
- // Something went wrong during compilation; get the error
- var error = ctx.getShaderInfoLog(shader);
- debug("*** Error compiling shader '"+shader+"':"+error);
- ctx.deleteShader(shader);
- return null;
- }
-
- return shader;
-}
-
-function loadProgram(ctx, vertexShaderSrc, fragmentShaderSrc) {
- var program = ctx.createProgram();
- var vShader = loadShader(ctx, ctx.VERTEX_SHADER, vertexShaderSrc)
- var fShader = loadShader(ctx, ctx.FRAGMENT_SHADER, fragmentShaderSrc);
- ctx.attachShader(program, vShader);
- ctx.attachShader(program, fShader);
- ctx.linkProgram(program);
- var linked = ctx.getProgramParameter(program, ctx.LINK_STATUS);
- if (!linked) {
- // something went wrong with the link
- var error = ctx.getProgramInfoLog (ctx.program);
- debug("Error in program linking:" + error);
- ctx.deleteProgram(ctx.program);
- program = null;
- }
-// ctx.deleteShader(fShader);
-// ctx.deleteShader(vShader);
- return program;
-}
-
-description("This test ensures WebGL implementations handle uniform arrays correctly.");
-
-debug("");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var gl = create3DContext(document.getElementById("example"));
-
-var vSrc = document.getElementById("vshader").text;
-var fTemplate = document.getElementById("fshader").text;
-
-var typeInfos = [
- { type: 'float',
- jsTypeOf: 'number',
- setter: 'uniform1fv',
- elem: '',
- numSrcValues: 3,
- invalidSet: function(loc) {
- gl.uniform2fv(loc, [1, 2]);
- },
- srcValueAsString: function(index, srcValues) {
- return srcValues[index].toString();
- },
- returnValueAsString: function(value) {
- return value === null ? 'null' : value.toString();
- },
- checkType: function(value) {
- return typeof value === 'number';
- },
- checkValue: function(typeInfo, index, value) {
- return typeInfo.srcValues[index] == value;
- },
- srcValues: [16, 15, 14],
- srcValuesLess: [],
- srcValuesNonMultiple: null,
- },
- { type: 'vec2',
- jsTypeOf: 'Float32Array',
- setter: 'uniform2fv',
- elem: '[1]',
- numSrcValues: 3,
- invalidSet: function(loc) {
- gl.uniform1fv(loc, [2]);
- },
- illegalSet: function(loc) {
- gl.uniform1fv(loc, 2);
- },
- srcValueAsString: function(index, srcValues) {
- return "[" + srcValues[index * 2 + 0].toString() + ", " +
- srcValues[index * 2 + 1].toString() + "]";
- },
- returnValueAsString: function(value) {
- return value === null ? 'null' : ("[" + value[0] + ", " + value[1] + "]");
- },
- checkType: function(value) {
- return value &&
- typeof value.length === 'number' &&
- value.length == 2;
- },
- checkValue: function(typeInfo, index, value) {
- return value !== null &&
- typeInfo.srcValues[index * 2 + 0] == value[0] &&
- typeInfo.srcValues[index * 2 + 1] == value[1];
- },
- srcValues: [16, 15, 14, 13, 12, 11],
- srcValuesLess: [16],
- srcValuesNonMultiple: [16, 15, 14, 13, 12, 11, 10],
- },
- { type: 'vec3',
- jsTypeOf: 'Float32Array',
- setter: 'uniform3fv',
- elem: '[2]',
- numSrcValues: 3,
- invalidSet: function(loc) {
- gl.uniform1fv(loc, [2]);
- },
- illegalSet: function(loc) {
- gl.uniform1fv(loc, 2);
- },
- srcValueAsString: function(index, srcValues) {
- return "[" + srcValues[index * 3 + 0].toString() + ", " +
- srcValues[index * 3 + 1].toString() + ", " +
- srcValues[index * 3 + 2].toString() + "]";
- },
- returnValueAsString: function(value) {
- return value === null ? 'null' :
- ("[" + value[0] + ", " + value[1] + ", " + value[2] + "]");
- },
- checkType: function(value) {
- return value &&
- typeof value.length === 'number' &&
- value.length == 3;
- },
- checkValue: function(typeInfo, index, value) {
- return value !== null &&
- typeInfo.srcValues[index * 3 + 0] == value[0] &&
- typeInfo.srcValues[index * 3 + 1] == value[1] &&
- typeInfo.srcValues[index * 3 + 2] == value[2];
- },
- srcValues: [16, 15, 14, 13, 12, 11, 10, 9, 8],
- srcValuesLess: [16, 15],
- srcValuesNonMultiple: [16, 15, 14, 13, 12, 11, 10, 9, 8, 7],
- },
- { type: 'vec4',
- jsTypeOf: 'Float32Array',
- setter: 'uniform4fv',
- elem: '[3]',
- numSrcValues: 3,
- invalidSet: function(loc) {
- gl.uniform1fv(loc, [2]);
- },
- illegalSet: function(loc) {
- gl.uniform1fv(loc, 2);
- },
- srcValueAsString: function(index, srcValues) {
- return "[" + srcValues[index * 4 + 0].toString() + ", " +
- srcValues[index * 4 + 1].toString() + ", " +
- srcValues[index * 4 + 2].toString() + ", " +
- srcValues[index * 4 + 3].toString() + "]";
- },
- returnValueAsString: function(value) {
- return value === null ? 'null' :
- ("[" + value[0] + ", " + value[1] +
- ", " + value[2] + ", " + value[3] + "]");
- },
- checkType: function(value) {
- return value &&
- typeof value.length === 'number' &&
- value.length == 4;
- },
- checkValue: function(typeInfo, index, value) {
- return value !== null &&
- typeInfo.srcValues[index * 4 + 0] == value[0] &&
- typeInfo.srcValues[index * 4 + 1] == value[1] &&
- typeInfo.srcValues[index * 4 + 2] == value[2] &&
- typeInfo.srcValues[index * 4 + 3] == value[3];
- },
- srcValues: [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5],
- srcValuesLess: [16, 15, 14],
- srcValuesNonMultiple: [16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4],
- }
-];
-
-for (var tt = 0; tt < typeInfos.length; ++tt) {
- var typeInfo = typeInfos[tt];
- debug("");
- debug("check " + typeInfo.type);
- var fSrc = fTemplate.replace(/\$type/g, typeInfo.type).
- replace(/\$elem/g, typeInfo.elem);
- //debug("fSrc: " + fSrc);
- var program = loadProgram(gl, vSrc, fSrc);
-
- var numUniforms = gl.getProgramParameter(program, gl.ACTIVE_UNIFORMS);
- assertMsg(numUniforms == 1, "1 uniform found");
- var info = gl.getActiveUniform(program, 0);
- assertMsg(info.name == "color[0]",
- "uniform name is 'color[0]' not 'color' as per OpenGL ES 2.0.24 section 2.10");
- var loc = gl.getUniformLocation(program, "color[0]");
- var srcValues = typeInfo.srcValues;
- var srcValuesLess = typeInfo.srcValuesLess;
- var srcValuesNonMultiple = typeInfo.srcValuesNonMultiple;
-
- // Try setting the value before using the program
- gl[typeInfo.setter](loc, srcValues);
- glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "should fail if there is no current program");
-
- gl.useProgram(program);
- gl[typeInfo.setter](loc, srcValuesLess);
- glErrorShouldBe(gl, gl.INVALID_VALUE,
- "should fail with insufficient array size with gl." + typeInfo.setter);
- if (srcValuesNonMultiple) {
- gl[typeInfo.setter](loc, srcValuesNonMultiple);
- glErrorShouldBe(gl, gl.INVALID_VALUE,
- "should fail with non-multiple array size with gl." + typeInfo.setter);
- }
- gl[typeInfo.setter](loc, srcValues);
- glErrorShouldBe(gl, gl.NO_ERROR,
- "can set an array of uniforms with gl." + typeInfo.setter);
- var values = gl.getUniform(program, loc);
- glErrorShouldBe(gl, gl.NO_ERROR,
- "can call gl.getUniform");
- assertMsg(typeInfo.checkType(values),
- "gl.getUniform returns the correct type.");
- for (var ii = 0; ii < typeInfo.numSrcValues; ++ii) {
- var elemLoc = gl.getUniformLocation(program, "color[" + ii + "]");
- glErrorShouldBe(gl, gl.NO_ERROR,
- "can get location of element " + ii +
- " of array from gl.getUniformLocation");
- var value = gl.getUniform(program, elemLoc);
- glErrorShouldBe(gl, gl.NO_ERROR,
- "can get value of element " + ii + " of array from gl.getUniform");
- assertMsg(typeInfo.checkValue(typeInfo, ii, value),
- "value put in (" + typeInfo.srcValueAsString(ii, srcValues) +
- ") matches value pulled out (" +
- typeInfo.returnValueAsString(value) + ")");
- }
- typeInfo.invalidSet(loc);
- glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "using the wrong size of gl.Uniform fails");
- var exceptionCaught = false;
- if (typeInfo.illegalSet) {
- try {
- typeInfo.illegalSet(loc);
- } catch (e) {
- exceptionCaught = true;
- }
- assertMsg(exceptionCaught, "passing non-array to glUniform*fv should throw TypeError");
- }
-
- gl.useProgram(null);
- glErrorShouldBe(gl, gl.NO_ERROR,
- "can call gl.useProgram(null)");
-}
-debug("");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv-expected.txt
deleted file mode 100644
index 23c1b4c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv-expected.txt
+++ /dev/null
@@ -1,26 +0,0 @@
-This test ensures WebGL implementations handle uniformMatrix in a OpenGL ES 2.0 spec compliant way
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Checking gl.uniformMatrix.
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size for uniformMatrix2fv
-PASS getError was expected value: NO_ERROR : should succeed with correct array size for uniformMatrix2fv
-PASS getError was expected value: INVALID_VALUE : should fail with more than 1 array size for uniformMatrix2fv
-PASS getError was expected value: NO_ERROR : can call uniformMatrix2fvwith transpose = false
-PASS getError was expected value: INVALID_VALUE : uniformMatrix2fv should return INVALID_VALUE with transpose = true
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size for uniformMatrix3fv
-PASS getError was expected value: NO_ERROR : should succeed with correct array size for uniformMatrix3fv
-PASS getError was expected value: INVALID_VALUE : should fail with more than 1 array size for uniformMatrix3fv
-PASS getError was expected value: NO_ERROR : can call uniformMatrix3fvwith transpose = false
-PASS getError was expected value: INVALID_VALUE : uniformMatrix3fv should return INVALID_VALUE with transpose = true
-PASS getError was expected value: INVALID_VALUE : should fail with insufficient array size for uniformMatrix4fv
-PASS getError was expected value: NO_ERROR : should succeed with correct array size for uniformMatrix4fv
-PASS getError was expected value: INVALID_VALUE : should fail with more than 1 array size for uniformMatrix4fv
-PASS getError was expected value: NO_ERROR : can call uniformMatrix4fvwith transpose = false
-PASS getError was expected value: INVALID_VALUE : uniformMatrix4fv should return INVALID_VALUE with transpose = true
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv.html
deleted file mode 100644
index be4e572..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-uniformmatrix4fv.html
+++ /dev/null
@@ -1,75 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL uniformMatrix Conformance Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="example" width="2" height="2"> </canvas>
-
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec4 vPosition;
-uniform mat4 world4;
-uniform mat3 world3;
-uniform mat2 world2;
-void main()
-{
- gl_Position = vec4(vPosition.xyz, world3[0].x + world2[0].x) * world4;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-void main()
-{
- gl_FragColor = vec4(1.0,0.0,0.0,1.0);
-}
-</script>
-
-<script>
-description("This test ensures WebGL implementations handle uniformMatrix in a OpenGL ES 2.0 spec compliant way");
-
-debug("");
-debug("Checking gl.uniformMatrix.");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-gl = initWebGL("example", "vshader", "fshader", [ "vPosition"], [ 0, 0, 0, 1 ], 1);
-for (var ii = 2; ii <= 4; ++ii) {
- var loc = gl.getUniformLocation(gl.program, "world" + ii);
- var matLess = [];
- for (var jj = 0; jj < ii; ++jj) {
- for (var ll = 0; ll < ii; ++ll) {
- if (jj == ii - 1 && ll == ii - 1)
- continue;
- matLess[jj * ii + ll] = (jj == ll) ? 1 : 0;
- }
- }
- var mat = matLess.concat([1]);
- var matMore = mat.concat([1]);
- name = "uniformMatrix" + ii + "fv";
- gl[name](loc, false, matLess);
- glErrorShouldBe(gl, gl.INVALID_VALUE, "should fail with insufficient array size for " + name);
- gl[name](loc, false, mat);
- glErrorShouldBe(gl, gl.NO_ERROR, "should succeed with correct array size for " + name);
- gl[name](loc, false, matMore);
- glErrorShouldBe(gl, gl.INVALID_VALUE, "should fail with more than 1 array size for " + name);
-
- mat[ii * ii - 1] = 1;
- gl[name](loc, false, mat);
- glErrorShouldBe(gl, gl.NO_ERROR, "can call " + name + "with transpose = false");
- gl[name](loc, true, mat);
- glErrorShouldBe(gl, gl.INVALID_VALUE, name + " should return INVALID_VALUE with transpose = true");
-}
-
-debug("");
-
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-expected.txt
deleted file mode 100644
index 55c4c94..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-This test ensures WebGL implementations vertexAttrib can be set and read.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Checking gl.vertexAttrib.
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[0] is 1
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[1] is 2
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[2] is 3
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[3] is 4
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[0] is 5
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[1] is 0
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[2] is 0
-PASS gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[3] is 1
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues-expected.txt
deleted file mode 100644
index 14e5988..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues-expected.txt
+++ /dev/null
@@ -1,22 +0,0 @@
-Test some of the issues of the difference between attrib 0 on OpenGL vs WebGL
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS g_attribLocation is gl.getAttribLocation(g_program, 'vPosition')
-PASS g_attribLocation is gl.getAttribLocation(g_program, 'vPosition')
-PASS getError was expected value: NO_ERROR : drawing using attrib 0 with 3 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 3 with 60000 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 0 with 3 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 3 with 60000 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 0 with 3 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 3 with 60000 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 0 with 3 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 3 with 60000 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 0 with 3 verts
-PASS getError was expected value: NO_ERROR : drawing using attrib 3 with 60000 verts
-PASS canvas should be 0, 0, 0, 0
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues.html
deleted file mode 100644
index 5ecf5fd..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib-zero-issues.html
+++ /dev/null
@@ -1,88 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<title>WebGL Enable Vertex Attrib Zero Test</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="50" height="50">
-</canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">
- attribute vec4 vPosition;
- void main()
- {
- gl_Position = vPosition;
- }
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
- void main()
- {
- gl_FragColor = vec4(0.0,0.0,0.0,0.0);
- }
-</script>
-
-<script>
-description("Test some of the issues of the difference between attrib 0 on OpenGL vs WebGL");
-debug("");
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-
-function setup(numVerts, attribIndex) {
- var program = wtu.setupProgram(
- gl,
- [wtu.loadShaderFromScript(gl, 'vshader', gl.VERTEX_SHADER),
- wtu.loadShaderFromScript(gl, 'fshader', gl.FRAGMENT_SHADER)],
- ['vPosition'], [attribIndex]);
- // draw with something on attrib zero with a small number of vertices
- var vertexObject = gl.createBuffer();
- g_program = program;
- g_attribLocation = attribIndex;
- shouldBe("g_attribLocation", "gl.getAttribLocation(g_program, 'vPosition')");
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(
- gl.ARRAY_BUFFER, new Float32Array(numVerts * 3), gl.STATIC_DRAW);
- gl.vertexAttribPointer(attribIndex, 3, gl.FLOAT, false, 0, 0);
- var indices = new Uint16Array(numVerts);
- for (var ii = 0; ii < numVerts; ++ii) {
- indices[ii] = ii;
- }
- var indexBuffer = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexBuffer);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
- return program;
-}
-
-var p1 = setup(3, 0);
-var p2 = setup(60000, 3);
-
-for (var ii = 0; ii < 5; ++ii) {
- gl.useProgram(p1);
- gl.enableVertexAttribArray(0);
- gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0);
- glErrorShouldBe(
- gl, gl.NO_ERROR,
- "drawing using attrib 0 with 3 verts");
-
- gl.useProgram(p2);
- gl.enableVertexAttribArray(3);
- gl.drawArrays(gl.LINES, 0, 60000);
- glErrorShouldBe(
- gl, gl.NO_ERROR,
- "drawing using attrib 3 with 60000 verts");
-}
-
-wtu.checkCanvas(gl, [0, 0, 0, 0], "canvas should be 0, 0, 0, 0");
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib.html
deleted file mode 100644
index 87310db..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertex-attrib.html
+++ /dev/null
@@ -1,47 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL vertexAttrib Conformance Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("This test ensures WebGL implementations vertexAttrib can be set and read.");
-
-debug("");
-debug("Canvas.getContext");
-
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- debug("Checking gl.vertexAttrib.");
-
- gl.vertexAttrib4fv(0, [1, 2, 3, 4]);
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[0]', '1');
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[1]', '2');
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[2]', '3');
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[3]', '4');
-
- gl.vertexAttrib1f(0, 5);
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[0]', '5');
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[1]', '0');
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[2]', '0');
- shouldBe('gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB)[3]', '1');
-}
-
-debug("");
-
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer-expected.txt
deleted file mode 100644
index dd75a2f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer-expected.txt
+++ /dev/null
@@ -1,197 +0,0 @@
-This test checks vertexAttribPointer behaviors in WebGL.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Canvas.getContext
-PASS context exists
-
-Checking gl.vertexAttribPointer.
-PASS getError was expected value: INVALID_OPERATION : vertexAttribPointer should fail if no buffer is bound
-PASS getError was expected value: INVALID_ENUM : vertexAttribPointer should not support INT
-PASS getError was expected value: INVALID_ENUM : vertexAttribPointer should not support UNSIGNED_INT
-PASS getError was expected value: INVALID_ENUM : vertexAttribPointer should not support FIXED
-
-
-checking: BYTE with size 1
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.BYTE, false, 1, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 1, gl.BYTE, false, 256, 0) should fail over stride limit
-
-checking: BYTE with size 2
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.BYTE, false, 1, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.BYTE, false, 2, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 2, gl.BYTE, false, 256, 0) should fail over stride limit
-
-checking: BYTE with size 3
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.BYTE, false, 2, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.BYTE, false, 3, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 3, gl.BYTE, false, 256, 0) should fail over stride limit
-
-checking: BYTE with size 4
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.BYTE, false, 3, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.BYTE, false, 4, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 4, gl.BYTE, false, 256, 0) should fail over stride limit
-
-
-checking: UNSIGNED_BYTE with size 1
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_BYTE, false, 1, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_BYTE, false, 256, 0) should fail over stride limit
-
-checking: UNSIGNED_BYTE with size 2
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_BYTE, false, 1, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_BYTE, false, 2, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_BYTE, false, 256, 0) should fail over stride limit
-
-checking: UNSIGNED_BYTE with size 3
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_BYTE, false, 2, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_BYTE, false, 3, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_BYTE, false, 256, 0) should fail over stride limit
-
-checking: UNSIGNED_BYTE with size 4
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, false, 0, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, false, 3, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, false, 4, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, false, 255, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, false, 256, 0) should fail over stride limit
-
-
-checking: SHORT with size 1
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 1, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 2, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 1, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.SHORT, false, 2, 1) should fail because offset is bad
-
-checking: SHORT with size 2
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 3, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 4, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 3, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.SHORT, false, 4, 1) should fail because offset is bad
-
-checking: SHORT with size 3
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 5, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 6, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 5, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.SHORT, false, 6, 1) should fail because offset is bad
-
-checking: SHORT with size 4
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 7, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 8, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 7, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.SHORT, false, 8, 1) should fail because offset is bad
-
-
-checking: UNSIGNED_SHORT with size 1
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 1, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 2, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 1, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.UNSIGNED_SHORT, false, 2, 1) should fail because offset is bad
-
-checking: UNSIGNED_SHORT with size 2
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 3, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 4, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 3, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.UNSIGNED_SHORT, false, 4, 1) should fail because offset is bad
-
-checking: UNSIGNED_SHORT with size 3
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 5, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 6, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 5, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.UNSIGNED_SHORT, false, 6, 1) should fail because offset is bad
-
-checking: UNSIGNED_SHORT with size 4
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 7, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 8, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 254, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 0, 1) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 7, 1) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.UNSIGNED_SHORT, false, 8, 1) should fail because offset is bad
-
-
-checking: FLOAT with size 1
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 3, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 4, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 252, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 0, 3) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 3, 3) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 1, gl.FLOAT, false, 4, 3) should fail because offset is bad
-
-checking: FLOAT with size 2
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 7, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 8, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 252, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 3) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 7, 3) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 8, 3) should fail because offset is bad
-
-checking: FLOAT with size 3
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 11, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 12, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 252, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 3) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 11, 3) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 12, 3) should fail because offset is bad
-
-checking: FLOAT with size 4
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 0, 0) should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 15, 0) should fail because stride is bad
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 16, 0) should succeed
-PASS getError was expected value: NO_ERROR : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 252, 0) should succeed at stride limit
-PASS getError was expected value: INVALID_VALUE : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 256, 0) should fail over stride limit
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 0, 3) should fail because offset is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 15, 3) should fail because stride is bad
-PASS getError was expected value: INVALID_OPERATION : gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 16, 3) should fail because offset is bad
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer.html
deleted file mode 100644
index 06b5d18..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/gl-vertexattribpointer.html
+++ /dev/null
@@ -1,135 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL vertexAttribPointer Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("This test checks vertexAttribPointer behaviors in WebGL.");
-
-debug("");
-debug("Canvas.getContext");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl = create3DContext(document.getElementById("canvas"));
-if (!gl) {
- testFailed("context does not exist");
-} else {
- testPassed("context exists");
-
- debug("");
- debug("Checking gl.vertexAttribPointer.");
-
- if (!gl.FIXED) {
- gl.FIXED = 0x140C;
- }
-
- gl.vertexAttribPointer(0, 3, gl.FLOAT, 0, 0, 12);
- glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "vertexAttribPointer should fail if no buffer is bound");
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(0), gl.STATIC_DRAW);
-
- gl.vertexAttribPointer(0, 1, gl.INT, 0, 0, 0);
- glErrorShouldBe(gl, gl.INVALID_ENUM,
- "vertexAttribPointer should not support INT");
- gl.vertexAttribPointer(0, 1, gl.UNSIGNED_INT, 0, 0, 0);
- glErrorShouldBe(gl, gl.INVALID_ENUM,
- "vertexAttribPointer should not support UNSIGNED_INT");
- gl.vertexAttribPointer(0, 1, gl.FIXED, 0, 0, 0);
- glErrorShouldBe(gl, gl.INVALID_ENUM,
- "vertexAttribPointer should not support FIXED");
-
- function checkVertexAttribPointer(
- gl, err, reason, size, type, normalize, stride, offset) {
- gl.vertexAttribPointer(0, size, type, normalize, stride, offset);
- glErrorShouldBe(gl, err,
- "gl.vertexAttribPointer(0, " + size +
- ", gl." + wtu.glEnumToString(gl, type) +
- ", " + normalize +
- ", " + stride +
- ", " + offset +
- ") should " + (err == gl.NO_ERROR ? "succeed " : "fail ") + reason);
- }
-
- var types = [
- { type:gl.BYTE, bytesPerComponent: 1 },
- { type:gl.UNSIGNED_BYTE, bytesPerComponent: 1 },
- { type:gl.SHORT, bytesPerComponent: 2 },
- { type:gl.UNSIGNED_SHORT, bytesPerComponent: 2 },
- { type:gl.FLOAT, bytesPerComponent: 4 },
- ];
-
- for (var ii = 0; ii < types.length; ++ii) {
- var info = types[ii];
- debug("");
- for (var size = 1; size <= 4; ++size) {
- debug("");
- debug("checking: " + wtu.glEnumToString(gl, info.type) + " with size " + size);
- var bytesPerElement = size * info.bytesPerComponent;
- var offsetSet;
- if (info.bytesPerComponent > 1)
- offsetSet = [0, info.bytesPerComponent - 1];
- else
- offsetSet = [0];
- for (var jj = 0; jj < offsetSet.length; ++jj) {
- var offset = offsetSet[jj];
- var strideSet;
- if (bytesPerElement > 1)
- strideSet = [0, bytesPerElement - 1, bytesPerElement];
- else
- strideSet = [0, bytesPerElement];
- for (var kk = 0; kk < strideSet.length; ++kk) {
- var stride = strideSet[kk];
- var err = gl.NO_ERROR;
- var reason = ""
- if (offset != 0) {
- reason = "because offset is bad";
- err = gl.INVALID_OPERATION;
- }
- if (stride % info.bytesPerComponent != 0) {
- reason = "because stride is bad";
- err = gl.INVALID_OPERATION;
- }
- checkVertexAttribPointer(
- gl, err, reason, size, info.type, false, stride, offset);
- }
- var stride = Math.floor(255 / info.bytesPerComponent) * info.bytesPerComponent;
-
- if (offset == 0) {
- checkVertexAttribPointer(
- gl, gl.NO_ERROR, "at stride limit",
- size, info.type, false, stride, offset);
- checkVertexAttribPointer(
- gl, gl.INVALID_VALUE, "over stride limit",
- size, info.type, false,
- stride + info.bytesPerComponent, offset);
- }
- }
- }
- }
-}
-
-debug("");
-
-</script>
-
-<script>
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour-expected.txt
deleted file mode 100644
index b53ec44..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour-expected.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests calling WebGL APIs with objects from other contexts
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS contextA.compileShader(shaderB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.linkProgram(programB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.attachShader(programA, shaderB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.attachShader(programB, shaderA) generated expected GL error: INVALID_OPERATION.
-PASS contextA.attachShader(programB, shaderB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.detachShader(programA, shaderB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.detachShader(programB, shaderA) generated expected GL error: INVALID_OPERATION.
-PASS contextA.detachShader(programB, shaderB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.shaderSource(shaderB, 'foo') generated expected GL error: INVALID_OPERATION.
-PASS contextA.bindAttribLocation(programB, 0, 'foo') generated expected GL error: INVALID_OPERATION.
-PASS contextA.bindFramebuffer(contextA.FRAMEBUFFER, frameBufferB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.bindRenderbuffer(contextA.RENDERBUFFER, renderBufferB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.bindTexture(contextA.TEXTURE_2D, textureB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.framebufferRenderbuffer(contextA.FRAMEBUFFER, contextA.DEPTH_ATTACHMENT, contextA.RENDERBUFFER, renderBufferB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.framebufferTexture2D(contextA.FRAMEBUFFER, contextA.COLOR_ATTACHMENT0, contextA.TEXTURE_2D, textureB, 0) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getProgramParameter(programB, 0) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getProgramInfoLog(programB, 0) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getShaderParameter(shaderB, 0) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getShaderInfoLog(shaderB, 0) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getShaderSource(shaderB) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getUniform(programB, locationA) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getUniformLocation(programB, 'u_modelViewProjMatrix') generated expected GL error: INVALID_OPERATION.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour.html
deleted file mode 100644
index cdc5171..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/incorrect-context-object-behaviour.html
+++ /dev/null
@@ -1,56 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Tests calling WebGL APIs with objects from other contexts");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var contextA = create3DContext();
-var contextB = create3DContext();
-var programA = loadStandardProgram(contextA);
-var programB = loadStandardProgram(contextB);
-var shaderA = loadStandardVertexShader(contextA);
-var shaderB = loadStandardVertexShader(contextB);
-var textureA = contextA.createTexture();
-var textureB = contextB.createTexture();
-var frameBufferA = contextA.createFramebuffer();
-var frameBufferB = contextB.createFramebuffer();
-var renderBufferA = contextA.createRenderbuffer();
-var renderBufferB = contextB.createRenderbuffer();
-var locationA = contextA.getUniformLocation(programA, 'u_modelViewProjMatrix');
-var locationB = contextB.getUniformLocation(programB, 'u_modelViewProjMatrix');
-
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.compileShader(shaderB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.linkProgram(programB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.attachShader(programA, shaderB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.attachShader(programB, shaderA)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.attachShader(programB, shaderB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.detachShader(programA, shaderB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.detachShader(programB, shaderA)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.detachShader(programB, shaderB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.shaderSource(shaderB, 'foo')");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.bindAttribLocation(programB, 0, 'foo')");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.bindFramebuffer(contextA.FRAMEBUFFER, frameBufferB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.bindRenderbuffer(contextA.RENDERBUFFER, renderBufferB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.bindTexture(contextA.TEXTURE_2D, textureB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.framebufferRenderbuffer(contextA.FRAMEBUFFER, contextA.DEPTH_ATTACHMENT, contextA.RENDERBUFFER, renderBufferB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.framebufferTexture2D(contextA.FRAMEBUFFER, contextA.COLOR_ATTACHMENT0, contextA.TEXTURE_2D, textureB, 0)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getProgramParameter(programB, 0)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getProgramInfoLog(programB, 0)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getShaderParameter(shaderB, 0)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getShaderInfoLog(shaderB, 0)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getShaderSource(shaderB)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getUniform(programB, locationA)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getUniformLocation(programB, 'u_modelViewProjMatrix')");
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices-expected.txt
deleted file mode 100644
index 6f86be4..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Test that client data is always copied during bufferData and bufferSubData calls, because otherwise the data the GL uses to draw may differ from that checked by the index validation code.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 2) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 4) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 2) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 4) generated expected GL error: INVALID_OPERATION.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices.html
deleted file mode 100644
index e738f2e..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-copies-indices.html
+++ /dev/null
@@ -1,45 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description('Test that client data is always copied during bufferData and bufferSubData calls, because otherwise the data the GL uses to draw may differ from that checked by the index validation code.')
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-var program = loadStandardProgram(context);
-
-context.useProgram(program);
-var vertexObject = context.createBuffer();
-context.enableVertexAttribArray(0);
-context.bindBuffer(context.ARRAY_BUFFER, vertexObject);
-// 4 vertices -> 2 triangles
-context.bufferData(context.ARRAY_BUFFER, new Float32Array([ 0,0,0, 0,1,0, 1,0,0, 1,1,0 ]), context.STATIC_DRAW);
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 0, 0);
-
-var indexObject = context.createBuffer();
-
-context.bindBuffer(context.ELEMENT_ARRAY_BUFFER, indexObject);
-var indices = new Uint16Array([ 10000, 0, 1, 2, 3, 10000 ]);
-context.bufferData(context.ELEMENT_ARRAY_BUFFER, indices, context.STATIC_DRAW);
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 2)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 4)");
-indices[0] = 2;
-indices[5] = 1;
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 2)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 4)");
-
-debug("")
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data-expected.txt
deleted file mode 100644
index 2d9b418..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Verifies that the index validation code which is within bufferSubData does not crash.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS bufferSubData, when buffer object was initialized with null, did not crash
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
deleted file mode 100644
index 365382a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-crash-with-buffer-sub-data.html
+++ /dev/null
@@ -1,24 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description('Verifies that the index validation code which is within bufferSubData does not crash.')
-
-var gl = create3DContext();
-
-var elementBuffer = gl.createBuffer();
-gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
-gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, 256, gl.STATIC_DRAW);
-var data = new Uint8Array(127);
-gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 63, data);
-testPassed("bufferSubData, when buffer object was initialized with null, did not crash");
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-expected.txt
deleted file mode 100644
index e447db9..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-expected.txt
+++ /dev/null
@@ -1,34 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests that index validation verifies the correct number of indices
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Testing with valid indices
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0) is undefined.
-PASS getError was expected value: NO_ERROR :
-Testing with out-of-range indices
-Enable vertices, valid
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0) is undefined.
-PASS getError was expected value: NO_ERROR :
-Enable normals, out-of-range
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0) is undefined.
-PASS getError was expected value: INVALID_OPERATION :
-Test with enabled attribute that does not belong to current program
-Enable an extra attribute with null
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0) is undefined.
-PASS getError was expected value: INVALID_OPERATION :
-Enable an extra attribute with insufficient data buffer
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0) is undefined.
-Pass large negative index to vertexAttribPointer
-PASS getError was expected value: INVALID_VALUE :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0) is undefined.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices-expected.txt
deleted file mode 100644
index 90541e6..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests that index validation for drawElements does not examine too many indices
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Test out of range indices
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 2) generated expected GL error: NO_ERROR.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 0) generated expected GL error: INVALID_OPERATION.
-PASS context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 4) generated expected GL error: INVALID_OPERATION.
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices.html
deleted file mode 100644
index dec1e8c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-verifies-too-many-indices.html
+++ /dev/null
@@ -1,40 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description('Tests that index validation for drawElements does not examine too many indices');
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-var program = loadStandardProgram(context);
-
-context.useProgram(program);
-var vertexObject = context.createBuffer();
-context.enableVertexAttribArray(0);
-context.bindBuffer(context.ARRAY_BUFFER, vertexObject);
-// 4 vertices -> 2 triangles
-context.bufferData(context.ARRAY_BUFFER, new Float32Array([ 0,0,0, 0,1,0, 1,0,0, 1,1,0 ]), context.STATIC_DRAW);
-context.vertexAttribPointer(0, 3, context.FLOAT, false, 0, 0);
-
-var indexObject = context.createBuffer();
-
-debug("Test out of range indices")
-context.bindBuffer(context.ELEMENT_ARRAY_BUFFER, indexObject);
-context.bufferData(context.ELEMENT_ARRAY_BUFFER, new Uint16Array([ 10000, 0, 1, 2, 3, 10000 ]), context.STATIC_DRAW);
-shouldGenerateGLError(context, context.NO_ERROR, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 2)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 0)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.drawElements(context.TRIANGLE_STRIP, 4, context.UNSIGNED_SHORT, 4)");
-
-debug("")
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer-expected.txt
deleted file mode 100644
index 1bfa716..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer-expected.txt
+++ /dev/null
@@ -1,16 +0,0 @@
-Test that updating the size of a vertex buffer is properly noticed by the WebGL implementation.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR : after initialization
-PASS getError was expected value: NO_ERROR : after vertex setup
-PASS getError was expected value: NO_ERROR : after texture coord setup
-PASS getError was expected value: NO_ERROR : after vertex redefinition
-PASS getError was expected value: NO_ERROR : after texture coordinate / color redefinition
-PASS getError was expected value: NO_ERROR : after setting up indices
-PASS getError was expected value: NO_ERROR : after drawing
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer.html
deleted file mode 100644
index 7026222..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation-with-resized-buffer.html
+++ /dev/null
@@ -1,96 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<canvas id="example" width="1px" height="1px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-
-<script id="vs" type="x-shader/x-vertex">
-attribute vec4 vPosition;
-attribute vec4 vColor;
-varying vec4 color;
-void main() {
- gl_Position = vPosition;
- color = vColor;
-}
-</script>
-<script id="fs" type="x-shader/x-fragment">
-#if defined(GL_ES)
-precision mediump float;
-#endif
-varying vec4 color;
-void main() {
- gl_FragColor = color;
-}
-</script>
-<script>
-description('Test that updating the size of a vertex buffer is properly noticed by the WebGL implementation.')
-
-var gl = initWebGL("example", "vs", "fs", ["vPosition", "vColor"], [0, 0, 0, 1], 1);
-glErrorShouldBe(gl, gl.NO_ERROR, "after initialization");
-
-gl.useProgram(gl.program);
-var vertexObject = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
-gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(
- [-1,1,0, 1,1,0, -1,-1,0,
- -1,-1,0, 1,1,0, 1,-1,0]), gl.STATIC_DRAW);
-gl.enableVertexAttribArray(0);
-gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-glErrorShouldBe(gl, gl.NO_ERROR, "after vertex setup");
-
-var texCoordObject = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
-gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(
- [0,0, 1,0, 0,1,
- 0,1, 1,0, 1,1]), gl.STATIC_DRAW);
-gl.enableVertexAttribArray(1);
-gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
-glErrorShouldBe(gl, gl.NO_ERROR, "after texture coord setup");
-
-// Now resize these buffers because we want to change what we're drawing.
-gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
-gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
- -1,1,0, 1,1,0, -1,-1,0, 1,-1,0,
- -1,1,0, 1,1,0, -1,-1,0, 1,-1,0]), gl.STATIC_DRAW);
-glErrorShouldBe(gl, gl.NO_ERROR, "after vertex redefinition");
-gl.bindBuffer(gl.ARRAY_BUFFER, texCoordObject);
-gl.bufferData(gl.ARRAY_BUFFER, new Uint8Array([
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255]), gl.STATIC_DRAW);
-gl.vertexAttribPointer(1, 4, gl.UNSIGNED_BYTE, false, 0, 0);
-glErrorShouldBe(gl, gl.NO_ERROR, "after texture coordinate / color redefinition");
-
-var numQuads = 2;
-var indices = new Uint8Array(numQuads * 6);
-for (var ii = 0; ii < numQuads; ++ii) {
- var offset = ii * 6;
- var quad = (ii == (numQuads - 1)) ? 4 : 0;
- indices[offset + 0] = quad + 0;
- indices[offset + 1] = quad + 1;
- indices[offset + 2] = quad + 2;
- indices[offset + 3] = quad + 2;
- indices[offset + 4] = quad + 1;
- indices[offset + 5] = quad + 3;
-}
-var indexObject = gl.createBuffer();
-gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexObject);
-gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
-glErrorShouldBe(gl, gl.NO_ERROR, "after setting up indices");
-gl.drawElements(gl.TRIANGLES, numQuads * 6, gl.UNSIGNED_BYTE, 0);
-glErrorShouldBe(gl, gl.NO_ERROR, "after drawing");
-
-debug("")
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation.html
deleted file mode 100644
index 9e8e5b6..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/index-validation.html
+++ /dev/null
@@ -1,113 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Tests that index validation verifies the correct number of indices");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-function sizeInBytes(type) {
- switch (type) {
- case gl.BYTE:
- case gl.UNSIGNED_BYTE:
- return 1;
- case gl.SHORT:
- case gl.UNSIGNED_SHORT:
- return 2;
- case gl.INT:
- case gl.UNSIGNED_INT:
- case gl.FLOAT:
- return 4;
- default:
- throw "unknown type";
- }
-}
-
-var gl = create3DContext();
-var program = loadStandardProgram(gl);
-
-// 3 vertices => 1 triangle, interleaved data
-var dataComplete = new Float32Array([0, 0, 0, 1,
- 0, 0, 1,
- 1, 0, 0, 1,
- 0, 0, 1,
- 1, 1, 1, 1,
- 0, 0, 1]);
-var dataIncomplete = new Float32Array([0, 0, 0, 1,
- 0, 0, 1,
- 1, 0, 0, 1,
- 0, 0, 1,
- 1, 1, 1, 1]);
-var indices = new Uint16Array([0, 1, 2]);
-
-debug("Testing with valid indices");
-
-var bufferComplete = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, bufferComplete);
-gl.bufferData(gl.ARRAY_BUFFER, dataComplete, gl.STATIC_DRAW);
-var elements = gl.createBuffer();
-gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elements);
-gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
-gl.useProgram(program);
-var vertexLoc = gl.getAttribLocation(program, "a_vertex");
-var normalLoc = gl.getAttribLocation(program, "a_normal");
-gl.vertexAttribPointer(vertexLoc, 4, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 0);
-gl.enableVertexAttribArray(vertexLoc);
-gl.vertexAttribPointer(normalLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 4 * sizeInBytes(gl.FLOAT));
-gl.enableVertexAttribArray(normalLoc);
-shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0)');
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("Testing with out-of-range indices");
-
-var bufferIncomplete = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, bufferIncomplete);
-gl.bufferData(gl.ARRAY_BUFFER, dataIncomplete, gl.STATIC_DRAW);
-gl.vertexAttribPointer(vertexLoc, 4, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 0);
-gl.enableVertexAttribArray(vertexLoc);
-gl.disableVertexAttribArray(normalLoc);
-debug("Enable vertices, valid");
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0)');
-glErrorShouldBe(gl, gl.NO_ERROR);
-debug("Enable normals, out-of-range");
-gl.vertexAttribPointer(normalLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 4 * sizeInBytes(gl.FLOAT));
-gl.enableVertexAttribArray(normalLoc);
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0)');
-glErrorShouldBe(gl, gl.INVALID_OPERATION);
-
-debug("Test with enabled attribute that does not belong to current program");
-
-gl.disableVertexAttribArray(normalLoc);
-var extraLoc = Math.max(vertexLoc, normalLoc) + 1;
-gl.enableVertexAttribArray(extraLoc);
-debug("Enable an extra attribute with null");
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0)');
-glErrorShouldBe(gl, gl.INVALID_OPERATION);
-debug("Enable an extra attribute with insufficient data buffer");
-gl.vertexAttribPointer(extraLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 4 * sizeInBytes(gl.FLOAT));
-glErrorShouldBe(gl, gl.NO_ERROR);
-shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0)');
-debug("Pass large negative index to vertexAttribPointer");
-gl.vertexAttribPointer(normalLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), -2000000000 * sizeInBytes(gl.FLOAT));
-glErrorShouldBe(gl, gl.INVALID_VALUE);
-shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_SHORT, 0)');
-
-successfullyParsed = true;
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test-expected.txt
deleted file mode 100644
index 1e9b143..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test-expected.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-WebGL instanceof test.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Tests that instanceof works on WebGL objects.
-
-PASS gl instanceof WebGLRenderingContext is true
-PASS gl.createBuffer() instanceof WebGLBuffer is true
-PASS gl.createFramebuffer() instanceof WebGLFramebuffer is true
-PASS gl.createProgram() instanceof WebGLProgram is true
-PASS gl.createRenderbuffer() instanceof WebGLRenderbuffer is true
-PASS gl.createShader(gl.VERTEX_SHADER) instanceof WebGLShader is true
-PASS gl.createTexture() instanceof WebGLTexture is true
-PASS gl.getUniformLocation(program, "color") instanceof WebGLUniformLocation is true
-PASS gl.getActiveAttrib(program, 0) instanceof WebGLActiveInfo is true
-PASS gl.getActiveUniform(program, 0) instanceof WebGLActiveInfo is true
-
-Tests that those WebGL objects can not be constructed through new operator
-
-PASS new WebGLRenderingContext threw an error
-PASS new WebGLActiveInfo threw an error
-PASS new WebGLBuffer threw an error
-PASS new WebGLFramebuffer threw an error
-PASS new WebGLProgram threw an error
-PASS new WebGLRenderbuffer threw an error
-PASS new WebGLShader threw an error
-PASS new WebGLTexture threw an error
-PASS new WebGLUniformLocation threw an error
-PASS new WebGLShaderPrecisionFormat threw an error
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test.html
deleted file mode 100644
index 423ae33..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/instanceof-test.html
+++ /dev/null
@@ -1,87 +0,0 @@
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL instanceof test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="canvas" width="2" height="2" style="width: 40px; height: 40px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec4 vPosition;
-varying vec2 texCoord;
-void main()
-{
- gl_Position = vPosition;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-precision mediump float;
-uniform vec4 color;
-void main()
-{
- gl_FragColor = color;
-}
-</script>
-<script>
-var wtu = WebGLTestUtils;
-description(document.title);
-debug("Tests that instanceof works on WebGL objects.");
-debug("");
-var gl = create3DContext(document.getElementById("canvas"));
-shouldBeTrue('gl instanceof WebGLRenderingContext');
-shouldBeTrue('gl.createBuffer() instanceof WebGLBuffer');
-shouldBeTrue('gl.createFramebuffer() instanceof WebGLFramebuffer');
-shouldBeTrue('gl.createProgram() instanceof WebGLProgram');
-shouldBeTrue('gl.createRenderbuffer() instanceof WebGLRenderbuffer');
-shouldBeTrue('gl.createShader(gl.VERTEX_SHADER) instanceof WebGLShader');
-shouldBeTrue('gl.createTexture() instanceof WebGLTexture');
-
-var program = wtu.setupProgram(
- gl,
- [wtu.loadShaderFromScript(gl, 'vshader', gl.VERTEX_SHADER),
- wtu.loadShaderFromScript(gl, 'fshader', gl.FRAGMENT_SHADER)],
- ['vPosition'], [0]);
-
-shouldBeTrue('gl.getUniformLocation(program, "color") instanceof WebGLUniformLocation');
-shouldBeTrue('gl.getActiveAttrib(program, 0) instanceof WebGLActiveInfo');
-shouldBeTrue('gl.getActiveUniform(program, 0) instanceof WebGLActiveInfo');
-
-debug("");
-debug("Tests that those WebGL objects can not be constructed through new operator");
-debug("");
-
-function shouldThrowWithNew(objectType, objectName)
-{
- try {
- new objectType;
- testFailed('new ' + objectName + ' did not throw');
- } catch (e) {
- testPassed('new ' + objectName + ' threw an error');
- }
-}
-
-shouldThrowWithNew(window.WebGLRenderingContext, 'WebGLRenderingContext');
-shouldThrowWithNew(window.WebGLActiveInfo, 'WebGLActiveInfo');
-shouldThrowWithNew(window.WebGLBuffer, 'WebGLBuffer');
-shouldThrowWithNew(window.WebGLFramebuffer, 'WebGLFramebuffer');
-shouldThrowWithNew(window.WebGLProgram, 'WebGLProgram');
-shouldThrowWithNew(window.WebGLRenderbuffer, 'WebGLRenderbuffer');
-shouldThrowWithNew(window.WebGLShader, 'WebGLShader');
-shouldThrowWithNew(window.WebGLTexture, 'WebGLTexture');
-shouldThrowWithNew(window.WebGLUniformLocation, 'WebGLUniformLocation');
-shouldThrowWithNew(window.WebGLShaderPrecisionFormat, 'WebGLShaderPrecisionFormat');
-
-successfullyParsed = true;
-</script>
-
-</body>
-</html>
-
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16-expected.txt
deleted file mode 100644
index 8aa4291..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16-expected.txt
+++ /dev/null
@@ -1,10 +0,0 @@
-This test verifies that the internal conversion from UTF16 to UTF8 is robust to invalid inputs. Any DOM entry point which converts an incoming string to UTF8 could be used for this test.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS bindAttribLocation with invalid UTF-16 did not crash
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16.html
deleted file mode 100644
index ea7c69f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-UTF-16.html
+++ /dev/null
@@ -1,37 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<script>
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
- }
-</script>
-<script>
-description('This test verifies that the internal conversion from UTF16 to UTF8 is robust to invalid inputs. Any DOM entry point which converts an incoming string to UTF8 could be used for this test.');
-
-var array = [];
-array.push(String.fromCharCode(0x48)); // H
-array.push(String.fromCharCode(0x69)); // i
-array.push(String.fromCharCode(0xd87e)); // Bogus
-var string = array.join('');
-
-// In order to make this test not depend on WebGL, the following were
-// attempted:
-// - Send a string to console.log
-// - Submit a mailto: form containing a text input with the bogus
-// string
-// The first code path does not perform a utf8 conversion of the
-// incoming string unless Console::shouldPrintExceptions() returns
-// true. The second seems to sanitize the form's input before
-// converting it to a UTF8 string.
-
-var gl = create3DContext(null);
-var program = gl.createProgram();
-gl.bindAttribLocation(program, 0, string);
-testPassed("bindAttribLocation with invalid UTF-16 did not crash");
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params-expected.txt
deleted file mode 100644
index 3bdc9c5..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params-expected.txt
+++ /dev/null
@@ -1,106 +0,0 @@
-Test for invalid passed parameters
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-Test createShader()
-PASS context.createShader(context.FRAGMENT_SHADER) generated expected GL error: NO_ERROR.
-PASS context.createShader(context.VERTEX_SHADER) generated expected GL error: NO_ERROR.
-PASS context.createShader(0) generated expected GL error: INVALID_ENUM.
-PASS context.createShader(context.TRIANGLES) generated expected GL error: INVALID_ENUM.
-
-Test clear()
-PASS context.clear(desktopGL['ACCUM_BUFFER_BIT']) generated expected GL error: INVALID_VALUE.
-PASS context.clear(desktopGL['ACCUM_BUFFER_BIT'] | context.COLOR_BUFFER_BIT) generated expected GL error: INVALID_VALUE.
-PASS context.clear(desktopGL['ACCUM_BUFFER_BIT'] | context.COLOR_BUFFER_BIT | context.DEPTH_BUFFER_BIT | context.STENCIL_BUFFER_BIT) generated expected GL error: INVALID_VALUE.
-PASS context.clear(context.COLOR_BUFFER_BIT | context.DEPTH_BUFFER_BIT | context.STENCIL_BUFFER_BIT) generated expected GL error: NO_ERROR.
-
-Test bufferData()
-PASS context.bindBuffer(context.ARRAY_BUFFER, buffer) generated expected GL error: NO_ERROR.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, context.STREAM_DRAW) generated expected GL error: NO_ERROR.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, context.STATIC_DRAW) generated expected GL error: NO_ERROR.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, context.DYNAMIC_DRAW) generated expected GL error: NO_ERROR.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STREAM_READ']) generated expected GL error: INVALID_ENUM.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STREAM_COPY']) generated expected GL error: INVALID_ENUM.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STATIC_READ']) generated expected GL error: INVALID_ENUM.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STATIC_COPY']) generated expected GL error: INVALID_ENUM.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['DYNAMIC_READ']) generated expected GL error: INVALID_ENUM.
-PASS context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['DYNAMIC_COPY']) generated expected GL error: INVALID_ENUM.
-
-Test {copy}Tex{Sub}Image2D with negative offset/width/height
-PASS context.bindTexture(context.TEXTURE_2D, tex) generated expected GL error: NO_ERROR.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, -16, -16, 0, context.RGBA, context.UNSIGNED_BYTE, null) generated expected GL error: INVALID_VALUE.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 16, 16, 0, context.RGBA, context.UNSIGNED_BYTE, null) generated expected GL error: NO_ERROR.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, -1, -1, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels) generated expected GL error: INVALID_VALUE.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, -1, -1, context.RGBA, context.UNSIGNED_BYTE, pixels) generated expected GL error: INVALID_VALUE.
-PASS context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels) generated expected GL error: NO_ERROR.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, -1, -1, 0) generated expected GL error: INVALID_VALUE.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 16, 16, 0) generated expected GL error: NO_ERROR.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, -1, -1, 0, 0, 2, 2) generated expected GL error: INVALID_VALUE.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, -1, -1) generated expected GL error: INVALID_VALUE.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 2, 2) generated expected GL error: NO_ERROR.
-
-Test renderbufferStorage() with negative width/height
-PASS context.bindRenderbuffer(context.RENDERBUFFER, renderbuffer) generated expected GL error: NO_ERROR.
-PASS context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, -2, -2) generated expected GL error: INVALID_VALUE.
-PASS context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, 16, 16) generated expected GL error: NO_ERROR.
-
-Test scissor() with negative width/height
-PASS context.scissor(0, 0, -2, -2) generated expected GL error: INVALID_VALUE.
-PASS context.scissor(0, 0, 16, 16) generated expected GL error: NO_ERROR.
-
-Test viewport() with negative width/height
-PASS context.viewport(0, 0, -2, -2) generated expected GL error: INVALID_VALUE.
-PASS context.viewport(0, 0, 16, 16) generated expected GL error: NO_ERROR.
-
-Set up a program to test invalid characters
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.NO_ERROR
-PASS context.getProgramParameter(program, context.LINK_STATUS) is true
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.NO_ERROR
-
-Test shaderSource() with invalid characters
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.NO_ERROR
-PASS context.getError() is context.INVALID_VALUE
-
-Test bindAttribLocation() with invalid characters
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-
-Test getAttribLocation() with invalid characters
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-
-Test getUniformLocation() with invalid characters
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-PASS context.getError() is context.INVALID_VALUE
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params.html
deleted file mode 100644
index 022aea0..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/invalid-passed-params.html
+++ /dev/null
@@ -1,164 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/desktop-gl-constants.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Test for invalid passed parameters");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = create3DContext();
-
-debug("");
-debug("Test createShader()");
-shouldGenerateGLError(context, context.NO_ERROR, "context.createShader(context.FRAGMENT_SHADER)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.createShader(context.VERTEX_SHADER)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.createShader(0)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.createShader(context.TRIANGLES)");
-
-debug("");
-debug("Test clear()");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.clear(desktopGL['ACCUM_BUFFER_BIT'])");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.clear(desktopGL['ACCUM_BUFFER_BIT'] | context.COLOR_BUFFER_BIT)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.clear(desktopGL['ACCUM_BUFFER_BIT'] | context.COLOR_BUFFER_BIT | context.DEPTH_BUFFER_BIT | context.STENCIL_BUFFER_BIT)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.clear(context.COLOR_BUFFER_BIT | context.DEPTH_BUFFER_BIT | context.STENCIL_BUFFER_BIT)");
-
-debug("");
-debug("Test bufferData()");
-var buffer = context.createBuffer();
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindBuffer(context.ARRAY_BUFFER, buffer)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferData(context.ARRAY_BUFFER, 16, context.STREAM_DRAW)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferData(context.ARRAY_BUFFER, 16, context.STATIC_DRAW)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferData(context.ARRAY_BUFFER, 16, context.DYNAMIC_DRAW)");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STREAM_READ'])");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STREAM_COPY'])");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STATIC_READ'])");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['STATIC_COPY'])");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['DYNAMIC_READ'])");
-shouldGenerateGLError(context, context.INVALID_ENUM, "context.bufferData(context.ARRAY_BUFFER, 16, desktopGL['DYNAMIC_COPY'])");
-
-debug("");
-debug("Test {copy}Tex{Sub}Image2D with negative offset/width/height");
-var tex = context.createTexture();
-var pixels = new Uint8Array(2 * 2 * 4);
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindTexture(context.TEXTURE_2D, tex)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, -16, -16, 0, context.RGBA, context.UNSIGNED_BYTE, null)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 16, 16, 0, context.RGBA, context.UNSIGNED_BYTE, null)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.texSubImage2D(context.TEXTURE_2D, 0, -1, -1, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, -1, -1, context.RGBA, context.UNSIGNED_BYTE, pixels)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.texSubImage2D(context.TEXTURE_2D, 0, 0, 0, 2, 2, context.RGBA, context.UNSIGNED_BYTE, pixels)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, -1, -1, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 16, 16, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.copyTexSubImage2D(context.TEXTURE_2D, 0, -1, -1, 0, 0, 2, 2)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, -1, -1)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 2, 2)");
-
-debug("");
-debug("Test renderbufferStorage() with negative width/height");
-var renderbuffer = context.createRenderbuffer();
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindRenderbuffer(context.RENDERBUFFER, renderbuffer)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, -2, -2)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.renderbufferStorage(context.RENDERBUFFER, context.RGBA4, 16, 16)");
-
-debug("");
-debug("Test scissor() with negative width/height");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.scissor(0, 0, -2, -2)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.scissor(0, 0, 16, 16)");
-
-debug("");
-debug("Test viewport() with negative width/height");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.viewport(0, 0, -2, -2)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.viewport(0, 0, 16, 16)");
-
-debug("");
-debug("Set up a program to test invalid characters");
-var invalidSet = ['"', '$', '`', '@', '\\', "'"];
-var validUniformName = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_1234567890";
-var validAttribName = "abcdefghijklmnopqrstuvwxyz_ABCDEFGHIJKLMNOPQRSTUVWXYZ1234567890";
-function generateShaderSource(opt_invalidIdentifierChar, opt_invalidCommentChar) {
- var invalidIdentifierString = "";
- var invalidCommentString = "";
- if (opt_invalidIdentifierChar != undefined) {
- invalidIdentifierString += opt_invalidIdentifierChar;
- }
- if (opt_invalidCommentChar != undefined) {
- invalidCommentString += opt_invalidCommentChar;
- }
- return "uniform float " + validUniformName + invalidIdentifierString + ";\n"
- + "varying float " + validAttribName + ";\n"
- + "void main() {\n"
- + validAttribName + " = " + validUniformName + ";\n"
- + "gl_Position = vec4(0.0, 0.0, 0.0, 1.0); }\n";
- + "//.+-/*%<>[](){}^|&~=!:;,?# " + invalidCommentString;
-}
-var vShader = context.createShader(context.VERTEX_SHADER);
-context.shaderSource(vShader, generateShaderSource());
-context.compileShader(vShader);
-shouldBe("context.getError()", "context.NO_ERROR");
-var fShader = context.createShader(context.FRAGMENT_SHADER);
-context.shaderSource(fShader, "precision highp float;\n"
- + "varying float " + validAttribName + ";\n"
- + "void main() {\n"
- + "gl_FragColor = vec4(" + validAttribName + ", 0.0, 0.0, 1.0); }");
-context.compileShader(fShader);
-shouldBe("context.getError()", "context.NO_ERROR");
-var program = context.createProgram();
-context.attachShader(program, vShader);
-context.attachShader(program, fShader);
-context.linkProgram(program);
-shouldBeTrue("context.getProgramParameter(program, context.LINK_STATUS)");
-shouldBe("context.getError()", "context.NO_ERROR");
-context.bindAttribLocation(program, 1, validAttribName);
-shouldBe("context.getError()", "context.NO_ERROR");
-context.getAttribLocation(program, validAttribName);
-shouldBe("context.getError()", "context.NO_ERROR");
-context.getUniformLocation(program, validUniformName);
-shouldBe("context.getError()", "context.NO_ERROR");
-
-debug("");
-debug("Test shaderSource() with invalid characters");
-for (var i = 0; i < invalidSet.length; ++i) {
- var validShaderSource = generateShaderSource(undefined, invalidSet[i]);
- context.shaderSource(vShader, validShaderSource);
- shouldBe("context.getError()", "context.NO_ERROR");
- var invalidShaderSource = generateShaderSource(invalidSet[i], undefined);
- context.shaderSource(vShader, invalidShaderSource);
- shouldBe("context.getError()", "context.INVALID_VALUE");
-}
-
-debug("");
-debug("Test bindAttribLocation() with invalid characters");
-for (var i = 0; i < invalidSet.length; ++i) {
- var invalidName = validAttribName + invalidSet[i];
- context.bindAttribLocation(program, 1, invalidName);
- shouldBe("context.getError()", "context.INVALID_VALUE");
-}
-
-debug("");
-debug("Test getAttribLocation() with invalid characters");
-for (var i = 0; i < invalidSet.length; ++i) {
- var invalidName = validAttribName + invalidSet[i];
- context.getAttribLocation(program, invalidName);
- shouldBe("context.getError()", "context.INVALID_VALUE");
-}
-
-debug("");
-debug("Test getUniformLocation() with invalid characters");
-for (var i = 0; i < invalidSet.length; ++i) {
- var invalidName = validUniformName + invalidSet[i];
- context.getUniformLocation(program, invalidName);
- shouldBe("context.getError()", "context.INVALID_VALUE");
-}
-
-debug("")
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object-expected.txt
deleted file mode 100644
index 1f7e292..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object-expected.txt
+++ /dev/null
@@ -1,38 +0,0 @@
-Tests 'is' calls against non-bound and deleted objects
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS buffer = gl.createBuffer() was expected value: NO_ERROR.
-PASS gl.isBuffer(buffer) is false
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, buffer) was expected value: NO_ERROR.
-PASS gl.isBuffer(buffer) is true
-
-PASS framebuffer = gl.createFramebuffer() was expected value: NO_ERROR.
-PASS gl.isFramebuffer(framebuffer) is false
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer) was expected value: NO_ERROR.
-PASS gl.isFramebuffer(framebuffer) is true
-
-PASS renderbuffer = gl.createRenderbuffer() was expected value: NO_ERROR.
-PASS gl.isRenderbuffer(renderbuffer) is false
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer) was expected value: NO_ERROR.
-PASS gl.isRenderbuffer(renderbuffer) is true
-
-PASS texture = gl.createTexture() was expected value: NO_ERROR.
-PASS gl.isTexture(texture) is false
-PASS gl.bindTexture(gl.TEXTURE_2D, texture) was expected value: NO_ERROR.
-PASS gl.isTexture(texture) is true
-
-PASS program = gl.createProgram() was expected value: NO_ERROR.
-PASS gl.isProgram(program) is true
-PASS gl.deleteProgram(program) was expected value: NO_ERROR.
-PASS gl.isProgram(program) is false
-
-PASS shader = gl.createShader(gl.VERTEX_SHADER) was expected value: NO_ERROR.
-PASS gl.isShader(shader) is true
-PASS gl.deleteShader(shader) was expected value: NO_ERROR.
-PASS gl.isShader(shader) is false
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object.html
deleted file mode 100644
index 35c4f87..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/is-object.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas">
-<script>
-var wtu;
-var canvas;
-var gl;
-var shouldGenerateGLError;
-
-var buffer;
-var framebuffer;
-var program;
-var renderbuffer;
-var shader;
-var texture;
-
-description("Tests 'is' calls against non-bound and deleted objects");
-
-wtu = WebGLTestUtils;
-canvas = document.getElementById("canvas");
-gl = wtu.create3DContext(canvas);
-shouldGenerateGLError = wtu.shouldGenerateGLError;
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "buffer = gl.createBuffer()");
-shouldBeFalse("gl.isBuffer(buffer)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, buffer)");
-shouldBeTrue("gl.isBuffer(buffer)");
-debug("");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "framebuffer = gl.createFramebuffer()");
-shouldBeFalse("gl.isFramebuffer(framebuffer)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, framebuffer)");
-shouldBeTrue("gl.isFramebuffer(framebuffer)");
-debug("");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "renderbuffer = gl.createRenderbuffer()");
-shouldBeFalse("gl.isRenderbuffer(renderbuffer)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, renderbuffer)");
-shouldBeTrue("gl.isRenderbuffer(renderbuffer)");
-debug("");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "texture = gl.createTexture()");
-shouldBeFalse("gl.isTexture(texture)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, texture)");
-shouldBeTrue("gl.isTexture(texture)");
-debug("");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "program = gl.createProgram()");
-shouldBeTrue("gl.isProgram(program)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteProgram(program)");
-shouldBeFalse("gl.isProgram(program)");
-debug("");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "shader = gl.createShader(gl.VERTEX_SHADER)");
-shouldBeTrue("gl.isShader(shader)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteShader(shader)");
-shouldBeFalse("gl.isShader(shader)");
-debug("");
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour-expected.txt
deleted file mode 100644
index 14667a3..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour-expected.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests calling WebGL APIs without providing the necessary objects
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS Program Compiled
-PASS Shader Compiled
-PASS context.compileShader(undefined) was expected value: INVALID_VALUE.
-PASS context.linkProgram(undefined) was expected value: INVALID_VALUE.
-PASS context.attachShader(undefined, undefined) was expected value: INVALID_VALUE.
-PASS context.attachShader(program, undefined) was expected value: INVALID_VALUE.
-PASS context.attachShader(undefined, shader) was expected value: INVALID_VALUE.
-PASS context.detachShader(program, undefined) was expected value: INVALID_VALUE.
-PASS context.detachShader(undefined, shader) was expected value: INVALID_VALUE.
-PASS context.shaderSource(undefined, undefined) was expected value: INVALID_VALUE.
-PASS context.shaderSource(undefined, 'foo') was expected value: INVALID_VALUE.
-PASS context.bindAttribLocation(undefined, 0, 'foo') was expected value: INVALID_VALUE.
-PASS context.bindBuffer(context.ARRAY_BUFFER, 0) threw exception TypeError: Failed to execute 'bindBuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLBuffer'..
-PASS context.bindFramebuffer(context.FRAMEBUFFER, 0) threw exception TypeError: Failed to execute 'bindFramebuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLFramebuffer'..
-PASS context.bindRenderbuffer(context.RENDERBUFFER, 0) threw exception TypeError: Failed to execute 'bindRenderbuffer' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLRenderbuffer'..
-PASS context.bindTexture(context.TEXTURE_2D, 0) threw exception TypeError: Failed to execute 'bindTexture' on 'WebGLRenderingContext': parameter 2 is not of type 'WebGLTexture'..
-PASS context.bindBuffer(context.ARRAY_BUFFER, null) was expected value: NO_ERROR.
-PASS context.bindFramebuffer(context.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS context.bindRenderbuffer(context.RENDERBUFFER, null) was expected value: NO_ERROR.
-PASS context.bindTexture(context.TEXTURE_2D, null) was expected value: NO_ERROR.
-PASS context.bindBuffer(context.ARRAY_BUFFER, undefined) was expected value: NO_ERROR.
-PASS context.bindFramebuffer(context.FRAMEBUFFER, undefined) was expected value: NO_ERROR.
-PASS context.bindRenderbuffer(context.RENDERBUFFER, undefined) was expected value: NO_ERROR.
-PASS context.bindTexture(context.TEXTURE_2D, undefined) was expected value: NO_ERROR.
-PASS context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, null) was expected value: INVALID_OPERATION.
-PASS context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, null, 0) was expected value: INVALID_OPERATION.
-PASS context.getProgramParameter(undefined, 0) was expected value: INVALID_VALUE.
-PASS context.getProgramInfoLog(undefined, 0) was expected value: INVALID_VALUE.
-PASS context.getShaderParameter(undefined, 0) was expected value: INVALID_VALUE.
-PASS context.getShaderInfoLog(undefined, 0) was expected value: INVALID_VALUE.
-PASS context.getShaderSource(undefined) was expected value: INVALID_VALUE.
-PASS context.getUniform(undefined, null) was expected value: INVALID_VALUE.
-PASS context.getUniformLocation(undefined, 'foo') was expected value: INVALID_VALUE.
-
-check with bindings
-PASS context.bufferData(context.ARRAY_BUFFER, 1, context.STATIC_DRAW) was expected value: NO_ERROR.
-PASS context.getBufferParameter(context.ARRAY_BUFFER, context.BUFFER_SIZE) was expected value: NO_ERROR.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 1, 1, 0, context.RGBA, context.UNSIGNED_BYTE, new Uint8Array([0,0,0,0])) was expected value: NO_ERROR.
-PASS context.texParameteri(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER, context.NEAREST) was expected value: NO_ERROR.
-PASS context.getTexParameter(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER) was expected value: NO_ERROR.
-
-check without bindings
-PASS context.bufferData(context.ARRAY_BUFFER, 1, context.STATIC_DRAW) was expected value: INVALID_OPERATION.
-PASS context.getBufferParameter(context.ARRAY_BUFFER, context.BUFFER_SIZE) was expected value: INVALID_OPERATION.
-PASS context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 1, 1, 0, context.RGBA, context.UNSIGNED_BYTE, new Uint8Array([0,0,0,0])) was expected value: INVALID_OPERATION.
-PASS context.texParameteri(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER, context.NEAREST) was expected value: INVALID_OPERATION.
-PASS context.getTexParameter(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER) was expected value: INVALID_OPERATION.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour.html
deleted file mode 100644
index 137fdf9..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-object-behaviour.html
+++ /dev/null
@@ -1,79 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-var wtu = WebGLTestUtils;
-description("Tests calling WebGL APIs without providing the necessary objects");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = wtu.create3DContext();
-var program = wtu.loadStandardProgram(context);
-var shader = wtu.loadStandardVertexShader(context);
-var shouldGenerateGLError = wtu.shouldGenerateGLError;
-
-assertMsg(program != null, "Program Compiled");
-assertMsg(shader != null, "Shader Compiled");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.compileShader(undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.linkProgram(undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.attachShader(undefined, undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.attachShader(program, undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.attachShader(undefined, shader)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.detachShader(program, undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.detachShader(undefined, shader)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.shaderSource(undefined, undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.shaderSource(undefined, 'foo')");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.bindAttribLocation(undefined, 0, 'foo')");
-shouldThrow("context.bindBuffer(context.ARRAY_BUFFER, 0)");
-shouldThrow("context.bindFramebuffer(context.FRAMEBUFFER, 0)");
-shouldThrow("context.bindRenderbuffer(context.RENDERBUFFER, 0)");
-shouldThrow("context.bindTexture(context.TEXTURE_2D, 0)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindBuffer(context.ARRAY_BUFFER, null)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindFramebuffer(context.FRAMEBUFFER, null)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindRenderbuffer(context.RENDERBUFFER, null)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindTexture(context.TEXTURE_2D, null)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindBuffer(context.ARRAY_BUFFER, undefined)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindFramebuffer(context.FRAMEBUFFER, undefined)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindRenderbuffer(context.RENDERBUFFER, undefined)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.bindTexture(context.TEXTURE_2D, undefined)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.framebufferRenderbuffer(context.FRAMEBUFFER, context.DEPTH_ATTACHMENT, context.RENDERBUFFER, null)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.framebufferTexture2D(context.FRAMEBUFFER, context.COLOR_ATTACHMENT0, context.TEXTURE_2D, null, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getProgramParameter(undefined, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getProgramInfoLog(undefined, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getShaderParameter(undefined, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getShaderInfoLog(undefined, 0)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getShaderSource(undefined)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getUniform(undefined, null)");
-shouldGenerateGLError(context, context.INVALID_VALUE, "context.getUniformLocation(undefined, 'foo')");
-
-debug("");
-debug("check with bindings");
-context.bindBuffer(context.ARRAY_BUFFER, context.createBuffer());
-context.bindTexture(context.TEXTURE_2D, context.createTexture());
-shouldGenerateGLError(context, context.NO_ERROR, "context.bufferData(context.ARRAY_BUFFER, 1, context.STATIC_DRAW)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.getBufferParameter(context.ARRAY_BUFFER, context.BUFFER_SIZE)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 1, 1, 0, context.RGBA, context.UNSIGNED_BYTE, new Uint8Array([0,0,0,0]))");
-shouldGenerateGLError(context, context.NO_ERROR, "context.texParameteri(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER, context.NEAREST)");
-shouldGenerateGLError(context, context.NO_ERROR, "context.getTexParameter(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER)");
-
-debug("");
-debug("check without bindings");
-context.bindBuffer(context.ARRAY_BUFFER, null);
-context.bindTexture(context.TEXTURE_2D, null);
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.bufferData(context.ARRAY_BUFFER, 1, context.STATIC_DRAW)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.getBufferParameter(context.ARRAY_BUFFER, context.BUFFER_SIZE)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.texImage2D(context.TEXTURE_2D, 0, context.RGBA, 1, 1, 0, context.RGBA, context.UNSIGNED_BYTE, new Uint8Array([0,0,0,0]))");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.texParameteri(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER, context.NEAREST)");
-shouldGenerateGLError(context, context.INVALID_OPERATION, "context.getTexParameter(context.TEXTURE_2D, context.TEXTURE_MIN_FILTER)");
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location-expected.txt
deleted file mode 100644
index 8c32990..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location-expected.txt
+++ /dev/null
@@ -1,49 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests calling the various uniform[Matrix]* APIs with a null uniform location
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.useProgram(program) is undefined.
-PASS callUniformFunction('uniform1f') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform1fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform1i') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform1iv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform2f') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform2fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform2i') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform2iv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform3f') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform3fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform3i') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform3iv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform4f') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform4fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform4i') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniform4iv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniformMatrix2fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniformMatrix3fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS callUniformFunction('uniformMatrix4fv') is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location.html
deleted file mode 100644
index 09d03bb..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/null-uniform-location.html
+++ /dev/null
@@ -1,65 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Tests calling the various uniform[Matrix]* APIs with a null uniform location");
-
-var gl = create3DContext();
-var program = loadStandardProgram(gl);
-
-shouldBe("gl.getError()", "gl.NO_ERROR");
-shouldBeUndefined("gl.useProgram(program)");
-var floatArray = new Float32Array([1, 2, 3, 4]);
-var intArray = new Int32Array([1, 2, 3, 4]);
-
-function callUniformFunction(name) {
- var isArrayVariant = (name.charAt(name.length - 1) == 'v');
- var isMatrix = (name.indexOf("Matrix") != -1);
- var isFloat =
- (name.charAt(name.length - 1) == 'f' ||
- name.charAt(name.length - 2) == 'f');
- var sizeIndex = (isArrayVariant ? name.length - 3 : name.length - 2);
- var size = parseInt(name.substring(sizeIndex, sizeIndex + 1));
- // Initialize argument list with null uniform location
- var args = [ null ];
- if (isArrayVariant) {
- // Call variant which takes values as array
- if (isMatrix) {
- size = size * size;
- args.push(false);
- }
- var array = (isFloat ? new Float32Array(size) : new Int32Array(size));
- for (var i = 0; i < size; i++) {
- array[i] = i;
- }
- args.push(array);
- } else {
- // Call variant which takes values as parameters
- for (var i = 0; i < size; i++) {
- args.push(i);
- }
- }
- var func = gl[name];
- return func.apply(gl, args);
-}
-
-var funcs = [ "uniform1f", "uniform1fv", "uniform1i", "uniform1iv",
- "uniform2f", "uniform2fv", "uniform2i", "uniform2iv",
- "uniform3f", "uniform3fv", "uniform3i", "uniform3iv",
- "uniform4f", "uniform4fv", "uniform4i", "uniform4iv",
- "uniformMatrix2fv", "uniformMatrix3fv", "uniformMatrix4fv" ];
-for (var i = 0; i < funcs.length; i++) {
- callString = "callUniformFunction('" + funcs[i] + "')";
- shouldBeUndefined(callString);
- shouldBe("gl.getError()", "gl.NO_ERROR");
-}
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour-expected.txt
deleted file mode 100644
index bd2fa44..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour-expected.txt
+++ /dev/null
@@ -1,323 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests deletion behavior for texture, renderbuffer, shader, and program
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-shader and program deletion
-PASS vertex shader loaded
-PASS fragment shader loaded
-PASS program is non-null.
-PASS gl.attachShader(program, vertexShader) was expected value: NO_ERROR.
-PASS gl.attachShader(program, fragmentShader) was expected value: NO_ERROR.
-PASS gl.linkProgram(program) was expected value: NO_ERROR.
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
-PASS gl.useProgram(program) was expected value: NO_ERROR.
-PASS gl.deleteShader(vertexShader) was expected value: NO_ERROR.
-PASS gl.isShader(vertexShader) is true
-PASS gl.getShaderParameter(vertexShader, gl.DELETE_STATUS) is true
-PASS gl.detachShader(program, vertexShader) was expected value: NO_ERROR.
-PASS gl.isShader(vertexShader) is false
-PASS gl.deleteShader(fragmentShader) was expected value: NO_ERROR.
-PASS gl.isShader(fragmentShader) is true
-PASS gl.getShaderParameter(fragmentShader, gl.DELETE_STATUS) is true
-PASS gl.deleteProgram(program) was expected value: NO_ERROR.
-PASS gl.isProgram(program) is true
-PASS gl.getProgramParameter(program, gl.DELETE_STATUS) is true
-PASS gl.useProgram(null) was expected value: NO_ERROR.
-PASS gl.isProgram(program) is false
-PASS gl.isShader(fragmentShader) is false
-
-texture deletion
-PASS fbo is non-null.
-PASS fbo2 is non-null.
-PASS fbo3 is non-null.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS tex is non-null.
-PASS gl.bindTexture(gl.TEXTURE_2D, tex) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is tex
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is tex
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.TEXTURE
-PASS gl.deleteTexture(tex) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.NONE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) was expected value: INVALID_ENUM.
-PASS gl.isTexture(tex) is false
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is null
-PASS gl.bindTexture(gl.TEXTURE_2D, tex) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is null
-PASS texCubeMap is non-null.
-PASS gl.bindTexture(gl.TEXTURE_CUBE_MAP, texCubeMap) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP) is texCubeMap
-PASS gl.deleteTexture(texCubeMap) was expected value: NO_ERROR.
-PASS gl.isTexture(texCubeMap) is false
-PASS gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP) is null
-PASS gl.bindTexture(gl.TEXTURE_CUBE_MAP, texCubeMap) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP) is null
-PASS t is non-null.
-PASS gl.bindTexture(gl.TEXTURE_2D, t) was expected value: NO_ERROR.
-PASS gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE) was expected value: NO_ERROR.
-PASS gl.deleteTexture(t) was expected value: NO_ERROR.
-PASS gl.bindTexture(gl.TEXTURE_2D, t) was expected value: NO_ERROR.
-PASS gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE) was expected value: INVALID_OPERATION.
-PASS t2 is non-null.
-PASS gl.activeTexture(gl.TEXTURE0) was expected value: NO_ERROR.
-PASS gl.bindTexture(gl.TEXTURE_2D, t2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is t2
-PASS gl.activeTexture(gl.TEXTURE1) was expected value: NO_ERROR.
-PASS gl.bindTexture(gl.TEXTURE_2D, t2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is t2
-PASS gl.deleteTexture(t2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is null
-PASS gl.activeTexture(gl.TEXTURE0) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.TEXTURE_BINDING_2D) is null
-
-renderbuffer deletion
-PASS rbo is non-null.
-PASS rbo2 is non-null.
-PASS rbo3 is non-null.
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.RENDERBUFFER_BINDING) is rbo
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is rbo
-PASS gl.deleteRenderbuffer(rbo) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.NONE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) was expected value: INVALID_ENUM.
-PASS gl.isRenderbuffer(rbo) is false
-PASS gl.getParameter(gl.RENDERBUFFER_BINDING) is null
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.RENDERBUFFER_BINDING) is null
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.RENDERBUFFER_BINDING) is rbo2
-PASS gl.deleteRenderbuffer(rbo3) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.RENDERBUFFER_BINDING) is rbo2
-
-using deleted renderbuffer
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS gl.clearColor(1,0,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.clearColor(0,1,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS gl.deleteRenderbuffer(rbo) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS gl.clearColor(0,0,1,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS fbo should be blue
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,0,255,255], "fbo should be blue") was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-
-renderbuffer attached twice to same framebuffer
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo2) was expected value: NO_ERROR.
-PASS gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, rbo2) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.RENDERBUFFER, rbo2) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is rbo2
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is rbo2
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.deleteRenderbuffer(rbo2) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.NONE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) is gl.NONE
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is rbo
-PASS gl.deleteRenderbuffer(rbo) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-
-using deleted texture
-PASS gl.bindTexture(gl.TEXTURE_2D, tex) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.clearColor(0,1,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS gl.deleteTexture(tex) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 1, 1, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS gl.clearColor(0,0,1,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS fbo should be blue
-PASS wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,0,255,255], "fbo should be blue") was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-
-using deleted renderbuffer
-PASS rbo is non-null.
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS gl.clearColor(1,0,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.clearColor(0,1,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.deleteRenderbuffer(rbo) was expected value: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2) was expected value: NO_ERROR.
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS gl.clearColor(0,0,1,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS fbo should be blue
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,0,255,255], "fbo should be blue") was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is rbo
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) was expected value: INVALID_ENUM.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE) was expected value: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-
-using deleted texture
-PASS tex is non-null.
-PASS gl.bindTexture(gl.TEXTURE_2D, tex) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0) was expected value: NO_ERROR.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2) was expected value: NO_ERROR.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.clearColor(0,1,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.deleteTexture(tex) was expected value: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2) was expected value: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS gl.clearColor(0,0,1,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS fbo should be blue
-PASS wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,0,255,255], "fbo should be blue") was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) is tex
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME) was expected value: INVALID_ENUM.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-
-buffer deletion
-PASS buffer is non-null.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, buffer) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ARRAY_BUFFER_BINDING) is buffer
-PASS gl.deleteBuffer(buffer) was expected value: NO_ERROR.
-PASS gl.isBuffer(buffer) is false
-PASS gl.getParameter(gl.ARRAY_BUFFER_BINDING) is null
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, buffer) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ARRAY_BUFFER_BINDING) is null
-PASS buffer2 is non-null.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, buffer2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ARRAY_BUFFER_BINDING) is buffer2
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, null) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ARRAY_BUFFER_BINDING) is null
-PASS gl.deleteBuffer(buffer2) was expected value: NO_ERROR.
-PASS gl.isBuffer(buffer2) is false
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, buffer2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ARRAY_BUFFER_BINDING) is null
-PASS bufferElement is non-null.
-PASS gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, bufferElement) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING) is bufferElement
-PASS gl.deleteBuffer(bufferElement) was expected value: NO_ERROR.
-PASS gl.isBuffer(bufferElement) is false
-PASS gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING) is null
-PASS gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, bufferElement) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING) is null
-PASS b is non-null.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, b) was expected value: NO_ERROR.
-PASS gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) was expected value: NO_ERROR.
-PASS gl.deleteBuffer(b) was expected value: NO_ERROR.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, b) was expected value: NO_ERROR.
-PASS gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW) was expected value: INVALID_OPERATION.
-PASS b1 is non-null.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, b1); was expected value: NO_ERROR.
-PASS gl.enableVertexAttribArray(1); was expected value: NO_ERROR.
-PASS gl.vertexAttribPointer(1, 4, gl.FLOAT, false, 0, 0); was expected value: NO_ERROR.
-PASS b2 is non-null.
-PASS gl.bindBuffer(gl.ARRAY_BUFFER, b2); was expected value: NO_ERROR.
-PASS gl.enableVertexAttribArray(2); was expected value: NO_ERROR.
-PASS gl.vertexAttribPointer(2, 4, gl.FLOAT, false, 0, 0); was expected value: NO_ERROR.
-PASS gl.enableVertexAttribArray(3); was expected value: NO_ERROR.
-PASS gl.vertexAttribPointer(3, 4, gl.FLOAT, false, 0, 0); was expected value: NO_ERROR.
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is b1
-PASS gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is b2
-PASS gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is b2
-PASS gl.deleteBuffer(b2); was expected value: NO_ERROR.
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is b1
-PASS gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is null
-PASS gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is null
-PASS gl.deleteBuffer(b1); was expected value: NO_ERROR.
-PASS gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING) is null
-
-framebuffer deletion
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.FRAMEBUFFER_BINDING) is fbo
-PASS gl.deleteFramebuffer(fbo) was expected value: NO_ERROR.
-PASS gl.isFramebuffer(fbo) is false
-PASS gl.getParameter(gl.FRAMEBUFFER_BINDING) is null
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.FRAMEBUFFER_BINDING) is null
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.FRAMEBUFFER_BINDING) is fbo2
-PASS gl.deleteFramebuffer(fbo3) was expected value: NO_ERROR.
-PASS gl.getParameter(gl.FRAMEBUFFER_BINDING) is fbo2
-PASS fbo is non-null.
-PASS rbo is non-null.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.bindRenderbuffer(gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16) was expected value: NO_ERROR.
-PASS gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS gl.clearColor(1,0,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, fbo) was expected value: NO_ERROR.
-PASS gl.clearColor(0,1,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS outside fbo should be black
-PASS wtu.checkCanvasRect(gl, 16, 16, 1, 1, [0,0,0,0], "outside fbo should be black") was expected value: NO_ERROR.
-PASS gl.deleteFramebuffer(fbo) was expected value: NO_ERROR.
-PASS backbuffer should be red
-PASS wtu.checkCanvasRect(gl, 0, 0, 300, 150, [255,0,0,255], "backbuffer should be red") was expected value: NO_ERROR.
-PASS outside backbuffer should be black
-PASS wtu.checkCanvasRect(gl, 300, 0, 300, 300, [0,0,0,0], "outside backbuffer should be black") was expected value: NO_ERROR.
-PASS outside backbuffer should be black
-PASS wtu.checkCanvasRect(gl, 0, 150, 300, 300, [0,0,0,0], "outside backbuffer should be black") was expected value: NO_ERROR.
-PASS gl.clearColor(0,1,0,1) was expected value: NO_ERROR.
-PASS gl.clear(gl.COLOR_BUFFER_BIT) was expected value: NO_ERROR.
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 300, 150, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS gl.bindFramebuffer(gl.FRAMEBUFFER, null) was expected value: NO_ERROR.
-PASS fbo should be green
-PASS wtu.checkCanvasRect(gl, 0, 0, 300, 150, [0,255,0,255], "fbo should be green") was expected value: NO_ERROR.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour.html
deleted file mode 100644
index f79d269..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/object-deletion-behaviour.html
+++ /dev/null
@@ -1,421 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Tests deletion behavior for texture, renderbuffer, shader, and program");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl = wtu.create3DContext();
-var shouldGenerateGLError = wtu.shouldGenerateGLError;
-
-debug("");
-debug("shader and program deletion");
-
-var vertexShader = wtu.loadStandardVertexShader(gl);
-assertMsg(vertexShader, "vertex shader loaded");
-var fragmentShader = wtu.loadStandardFragmentShader(gl);
-assertMsg(fragmentShader, "fragment shader loaded");
-
-var program = gl.createProgram();
-shouldBeNonNull("program");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.attachShader(program, vertexShader)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.attachShader(program, fragmentShader)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.linkProgram(program)");
-shouldBeTrue("gl.getProgramParameter(program, gl.LINK_STATUS)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.useProgram(program)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteShader(vertexShader)");
-shouldBeTrue("gl.isShader(vertexShader)");
-shouldBeTrue("gl.getShaderParameter(vertexShader, gl.DELETE_STATUS)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.detachShader(program, vertexShader)");
-shouldBeFalse("gl.isShader(vertexShader)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteShader(fragmentShader)");
-shouldBeTrue("gl.isShader(fragmentShader)");
-shouldBeTrue("gl.getShaderParameter(fragmentShader, gl.DELETE_STATUS)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteProgram(program)");
-shouldBeTrue("gl.isProgram(program)");
-shouldBeTrue("gl.getProgramParameter(program, gl.DELETE_STATUS)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.useProgram(null)");
-shouldBeFalse("gl.isProgram(program)");
-shouldBeFalse("gl.isShader(fragmentShader)");
-
-debug("");
-debug("texture deletion");
-
-var fbo = gl.createFramebuffer(), fbo2 = gl.createFramebuffer(), fbo3 = gl.createFramebuffer();
-shouldBeNonNull("fbo");
-shouldBeNonNull("fbo2");
-shouldBeNonNull("fbo3");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-
-var tex = gl.createTexture();
-shouldBeNonNull("tex");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, tex)");
-shouldBe("gl.getParameter(gl.TEXTURE_BINDING_2D)", "tex");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0)");
-shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "tex");
-shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)", "gl.TEXTURE");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteTexture(tex)");
-// Deleting a texture bound to the currently-bound fbo is the same as
-// detaching the textue from fbo first, then delete the texture.
-shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)", "gl.NONE");
-shouldGenerateGLError(gl, gl.INVALID_ENUM, "gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)");
-shouldBeFalse("gl.isTexture(tex)");
-shouldBeNull("gl.getParameter(gl.TEXTURE_BINDING_2D)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, tex)");
-shouldBeNull("gl.getParameter(gl.TEXTURE_BINDING_2D)");
-
-var texCubeMap = gl.createTexture();
-shouldBeNonNull("texCubeMap");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_CUBE_MAP, texCubeMap)");
-shouldBe("gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP)", "texCubeMap");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteTexture(texCubeMap)");
-shouldBeFalse("gl.isTexture(texCubeMap)");
-shouldBeNull("gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_CUBE_MAP, texCubeMap)");
-shouldBeNull("gl.getParameter(gl.TEXTURE_BINDING_CUBE_MAP)");
-
-var t = gl.createTexture();
-shouldBeNonNull("t");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, t)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteTexture(t)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, t)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE)");
-
-var t2 = gl.createTexture();
-shouldBeNonNull("t2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.activeTexture(gl.TEXTURE0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, t2)");
-shouldBe("gl.getParameter(gl.TEXTURE_BINDING_2D)", "t2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.activeTexture(gl.TEXTURE1)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, t2)");
-shouldBe("gl.getParameter(gl.TEXTURE_BINDING_2D)", "t2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteTexture(t2)");
-shouldBeNull("gl.getParameter(gl.TEXTURE_BINDING_2D)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.activeTexture(gl.TEXTURE0)");
-shouldBeNull("gl.getParameter(gl.TEXTURE_BINDING_2D)");
-
-debug("");
-debug("renderbuffer deletion");
-
-var rbo = gl.createRenderbuffer(), rbo2 = gl.createRenderbuffer(), rbo3 = gl.createRenderbuffer();
-shouldBeNonNull("rbo");
-shouldBeNonNull("rbo2");
-shouldBeNonNull("rbo3");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo)");
-shouldBe("gl.getParameter(gl.RENDERBUFFER_BINDING)", "rbo");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo)");
-shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "rbo");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteRenderbuffer(rbo)");
-// Deleting a renderbuffer bound to the currently-bound fbo is the same as
-// detaching the renderbuffer from fbo first, then delete the renderbuffer.
-shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)", "gl.NONE");
-shouldGenerateGLError(gl, gl.INVALID_ENUM, "gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)");
-shouldBeFalse("gl.isRenderbuffer(rbo)");
-shouldBeNull("gl.getParameter(gl.RENDERBUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo)");
-shouldBeNull("gl.getParameter(gl.RENDERBUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo2)");
-shouldBe("gl.getParameter(gl.RENDERBUFFER_BINDING)", "rbo2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteRenderbuffer(rbo3)");
-shouldBe("gl.getParameter(gl.RENDERBUFFER_BINDING)", "rbo2");
-
-debug("");
-debug("using deleted renderbuffer");
-rbo = gl.createRenderbuffer();
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo)");
-if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- // make backbuffer red
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(1,0,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // make fbo green
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,1,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // Bind backbuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- // delete renderbuffer. It should still be attached to fbo though.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteRenderbuffer(rbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red")');
- // Use fbo that has deleted rbo.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,255,0,255], "fbo should be green")');
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,0,1,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,0,255,255], "fbo should be blue")');
- // Bind backbuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red")');
-}
-
-debug("");
-debug("renderbuffer attached twice to same framebuffer");
-rbo = gl.createRenderbuffer();
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo)");
-if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- rbo2 = gl.createRenderbuffer();
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo2)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16)");
- // attach rbo2 at two attachment points incompatible with it
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.RENDERBUFFER, rbo2)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.RENDERBUFFER, rbo2)");
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "rbo2");
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "rbo2");
- // fbo can't be complete as rbo2 is attached at incompatible attachment points
- shouldNotBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- // now we delete rbo2, which detaches it from the two attachment points where it currently is attached
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteRenderbuffer(rbo2)");
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)", "gl.NONE");
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.STENCIL_ATTACHMENT, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)", "gl.NONE");
- // we should now be in the same state as before with only rbo attached, so fbo should be complete again
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "rbo");
-}
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteRenderbuffer(rbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
-
-
-
-debug("");
-debug("using deleted texture");
-tex = gl.createTexture();
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, tex)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null)");
-if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- // make fbo green
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,1,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // Bind backbuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- // delete texture. It should still be attached to fbo though.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteTexture(tex)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 1, 1, [255,0,0,255], "backbuffer should be red")');
- // Use fbo that has deleted texture.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,255,0,255], "fbo should be green")');
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,0,1,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,0,255,255], "fbo should be blue")');
- // Bind backbuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red")');
-}
-
-debug("");
-debug("using deleted renderbuffer");
-rbo = gl.createRenderbuffer();
-shouldBeNonNull("rbo");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo)");
-if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo)");
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- // make backbuffer red
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(1,0,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // make fbo green
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,1,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // delete renderbuffer. It should still be attached to fbo2 though.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteRenderbuffer(rbo)");
- // fbo has no attachments
- shouldNotBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- // Use fbo2 that has deleted rbo.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,255,0,255], "fbo should be green")');
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,0,1,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,0,255,255], "fbo should be blue")');
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "rbo");
-
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.INVALID_ENUM, "gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)");
- shouldGenerateGLError(gl, gl.NONE, "gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_TYPE)");
- shouldNotBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- // Bind backbuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red")');
-}
-
-debug("");
-debug("using deleted texture");
-tex = gl.createTexture();
-shouldBeNonNull("tex");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindTexture(gl.TEXTURE_2D, tex)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, null)");
-if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, tex, 0)");
- // make fbo green
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,1,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // delete texture. It should still be attached to fbo2 though.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteTexture(tex)");
- // fbo has no attachments
- shouldNotBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- // Use fbo that has deleted texture.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2)");
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,255,0,255], "fbo should be green")');
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,0,1,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 1, 1, [0,0,255,255], "fbo should be blue")');
- shouldBe("gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)", "tex");
-
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.INVALID_ENUM, "gl.getFramebufferAttachmentParameter(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.FRAMEBUFFER_ATTACHMENT_OBJECT_NAME)");
- shouldNotBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
- // Bind backbuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [255,0,0,255], "backbuffer should be red")');
-}
-
-debug("");
-debug("buffer deletion");
-
-var buffer = gl.createBuffer();
-shouldBeNonNull("buffer");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, buffer)");
-shouldBe("gl.getParameter(gl.ARRAY_BUFFER_BINDING)", "buffer");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteBuffer(buffer)");
-shouldBeFalse("gl.isBuffer(buffer)");
-shouldBeNull("gl.getParameter(gl.ARRAY_BUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, buffer)");
-shouldBeNull("gl.getParameter(gl.ARRAY_BUFFER_BINDING)");
-
-var buffer2 = gl.createBuffer();
-shouldBeNonNull("buffer2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, buffer2)");
-shouldBe("gl.getParameter(gl.ARRAY_BUFFER_BINDING)", "buffer2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, null)");
-shouldBeNull("gl.getParameter(gl.ARRAY_BUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteBuffer(buffer2)");
-shouldBeFalse("gl.isBuffer(buffer2)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, buffer2)");
-shouldBeNull("gl.getParameter(gl.ARRAY_BUFFER_BINDING)");
-
-var bufferElement = gl.createBuffer();
-shouldBeNonNull("bufferElement");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, bufferElement)");
-shouldBe("gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING)", "bufferElement");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteBuffer(bufferElement)");
-shouldBeFalse("gl.isBuffer(bufferElement)");
-shouldBeNull("gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, bufferElement)");
-shouldBeNull("gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING)");
-
-var b = gl.createBuffer();
-shouldBeNonNull("b");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, b)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteBuffer(b)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, b)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.bufferData(gl.ARRAY_BUFFER, 1, gl.STATIC_DRAW)");
-
-var b1 = gl.createBuffer();
-shouldBeNonNull("b1");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, b1);");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.enableVertexAttribArray(1);");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.vertexAttribPointer(1, 4, gl.FLOAT, false, 0, 0);");
-var b2 = gl.createBuffer();
-shouldBeNonNull("b2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindBuffer(gl.ARRAY_BUFFER, b2);");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.enableVertexAttribArray(2);");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.vertexAttribPointer(2, 4, gl.FLOAT, false, 0, 0);");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.enableVertexAttribArray(3);");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.vertexAttribPointer(3, 4, gl.FLOAT, false, 0, 0);");
-shouldBe("gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)", "b1");
-shouldBe("gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)", "b2");
-shouldBe("gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)", "b2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteBuffer(b2);");
-shouldBe("gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)", "b1");
-shouldBeNull("gl.getVertexAttrib(2, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)");
-shouldBeNull("gl.getVertexAttrib(3, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteBuffer(b1);");
-shouldBeNull("gl.getVertexAttrib(1, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING)");
-
-debug("");
-debug("framebuffer deletion");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldBe("gl.getParameter(gl.FRAMEBUFFER_BINDING)", "fbo");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteFramebuffer(fbo)");
-shouldBeFalse("gl.isFramebuffer(fbo)");
-shouldBeNull("gl.getParameter(gl.FRAMEBUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldBeNull("gl.getParameter(gl.FRAMEBUFFER_BINDING)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo2)");
-shouldBe("gl.getParameter(gl.FRAMEBUFFER_BINDING)", "fbo2");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteFramebuffer(fbo3)");
-shouldBe("gl.getParameter(gl.FRAMEBUFFER_BINDING)", "fbo2");
-
-fbo = gl.createFramebuffer();
-rbo = gl.createRenderbuffer();
-shouldBeNonNull("fbo");
-shouldBeNonNull("rbo");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindRenderbuffer(gl.RENDERBUFFER, rbo)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, 16, 16)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo)");
-if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) == gl.FRAMEBUFFER_COMPLETE) {
- // set backbuffer to red
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(1,0,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // set framebuffer to green
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, fbo)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,1,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- // check framebuffer
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 16, 16, [0,255,0,255], "fbo should be green")');
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 16, 16, 1, 1, [0,0,0,0], "outside fbo should be black")');
- // delete framebuffer. because this was the bound fbo the backbuffer should be active now
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.deleteFramebuffer(fbo)");
- // check backbuffer
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 300, 150, [255,0,0,255], "backbuffer should be red")');
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 300, 0, 300, 300, [0,0,0,0], "outside backbuffer should be black")');
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 150, 300, 300, [0,0,0,0], "outside backbuffer should be black")');
- // check drawing to backbuffer
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clearColor(0,1,0,1)");
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.clear(gl.COLOR_BUFFER_BIT)");
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 300, 150, [0,255,0,255], "fbo should be green")');
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.bindFramebuffer(gl.FRAMEBUFFER, null)");
- // check again because many buggy implementations will have bound to the true backbuffer on deleteFramebuffer.
- shouldGenerateGLError(gl, gl.NO_ERROR, 'wtu.checkCanvasRect(gl, 0, 0, 300, 150, [0,255,0,255], "fbo should be green")');
-}
-
-successfullyParsed = true;
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint-expected.txt
deleted file mode 100644
index 6db53ac..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint-expected.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests that index validation for drawElements does not examine too many indices
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS WebGL context exists
-PASS Successfully enabled OES_element_index_uint extension
-PASS OES_element_index_uint listed as supported and getExtension succeeded
-Test that draws with unsigned integer indices produce the expected results
-PASS Draw 0 passed pixel test
-Testing with valid indices
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0) is undefined.
-PASS getError was expected value: NO_ERROR :
-Testing with out-of-range indices
-Enable vertices, valid
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0) is undefined.
-PASS getError was expected value: NO_ERROR :
-Enable normals, out-of-range
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0) is undefined.
-PASS getError was expected value: INVALID_OPERATION :
-Test with enabled attribute that does not belong to current program
-Enable an extra attribute with null
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0) is undefined.
-PASS getError was expected value: INVALID_OPERATION :
-Enable an extra attribute with insufficient data buffer
-PASS getError was expected value: NO_ERROR :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0) is undefined.
-Pass large negative index to vertexAttribPointer
-PASS getError was expected value: INVALID_VALUE :
-PASS gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0) is undefined.
-Test that client data is always copied during bufferData and bufferSubData calls
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4) generated expected GL error: NO_ERROR.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0) generated expected GL error: INVALID_OPERATION.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8) generated expected GL error: INVALID_OPERATION.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4) generated expected GL error: NO_ERROR.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0) generated expected GL error: INVALID_OPERATION.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8) generated expected GL error: INVALID_OPERATION.
-Test that updating the size of a vertex buffer is properly noticed by the WebGL implementation.
-PASS getError was expected value: NO_ERROR : after initialization
-PASS getError was expected value: NO_ERROR : after vertex setup
-PASS getError was expected value: NO_ERROR : after texture coord setup
-PASS getError was expected value: NO_ERROR : after vertex redefinition
-PASS getError was expected value: NO_ERROR : after texture coordinate / color redefinition
-PASS getError was expected value: NO_ERROR : after setting up indices
-PASS getError was expected value: NO_ERROR : after drawing
-Test out of range indices
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4) generated expected GL error: NO_ERROR.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0) generated expected GL error: INVALID_OPERATION.
-PASS gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8) generated expected GL error: INVALID_OPERATION.
-Verifies that the index validation code which is within bufferSubData does not crash.
-PASS getError was expected value: INVALID_VALUE : after attempting to update a buffer outside of the allocated bounds
-PASS bufferSubData, when buffer object was initialized with null, did not crash
-PASS getError was expected value: NO_ERROR : there should be no errors
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint.html
deleted file mode 100644
index 1cbf42c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-element-index-uint.html
+++ /dev/null
@@ -1,421 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL OES_element_index_uint Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<canvas id="canvas" style="width: 50px; height: 50px;"> </canvas>
-<div id="console"></div>
-<script id="vs" type="x-shader/x-vertex">
-attribute vec4 vPosition;
-attribute vec4 vColor;
-varying vec4 color;
-void main() {
- gl_Position = vPosition;
- color = vColor;
-}
-</script>
-<script id="fs" type="x-shader/x-fragment">
-#if defined(GL_ES)
-precision mediump float;
-#endif
-varying vec4 color;
-void main() {
- gl_FragColor = color;
-}
-</script>
-<script>
-description("This test verifies the functionality of the OES_element_index_uint extension, if it is available.");
-
-debug("");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("canvas");
-var gl = create3DContext(canvas);
-var ext = null;
-var vao = null;
-
-if (!gl) {
- testFailed("WebGL context does not exist");
-} else {
- testPassed("WebGL context exists");
-
- // Query the extension and store globally so shouldBe can access it
- ext = gl.getExtension("OES_element_index_uint");
- if (!ext) {
- testPassed("No OES_element_index_uint support -- this is legal");
-
- runSupportedTest(false);
- } else {
- testPassed("Successfully enabled OES_element_index_uint extension");
-
- runSupportedTest(true);
- runDrawTests();
-
- // These tests are tweaked duplicates of the buffers/index-validation* tests
- // using unsigned int indices to ensure that behavior remains consistent
- runIndexValidationTests();
- runCopiesIndicesTests();
- runResizedBufferTests();
- runVerifiesTooManyIndicesTests();
- runCrashWithBufferSubDataTests();
-
- glErrorShouldBe(gl, gl.NO_ERROR, "there should be no errors");
- }
-}
-
-function runSupportedTest(extensionEnabled) {
- var supported = gl.getSupportedExtensions();
- if (supported.indexOf("OES_element_index_uint") >= 0) {
- if (extensionEnabled) {
- testPassed("OES_element_index_uint listed as supported and getExtension succeeded");
- } else {
- testFailed("OES_element_index_uint listed as supported but getExtension failed");
- }
- } else {
- if (extensionEnabled) {
- testFailed("OES_element_index_uint not listed as supported but getExtension succeeded");
- } else {
- testPassed("OES_element_index_uint not listed as supported and getExtension failed -- this is legal");
- }
- }
-}
-
-function runDrawTests() {
- debug("Test that draws with unsigned integer indices produce the expected results");
-
- canvas.width = 50; canvas.height = 50;
- gl.viewport(0, 0, canvas.width, canvas.height);
-
- var program = wtu.setupSimpleTextureProgram(gl);
-
- function setupDraw(s) {
- // Create a vertex buffer that cannot be fully indexed via shorts
- var quadArrayLen = 65537 * 3;
- var quadArray = new Float32Array(quadArrayLen);
-
- // Leave all but the last 4 values zero-ed out
- var idx = quadArrayLen - 12;
-
- // Initialized the last 4 values to a quad
- quadArray[idx++] = 1.0 * s;
- quadArray[idx++] = 1.0 * s;
- quadArray[idx++] = 0.0;
-
- quadArray[idx++] = -1.0 * s;
- quadArray[idx++] = 1.0 * s;
- quadArray[idx++] = 0.0;
-
- quadArray[idx++] = -1.0 * s;
- quadArray[idx++] = -1.0 * s;
- quadArray[idx++] = 0.0;
-
- quadArray[idx++] = 1.0 * s;
- quadArray[idx++] = -1.0 * s;
- quadArray[idx++] = 0.0;
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, quadArray, gl.STATIC_DRAW);
-
- // Create an unsigned int index buffer that indexes the last 4 vertices
- var baseIndex = (quadArrayLen / 3) - 4;
-
- var indexObject = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexObject);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint32Array([
- baseIndex + 0,
- baseIndex + 1,
- baseIndex + 2,
- baseIndex + 2,
- baseIndex + 3,
- baseIndex + 0]), gl.STATIC_DRAW);
-
- var opt_positionLocation = 0;
- gl.enableVertexAttribArray(opt_positionLocation);
- gl.vertexAttribPointer(opt_positionLocation, 3, gl.FLOAT, false, 0, 0);
- };
- function readLocation(x, y) {
- var pixels = new Uint8Array(1 * 1 * 4);
- gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
- return pixels;
- };
- function testPixel(blackList, whiteList) {
- function testList(list, expected) {
- for (var n = 0; n < list.length; n++) {
- var l = list[n];
- var x = -Math.floor(l * canvas.width / 2) + canvas.width / 2;
- var y = -Math.floor(l * canvas.height / 2) + canvas.height / 2;
- var source = readLocation(x, y);
- if (Math.abs(source[0] - expected) > 2) {
- return false;
- }
- }
- return true;
- }
- return testList(blackList, 0) && testList(whiteList, 255);
- };
- function verifyDraw(drawNumber, s) {
- gl.clearColor(1.0, 1.0, 1.0, 1.0);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_INT, 0);
-
- var blackList = [];
- var whiteList = [];
- var points = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0];
- for (var n = 0; n < points.length; n++) {
- if (points[n] <= s) {
- blackList.push(points[n]);
- } else {
- whiteList.push(points[n]);
- }
- }
- if (testPixel(blackList, whiteList)) {
- testPassed("Draw " + drawNumber + " passed pixel test");
- } else {
- testFailed("Draw " + drawNumber + " failed pixel test");
- }
- };
-
- setupDraw(0.5);
- verifyDraw(0, 0.5);
-}
-
-function runIndexValidationTests() {
- description("Tests that index validation verifies the correct number of indices");
-
- function sizeInBytes(type) {
- switch (type) {
- case gl.BYTE:
- case gl.UNSIGNED_BYTE:
- return 1;
- case gl.SHORT:
- case gl.UNSIGNED_SHORT:
- return 2;
- case gl.INT:
- case gl.UNSIGNED_INT:
- case gl.FLOAT:
- return 4;
- default:
- throw "unknown type";
- }
- }
-
- var program = loadStandardProgram(gl);
-
- // 3 vertices => 1 triangle, interleaved data
- var dataComplete = new Float32Array([0, 0, 0, 1,
- 0, 0, 1,
- 1, 0, 0, 1,
- 0, 0, 1,
- 1, 1, 1, 1,
- 0, 0, 1]);
- var dataIncomplete = new Float32Array([0, 0, 0, 1,
- 0, 0, 1,
- 1, 0, 0, 1,
- 0, 0, 1,
- 1, 1, 1, 1]);
- var indices = new Uint32Array([0, 1, 2]);
-
- debug("Testing with valid indices");
-
- var bufferComplete = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, bufferComplete);
- gl.bufferData(gl.ARRAY_BUFFER, dataComplete, gl.STATIC_DRAW);
- var elements = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elements);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
- gl.useProgram(program);
- var vertexLoc = gl.getAttribLocation(program, "a_vertex");
- var normalLoc = gl.getAttribLocation(program, "a_normal");
- gl.vertexAttribPointer(vertexLoc, 4, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 0);
- gl.enableVertexAttribArray(vertexLoc);
- gl.vertexAttribPointer(normalLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 4 * sizeInBytes(gl.FLOAT));
- gl.enableVertexAttribArray(normalLoc);
- shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0)');
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- debug("Testing with out-of-range indices");
-
- var bufferIncomplete = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, bufferIncomplete);
- gl.bufferData(gl.ARRAY_BUFFER, dataIncomplete, gl.STATIC_DRAW);
- gl.vertexAttribPointer(vertexLoc, 4, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 0);
- gl.enableVertexAttribArray(vertexLoc);
- gl.disableVertexAttribArray(normalLoc);
- debug("Enable vertices, valid");
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0)');
- glErrorShouldBe(gl, gl.NO_ERROR);
- debug("Enable normals, out-of-range");
- gl.vertexAttribPointer(normalLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 4 * sizeInBytes(gl.FLOAT));
- gl.enableVertexAttribArray(normalLoc);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0)');
- glErrorShouldBe(gl, gl.INVALID_OPERATION);
-
- debug("Test with enabled attribute that does not belong to current program");
-
- gl.disableVertexAttribArray(normalLoc);
- var extraLoc = Math.max(vertexLoc, normalLoc) + 1;
- gl.enableVertexAttribArray(extraLoc);
- debug("Enable an extra attribute with null");
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0)');
- glErrorShouldBe(gl, gl.INVALID_OPERATION);
- debug("Enable an extra attribute with insufficient data buffer");
- gl.vertexAttribPointer(extraLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), 4 * sizeInBytes(gl.FLOAT));
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0)');
- debug("Pass large negative index to vertexAttribPointer");
- gl.vertexAttribPointer(normalLoc, 3, gl.FLOAT, false, 7 * sizeInBytes(gl.FLOAT), -2000000000 * sizeInBytes(gl.FLOAT));
- glErrorShouldBe(gl, gl.INVALID_VALUE);
- shouldBeUndefined('gl.drawElements(gl.TRIANGLES, 3, gl.UNSIGNED_INT, 0)');
- gl.disableVertexAttribArray(vertexLoc);
-}
-
-function runCopiesIndicesTests() {
- debug("Test that client data is always copied during bufferData and bufferSubData calls");
-
- var program = loadStandardProgram(gl);
-
- gl.useProgram(program);
- var vertexObject = gl.createBuffer();
- gl.enableVertexAttribArray(0);
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- // 4 vertices -> 2 triangles
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ 0,0,0, 0,1,0, 1,0,0, 1,1,0 ]), gl.STATIC_DRAW);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- var indexObject = gl.createBuffer();
-
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexObject);
- var indices = new Uint32Array([ 10000, 0, 1, 2, 3, 10000 ]);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)");
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)");
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)");
- indices[0] = 2;
- indices[5] = 1;
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)");
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)");
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)");
-}
-
-function runResizedBufferTests() {
- debug("Test that updating the size of a vertex buffer is properly noticed by the WebGL implementation.");
-
- var program = wtu.setupProgram(gl, ["vs", "fs"], ["vPosition", "vColor"]);
- glErrorShouldBe(gl, gl.NO_ERROR, "after initialization");
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(
- [-1,1,0, 1,1,0, -1,-1,0,
- -1,-1,0, 1,1,0, 1,-1,0]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
- glErrorShouldBe(gl, gl.NO_ERROR, "after vertex setup");
-
- var texCoordObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, texCoordObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array(
- [0,0, 1,0, 0,1,
- 0,1, 1,0, 1,1]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
- glErrorShouldBe(gl, gl.NO_ERROR, "after texture coord setup");
-
- // Now resize these buffers because we want to change what we're drawing.
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
- -1,1,0, 1,1,0, -1,-1,0, 1,-1,0,
- -1,1,0, 1,1,0, -1,-1,0, 1,-1,0]), gl.STATIC_DRAW);
- glErrorShouldBe(gl, gl.NO_ERROR, "after vertex redefinition");
- gl.bindBuffer(gl.ARRAY_BUFFER, texCoordObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Uint8Array([
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255]), gl.STATIC_DRAW);
- gl.vertexAttribPointer(1, 4, gl.UNSIGNED_BYTE, false, 0, 0);
- glErrorShouldBe(gl, gl.NO_ERROR, "after texture coordinate / color redefinition");
-
- var numQuads = 2;
- var indices = new Uint32Array(numQuads * 6);
- for (var ii = 0; ii < numQuads; ++ii) {
- var offset = ii * 6;
- var quad = (ii == (numQuads - 1)) ? 4 : 0;
- indices[offset + 0] = quad + 0;
- indices[offset + 1] = quad + 1;
- indices[offset + 2] = quad + 2;
- indices[offset + 3] = quad + 2;
- indices[offset + 4] = quad + 1;
- indices[offset + 5] = quad + 3;
- }
- var indexObject = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexObject);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, indices, gl.STATIC_DRAW);
- glErrorShouldBe(gl, gl.NO_ERROR, "after setting up indices");
- gl.drawElements(gl.TRIANGLES, numQuads * 6, gl.UNSIGNED_INT, 0);
- glErrorShouldBe(gl, gl.NO_ERROR, "after drawing");
-}
-
-function runVerifiesTooManyIndicesTests() {
- description("Tests that index validation for drawElements does not examine too many indices");
-
- var program = loadStandardProgram(gl);
-
- gl.useProgram(program);
- var vertexObject = gl.createBuffer();
- gl.enableVertexAttribArray(0);
- gl.disableVertexAttribArray(1);
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- // 4 vertices -> 2 triangles
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ 0,0,0, 0,1,0, 1,0,0, 1,1,0 ]), gl.STATIC_DRAW);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- var indexObject = gl.createBuffer();
-
- debug("Test out of range indices")
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, indexObject);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, new Uint32Array([ 10000, 0, 1, 2, 3, 10000 ]), gl.STATIC_DRAW);
- shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 4)");
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 0)");
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawElements(gl.TRIANGLE_STRIP, 4, gl.UNSIGNED_INT, 8)");
-}
-
-function runCrashWithBufferSubDataTests() {
- debug('Verifies that the index validation code which is within bufferSubData does not crash.')
-
- var elementBuffer = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, 256, gl.STATIC_DRAW);
- var data = new Uint32Array(127);
- gl.bufferSubData(gl.ELEMENT_ARRAY_BUFFER, 64, data);
- glErrorShouldBe(gl, gl.INVALID_VALUE, "after attempting to update a buffer outside of the allocated bounds");
- testPassed("bufferSubData, when buffer object was initialized with null, did not crash");
-}
-
-debug("");
-successfullyParsed = true;
-isSuccessfullyParsed();
-
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object-expected.txt
deleted file mode 100644
index 3915dca..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object-expected.txt
+++ /dev/null
@@ -1,54 +0,0 @@
-This test verifies the functionality of the OES_vertex_array_object extension, if it is available.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS WebGL context exists
-Testing binding enum with extension disabled
-PASS getError was expected value: INVALID_ENUM : VERTEX_ARRAY_BINDING_OES should not be queryable if extension is disabled
-PASS Successfully enabled OES_vertex_array_object extension
-PASS OES_vertex_array_object listed as supported and getExtension succeeded
-Testing binding enum with extension enabled
-PASS ext.VERTEX_ARRAY_BINDING_OES is 0x85B5
-PASS getError was expected value: NO_ERROR : VERTEX_ARRAY_BINDING_OES query should succeed if extension is enable
-PASS Default value of VERTEX_ARRAY_BINDING_OES is null
-Testing binding a VAO
-PASS gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is null
-PASS gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is expected VAO
-PASS gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is expected VAO
-PASS gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is null
-PASS getError was expected value: INVALID_OPERATION : binding a deleted vertex array object
-PASS gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is null
-Testing object creation
-PASS getError was expected value: NO_ERROR : createVertexArrayOES should not set an error
-PASS vao is non-null.
-PASS ext.isVertexArrayOES(vao) is false
-PASS ext.isVertexArrayOES(vao) is true
-PASS ext.isVertexArrayOES(vao) is true
-PASS ext.isVertexArrayOES() is false
-PASS ext.isVertexArrayOES(null) is false
-Testing attributes work across bindings
-PASS All attributes preserved across bindings
-Testing that attribute values are not attached to bindings
-PASS Vertex attribute values are not attached to bindings
-Testing draws with various VAO bindings
-PASS Draw 0 passed pixel test
-PASS Draw 1 passed pixel test
-PASS Draw 2 passed pixel test
-Testing using deleted buffers referenced by VAOs
-PASS should be 255,0,0,255
-PASS should be 0,255,0,255
-PASS should be 0,0,255,255
-PASS should be 0,255,255,255
-Testing that VAOs don't effect ARRAY_BUFFER binding.
-PASS should be red
-PASS should be green
-PASS getError was expected value: NO_ERROR : there should be no errors
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object.html
deleted file mode 100644
index 394fb91..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/oes-vertex-array-object.html
+++ /dev/null
@@ -1,599 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL OES_vertex_array_object Conformance Tests</title>
-<script src="resources/desktop-gl-constants.js" type="text/javascript"></script>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<canvas id="canvas" style="width: 50px; height: 50px;"> </canvas>
-<div id="console"></div>
-<script id="vshader", type="x-shader/x-vertex">
-attribute vec4 a_position;
-attribute vec4 a_color;
-varying vec4 v_color;
-void main(void) {
- gl_Position = a_position;
- v_color = a_color;
-}
-</script>
-<script id="fshader", type="x-shader/x-fragment">
-precision mediump float;
-varying vec4 v_color;
-void main(void) {
- gl_FragColor = v_color;
-}
-</script>
-<script>
-description("This test verifies the functionality of the OES_vertex_array_object extension, if it is available.");
-
-debug("");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("canvas");
-var gl = create3DContext(canvas);
-var ext = null;
-var vao = null;
-
-if (!gl) {
- testFailed("WebGL context does not exist");
-} else {
- testPassed("WebGL context exists");
-
- // Setup emulated OESVertexArrayObject if it has been included.
- if (window.setupVertexArrayObject) {
- debug("using emuated OES_vertex_array_object");
- setupVertexArrayObject(gl);
- }
-
- // Run tests with extension disabled
- runBindingTestDisabled();
-
- // Query the extension and store globally so shouldBe can access it
- ext = gl.getExtension("OES_vertex_array_object");
- if (!ext) {
- testPassed("No OES_vertex_array_object support -- this is legal");
-
- runSupportedTest(false);
- } else {
- testPassed("Successfully enabled OES_vertex_array_object extension");
-
- runSupportedTest(true);
- runBindingTestEnabled();
- runObjectTest();
- runAttributeTests();
- runAttributeValueTests();
- runDrawTests();
- runDeleteTests();
- runArrayBufferBindTests();
- glErrorShouldBe(gl, gl.NO_ERROR, "there should be no errors");
- }
-}
-
-function runSupportedTest(extensionEnabled) {
- var supported = gl.getSupportedExtensions();
- if (supported.indexOf("OES_vertex_array_object") >= 0) {
- if (extensionEnabled) {
- testPassed("OES_vertex_array_object listed as supported and getExtension succeeded");
- } else {
- testFailed("OES_vertex_array_object listed as supported but getExtension failed");
- }
- } else {
- if (extensionEnabled) {
- testFailed("OES_vertex_array_object not listed as supported but getExtension succeeded");
- } else {
- testPassed("OES_vertex_array_object not listed as supported and getExtension failed -- this is legal");
- }
- }
-}
-
-function runBindingTestDisabled() {
- debug("Testing binding enum with extension disabled");
-
- // Use the constant directly as we don't have the extension
- var VERTEX_ARRAY_BINDING_OES = 0x85B5;
-
- gl.getParameter(VERTEX_ARRAY_BINDING_OES);
- glErrorShouldBe(gl, gl.INVALID_ENUM, "VERTEX_ARRAY_BINDING_OES should not be queryable if extension is disabled");
-}
-
-function runBindingTestEnabled() {
- debug("Testing binding enum with extension enabled");
-
- shouldBe("ext.VERTEX_ARRAY_BINDING_OES", "0x85B5");
-
- gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES);
- glErrorShouldBe(gl, gl.NO_ERROR, "VERTEX_ARRAY_BINDING_OES query should succeed if extension is enable");
-
- // Default value is null
- if (gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) === null) {
- testPassed("Default value of VERTEX_ARRAY_BINDING_OES is null");
- } else {
- testFailed("Default value of VERTEX_ARRAY_BINDING_OES is not null");
- }
-
- debug("Testing binding a VAO");
- var vao0 = ext.createVertexArrayOES();
- var vao1 = ext.createVertexArrayOES();
- shouldBeNull("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES)");
- ext.bindVertexArrayOES(vao0);
- if (gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) == vao0) {
- testPassed("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is expected VAO");
- } else {
- testFailed("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is not expected VAO")
- }
- ext.bindVertexArrayOES(vao1);
- if (gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) == vao1) {
- testPassed("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is expected VAO");
- } else {
- testFailed("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES) is not expected VAO")
- }
- ext.deleteVertexArrayOES(vao1);
- shouldBeNull("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES)");
- ext.bindVertexArrayOES(vao1);
- glErrorShouldBe(gl, gl.INVALID_OPERATION, "binding a deleted vertex array object");
- ext.bindVertexArrayOES(null);
- shouldBeNull("gl.getParameter(ext.VERTEX_ARRAY_BINDING_OES)");
- ext.deleteVertexArrayOES(vao1);
-}
-
-function runObjectTest() {
- debug("Testing object creation");
-
- vao = ext.createVertexArrayOES();
- glErrorShouldBe(gl, gl.NO_ERROR, "createVertexArrayOES should not set an error");
- shouldBeNonNull("vao");
-
- // Expect false if never bound
- shouldBeFalse("ext.isVertexArrayOES(vao)");
- ext.bindVertexArrayOES(vao);
- shouldBeTrue("ext.isVertexArrayOES(vao)");
- ext.bindVertexArrayOES(null);
- shouldBeTrue("ext.isVertexArrayOES(vao)");
-
- shouldBeFalse("ext.isVertexArrayOES()");
- shouldBeFalse("ext.isVertexArrayOES(null)");
-
- ext.deleteVertexArrayOES(vao);
- vao = null;
-}
-
-function runAttributeTests() {
- debug("Testing attributes work across bindings");
-
- var states = [];
-
- var attrCount = gl.getParameter(gl.MAX_VERTEX_ATTRIBS);
- for (var n = 0; n < attrCount; n++) {
- gl.bindBuffer(gl.ARRAY_BUFFER, null);
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, null);
-
- var state = {};
- states.push(state);
-
- var vao = state.vao = ext.createVertexArrayOES();
- ext.bindVertexArrayOES(vao);
-
- if (n % 2 == 0) {
- gl.enableVertexAttribArray(n);
- } else {
- gl.disableVertexAttribArray(n);
- }
-
- if (n % 2 == 0) {
- var buffer = state.buffer = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
- gl.bufferData(gl.ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
-
- gl.vertexAttribPointer(n, 1 + n % 4, gl.FLOAT, true, n * 4, n * 4);
- }
-
- if (n % 2 == 0) {
- var elbuffer = state.elbuffer = gl.createBuffer();
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elbuffer);
- gl.bufferData(gl.ELEMENT_ARRAY_BUFFER, 1024, gl.STATIC_DRAW);
- }
-
- ext.bindVertexArrayOES(null);
- }
-
- var anyMismatch = false;
- for (var n = 0; n < attrCount; n++) {
- var state = states[n];
-
- ext.bindVertexArrayOES(state.vao);
-
- var isEnabled = gl.getVertexAttrib(n, gl.VERTEX_ATTRIB_ARRAY_ENABLED);
- if ((n % 2 == 1) || isEnabled) {
- // Valid
- } else {
- testFailed("VERTEX_ATTRIB_ARRAY_ENABLED not preserved");
- anyMismatch = true;
- }
-
- var buffer = gl.getVertexAttrib(n, gl.VERTEX_ATTRIB_ARRAY_BUFFER_BINDING);
- if (n % 2 == 0) {
- if (buffer == state.buffer) {
- // Matched
- if ((gl.getVertexAttrib(n, gl.VERTEX_ATTRIB_ARRAY_SIZE) == 1 + n % 4) &&
- (gl.getVertexAttrib(n, gl.VERTEX_ATTRIB_ARRAY_TYPE) == gl.FLOAT) &&
- (gl.getVertexAttrib(n, gl.VERTEX_ATTRIB_ARRAY_NORMALIZED) == true) &&
- (gl.getVertexAttrib(n, gl.VERTEX_ATTRIB_ARRAY_STRIDE) == n * 4) &&
- (gl.getVertexAttribOffset(n, gl.VERTEX_ATTRIB_ARRAY_POINTER) == n * 4)) {
- // Matched
- } else {
- testFailed("VERTEX_ATTRIB_ARRAY_* not preserved");
- anyMismatch = true;
- }
- } else {
- testFailed("VERTEX_ATTRIB_ARRAY_BUFFER_BINDING not preserved");
- anyMismatch = true;
- }
- } else {
- // GL_CURRENT_VERTEX_ATTRIB is not preserved
- if (buffer) {
- testFailed("VERTEX_ATTRIB_ARRAY_BUFFER_BINDING not preserved");
- anyMismatch = true;
- }
- }
-
- var elbuffer = gl.getParameter(gl.ELEMENT_ARRAY_BUFFER_BINDING);
- if (n % 2 == 0) {
- if (elbuffer == state.elbuffer) {
- // Matched
- } else {
- testFailed("ELEMENT_ARRAY_BUFFER_BINDING not preserved");
- anyMismatch = true;
- }
- } else {
- if (elbuffer == null) {
- // Matched
- } else {
- testFailed("ELEMENT_ARRAY_BUFFER_BINDING not preserved");
- anyMismatch = true;
- }
- }
- }
- ext.bindVertexArrayOES(null);
- if (!anyMismatch) {
- testPassed("All attributes preserved across bindings");
- }
-
- for (var n = 0; n < attrCount; n++) {
- var state = states[n];
- ext.deleteVertexArrayOES(state.vao);
- }
-}
-
-function runAttributeValueTests() {
- debug("Testing that attribute values are not attached to bindings");
-
- var v;
- var vao0 = ext.createVertexArrayOES();
- var anyFailed = false;
-
- ext.bindVertexArrayOES(null);
- gl.vertexAttrib4f(0, 0, 1, 2, 3);
-
- v = gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB);
- if (!(v[0] == 0 && v[1] == 1 && v[2] == 2 && v[3] == 3)) {
- testFailed("Vertex attrib value not round-tripped?");
- anyFailed = true;
- }
-
- ext.bindVertexArrayOES(vao0);
-
- v = gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB);
- if (!(v[0] == 0 && v[1] == 1 && v[2] == 2 && v[3] == 3)) {
- testFailed("Vertex attrib value reset across bindings");
- anyFailed = true;
- }
-
- gl.vertexAttrib4f(0, 4, 5, 6, 7);
- ext.bindVertexArrayOES(null);
-
- v = gl.getVertexAttrib(0, gl.CURRENT_VERTEX_ATTRIB);
- if (!(v[0] == 4 && v[1] == 5 && v[2] == 6 && v[3] == 7)) {
- testFailed("Vertex attrib value bound to buffer");
- anyFailed = true;
- }
-
- if (!anyFailed) {
- testPassed("Vertex attribute values are not attached to bindings")
- }
-
- ext.bindVertexArrayOES(null);
- ext.deleteVertexArrayOES(vao0);
-}
-
-function runDrawTests() {
- debug("Testing draws with various VAO bindings");
-
- canvas.width = 50; canvas.height = 50;
- gl.viewport(0, 0, canvas.width, canvas.height);
-
- var vao0 = ext.createVertexArrayOES();
- var vao1 = ext.createVertexArrayOES();
-
- var program = wtu.setupSimpleTextureProgram(gl, 0, 1);
-
- function setupQuad(s) {
- var opt_positionLocation = 0;
- var opt_texcoordLocation = 1;
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
- 1.0 * s, 1.0 * s, 0.0,
- -1.0 * s, 1.0 * s, 0.0,
- -1.0 * s, -1.0 * s, 0.0,
- 1.0 * s, 1.0 * s, 0.0,
- -1.0 * s, -1.0 * s, 0.0,
- 1.0 * s, -1.0 * s, 0.0]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(opt_positionLocation);
- gl.vertexAttribPointer(opt_positionLocation, 3, gl.FLOAT, false, 0, 0);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([
- 1.0 * s, 1.0 * s,
- 0.0 * s, 1.0 * s,
- 0.0 * s, 0.0 * s,
- 1.0 * s, 1.0 * s,
- 0.0 * s, 0.0 * s,
- 1.0 * s, 0.0 * s]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(opt_texcoordLocation);
- gl.vertexAttribPointer(opt_texcoordLocation, 2, gl.FLOAT, false, 0, 0);
- };
-
- function readLocation(x, y) {
- var pixels = new Uint8Array(1 * 1 * 4);
- gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
- return pixels;
- };
- function testPixel(blackList, whiteList) {
- function testList(list, expected) {
- for (var n = 0; n < list.length; n++) {
- var l = list[n];
- var x = -Math.floor(l * canvas.width / 2) + canvas.width / 2;
- var y = -Math.floor(l * canvas.height / 2) + canvas.height / 2;
- var source = readLocation(x, y);
- if (Math.abs(source[0] - expected) > 2) {
- return false;
- }
- }
- return true;
- }
- return testList(blackList, 0) && testList(whiteList, 255);
- };
- function verifyDraw(drawNumber, s) {
- wtu.drawQuad(gl);
- var blackList = [];
- var whiteList = [];
- var points = [0.0, 0.2, 0.4, 0.6, 0.8, 1.0];
- for (var n = 0; n < points.length; n++) {
- if (points[n] <= s) {
- blackList.push(points[n]);
- } else {
- whiteList.push(points[n]);
- }
- }
- if (testPixel(blackList, whiteList)) {
- testPassed("Draw " + drawNumber + " passed pixel test");
- } else {
- testFailed("Draw " + drawNumber + " failed pixel test");
- }
- };
-
- // Setup all bindings
- setupQuad(1);
- ext.bindVertexArrayOES(vao0);
- setupQuad(0.5);
- ext.bindVertexArrayOES(vao1);
- setupQuad(0.25);
-
- // Verify drawing
- ext.bindVertexArrayOES(null);
- verifyDraw(0, 1);
- ext.bindVertexArrayOES(vao0);
- verifyDraw(1, 0.5);
- ext.bindVertexArrayOES(vao1);
- verifyDraw(2, 0.25);
-
- ext.bindVertexArrayOES(null);
- ext.deleteVertexArrayOES(vao0);
- ext.deleteVertexArrayOES(vao1);
-}
-
-function runDeleteTests() {
- debug("Testing using deleted buffers referenced by VAOs");
-
- var program = wtu.setupProgram(gl, ["vshader", "fshader"], ["a_position", "a_color"]);
- gl.useProgram(program);
-
- var positionBuffer = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
- gl.bufferData(
- gl.ARRAY_BUFFER,
- new Float32Array([
- 1.0, 1.0,
- -1.0, 1.0,
- -1.0, -1.0,
- 1.0, -1.0]),
- gl.STATIC_DRAW);
-
- var colors = [
- [255, 0, 0, 255],
- [ 0, 255, 0, 255],
- [ 0, 0, 255, 255],
- [ 0, 255, 255, 255]
- ];
- var colorBuffers = [];
- var elementBuffers = [];
- var vaos = [];
- for (var ii = 0; ii < colors.length; ++ii) {
- var vao = ext.createVertexArrayOES();
- vaos.push(vao);
- ext.bindVertexArrayOES(vao);
- // Set the position buffer
- gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 2, gl.FLOAT, false, 0, 0);
-
- var elementBuffer = gl.createBuffer();
- elementBuffers.push(elementBuffer);
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
- gl.bufferData(
- gl.ELEMENT_ARRAY_BUFFER,
- new Uint8Array([0, 1, 2, 0, 2, 3]),
- gl.STATIC_DRAW);
-
- // Setup the color attrib
- var color = colors[ii];
- if (ii < 3) {
- var colorBuffer = gl.createBuffer();
- colorBuffers.push(colorBuffer);
- gl.bindBuffer(gl.ARRAY_BUFFER, colorBuffer);
- gl.bufferData(gl.ARRAY_BUFFER, new Uint8Array(
- [ color[0], color[1], color[2], color[3],
- color[0], color[1], color[2], color[3],
- color[0], color[1], color[2], color[3],
- color[0], color[1], color[2], color[3]
- ]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 4, gl.UNSIGNED_BYTE, true, 0, 0);
- } else {
- gl.vertexAttrib4f(1, color[0] / 255, color[1] / 255, color[2] / 255, color[3] / 255);
- }
- }
-
- // delete the color buffers AND the position buffer.
- ext.bindVertexArrayOES(null);
- for (var ii = 0; ii < colorBuffers.length; ++ii) {
- gl.deleteBuffer(colorBuffers[ii]);
- gl.deleteBuffer(elementBuffers[ii]);
- // The buffers should still be valid at this point, since it was attached to the VAO
- if(!gl.isBuffer(colorBuffers[ii])) {
- testFailed("buffer removed too early");
- }
- }
- gl.deleteBuffer(positionBuffer);
-
- // Render with the deleted buffers. As they are referenced by VAOs they
- // must still be around.
- for (var ii = 0; ii < colors.length; ++ii) {
- var color = colors[ii];
- ext.bindVertexArrayOES(vaos[ii]);
- gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_BYTE, 0);
- wtu.checkCanvas(gl, color, "should be " + color);
- }
-
- // Clean up.
- for (var ii = 0; ii < colorBuffers.length; ++ii) {
- ext.deleteVertexArrayOES(vaos[ii]);
- }
-
- for (var ii = 0; ii < colorBuffers.length; ++ii) {
- // The buffers should no longer be valid now that the VAOs are deleted
- if(gl.isBuffer(colorBuffers[ii])) {
- testFailed("buffer not properly cleaned up after VAO deletion");
- }
- }
-}
-
-function runArrayBufferBindTests() {
- debug("Testing that VAOs don't effect ARRAY_BUFFER binding.");
-
- ext.bindVertexArrayOES(null);
-
- var program = wtu.setupProgram(gl, ["vshader", "fshader"], ["a_color", "a_position"]);
- gl.useProgram(program);
-
- // create shared element buuffer
- var elementBuffer = gl.createBuffer();
- // bind to default
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
- gl.bufferData(
- gl.ELEMENT_ARRAY_BUFFER,
- new Uint8Array([0, 1, 2, 0, 2, 3]),
- gl.STATIC_DRAW);
-
- // first create the buffers for no vao draw.
- var nonVAOColorBuffer = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, nonVAOColorBuffer);
- gl.bufferData(gl.ARRAY_BUFFER, new Uint8Array(
- [ 0, 255, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255,
- 0, 255, 0, 255,
- ]), gl.STATIC_DRAW);
-
- // shared position buffer.
- var positionBuffer = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, positionBuffer);
- gl.bufferData(
- gl.ARRAY_BUFFER,
- new Float32Array([
- 1.0, 1.0,
- -1.0, 1.0,
- -1.0, -1.0,
- 1.0, -1.0]),
- gl.STATIC_DRAW);
-
- // attach position buffer to default
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
-
- // now create vao
- var vao = ext.createVertexArrayOES();
- ext.bindVertexArrayOES(vao);
-
- // attach the position buffer vao
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
-
- var vaoColorBuffer = gl.createBuffer();
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, true, 0, 0);
- gl.bindBuffer(gl.ARRAY_BUFFER, vaoColorBuffer);
- gl.bufferData(gl.ARRAY_BUFFER, new Uint8Array(
- [ 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- 255, 0, 0, 255,
- ]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, true, 0, 0);
-
- // now set the buffer back to the nonVAOColorBuffer
- gl.bindBuffer(gl.ARRAY_BUFFER, nonVAOColorBuffer);
-
- // bind to vao
- gl.bindBuffer(gl.ELEMENT_ARRAY_BUFFER, elementBuffer);
- gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_BYTE, 0);
- wtu.checkCanvas(gl, [255, 0, 0, 255], "should be red");
-
- // unbind vao
- ext.bindVertexArrayOES(null);
-
- // At this point the nonVAOColorBuffer should be still be bound.
- // If the WebGL impl is emulating VAOs it must make sure
- // it correctly restores this binding.
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 4, gl.UNSIGNED_BYTE, true, 0, 0);
- gl.drawElements(gl.TRIANGLES, 6, gl.UNSIGNED_BYTE, 0);
- wtu.checkCanvas(gl, [0, 255, 0, 255], "should be green");
-}
-
-debug("");
-successfullyParsed = true;
-isSuccessfullyParsed();
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size-expected.txt
deleted file mode 100644
index a2a5d30..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size-expected.txt
+++ /dev/null
@@ -1,11 +0,0 @@
-Verify GL_VERTEX_PROGRAM_POINT_SIZE is enabled in WebGL
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Draw a point of size 1 and verify it does not touch any other pixels.
-Draw a point of size 2 and verify it fills the appropriate region.
-PASS
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size.html
deleted file mode 100644
index 616abe4..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/point-size.html
+++ /dev/null
@@ -1,124 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec3 pos;
-attribute vec4 colorIn;
-uniform float pointSize;
-varying vec4 color;
-
-void main()
-{
- gl_PointSize = pointSize;
- color = colorIn;
- gl_Position = vec4(pos.xyz, 3.0);
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision mediump float;
-#endif
-varying vec4 color;
-
-void main()
-{
- gl_FragColor = color;
-}
-</script>
-
-<script>
-function runTest()
-{
- var gl = initWebGL('testbed', 'vshader', 'fshader', ['pos', 'colorIn'], [0, 0, 0, 1], 1, { antialias: false });
- if (!gl) {
- testFailed('initWebGL(..) failed');
- return false;
- }
- gl.disable(gl.BLEND);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- // The choice of (0.4, 0.4) ensures that the centers of the surrounding
- // pixels are not contained within the point when it is of size 1, but
- // that they definitely are when it is of size 2.
- var vertices = new Float32Array([
- 0.4, 0.4, 0.0]);
- var colors = new Uint8Array([
- 255, 0, 0, 255]);
-
- var colorOffset = vertices.byteLength;
-
- var vbo = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
- gl.bufferData(gl.ARRAY_BUFFER, colorOffset + colors.byteLength, gl.STATIC_DRAW);
- gl.bufferSubData(gl.ARRAY_BUFFER, 0, vertices);
- gl.bufferSubData(gl.ARRAY_BUFFER, colorOffset, colors);
-
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(1, 4, gl.UNSIGNED_BYTE, true, 0, colorOffset);
- gl.enableVertexAttribArray(1);
-
- var locPointSize = gl.getUniformLocation(gl.program, 'pointSize');
-
- debug('Draw a point of size 1 and verify it does not touch any other pixels.');
-
- gl.uniform1f(locPointSize, 1.0);
- gl.drawArrays(gl.POINTS, 0, vertices.length / 3);
- var buf = new Uint8Array(2 * 2 * 4);
- gl.readPixels(0, 0, 2, 2, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var index = 0;
- for (var y = 0; y < 2; ++y) {
- for (var x = 0; x < 2; ++x) {
- var correctColor = [0, 0, 0];
- if (x == 1 && y == 1)
- correctColor[0] = 255;
- if (buf[index] != correctColor[0] || buf[index + 1] != correctColor[1] || buf[index + 2] != correctColor[2]) {
- testFailed('Drawing a point of size 1 touched pixels that should not be touched');
- return false;
- }
- index += 4;
- }
- }
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- debug('Draw a point of size 2 and verify it fills the appropriate region.');
-
- var pointSizeRange = gl.getParameter(gl.ALIASED_POINT_SIZE_RANGE);
- if (pointSizeRange < 2.0)
- return true;
-
- gl.uniform1f(locPointSize, 2.0);
- gl.drawArrays(gl.POINTS, 0, vertices.length / 3);
- gl.readPixels(0, 0, 2, 2, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- index = 0;
- for (var y = 0; y < 2; ++y) {
- for (var x = 0; x < 2; ++x) {
- var correctColor = [255, 0, 0];
- if (buf[index] != correctColor[0] || buf[index + 1] != correctColor[1] || buf[index + 2] != correctColor[2]) {
- testFailed('Drawing a point of size 2 failed to fill the appropriate region');
- return false;
- }
- index += 4;
- }
- }
-
- return true;
-}
-</script>
-</head>
-<body>
-<canvas id="testbed" width="2px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description('Verify GL_VERTEX_PROGRAM_POINT_SIZE is enabled in WebGL');
-
-if (runTest())
- testPassed("");
-</script>
-
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test-expected.txt
deleted file mode 100644
index 47876e9..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test-expected.txt
+++ /dev/null
@@ -1,62 +0,0 @@
-Test the WebGL premultipledAlpha context creation flag.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-testing: premultipliedAlpha: true imageFormat: image/png
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 64,128,255,128
-
-testing: premultipliedAlpha: true imageFormat: undefined
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 64,128,255,128
-
-testing: premultipliedAlpha: false imageFormat: image/png
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 255,192,128,1
-
-testing: premultipliedAlpha: false imageFormat: undefined
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 255,192,128,1
-
-testing: premultipliedAlpha: false imageFormat: image/jpeg
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 128,128,128,255
-
-testing: premultipliedAlpha: true imageFormat: image/jpeg
-PASS gl.getContextAttributes().premultipledAlpha is premultipledAlpha
-PASS gl.getContextAttributes().preserveDrawingBuffer is true
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from drawing.
-PASS getError was expected value: NO_ERROR : Should be no errors from creating copy.
-PASS getError was expected value: NO_ERROR : Should be no errors from 2nd drawing.
-PASS should draw with 128,128,128,255
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test.html
deleted file mode 100644
index 36555a6..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/premultiplyalpha-test.html
+++ /dev/null
@@ -1,166 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>Test the WebGL premultipledAlpha context creation flag.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<div id="description"></div><div id="console"></div>
-<script>
-var wtu = WebGLTestUtils;
-
-var tests = [
- // If premultipledAlpha is true then
- // [texture] [canvas] [dataURL]
- // 32, 64, 128, 128 -> 64, 128, 255, 128 -> 64, 128, 255, 128
- { creationAttributes: {},
- sentColor: [32, 64, 128, 128],
- expectedColor: [64, 128, 255, 128],
- errorRange: 2,
- imageFormat: "image/png"
- },
- // If premultipledAlpha is true then
- // [texture] [canvas] [texture]
- // 32, 64, 128, 128 -> 64, 128, 255, 128 -> 64, 128, 255, 128
- { creationAttributes: {},
- sentColor: [32, 64, 128, 128],
- expectedColor: [64, 128, 255, 128],
- errorRange: 2,
- },
- // If premultipledAlpha is false then
- // [texture] [canvas] [dataURL]
- // 255, 192, 128, 1 -> 255, 192, 128, 1 -> 255, 192, 128, 1
- { creationAttributes: {premultipliedAlpha: false},
- sentColor: [255, 192, 128, 1],
- expectedColor: [255, 192, 128, 1],
- errorRange: 0,
- imageFormat: "image/png"
- },
- // If premultipledAlpha is false then
- // [texture] [canvas] [texture]
- // 255, 192, 128, 1 -> 255, 192, 128, 1 -> 255, 192, 128, 1
- { creationAttributes: {premultipliedAlpha: false},
- sentColor: [255, 192, 128, 1],
- expectedColor: [255, 192, 128, 1],
- errorRange: 0,
- },
- // If premultipledAlpha is false then
- // [texture] [canvas] [dataURL]
- // 255, 255, 255, 128 -> 255, 255, 255, 128 -> 128, 128, 128, 255
- { creationAttributes: {premultipliedAlpha: false},
- sentColor: [255, 255, 255, 128],
- expectedColor: [128, 128, 128, 255],
- errorRange: 2,
- imageFormat: "image/jpeg"
- },
- // If premultipledAlpha is true then
- // [texture] [canvas] [dataURL]
- // 128, 128, 128, 128 -> 255, 255, 255, 128 -> 128, 128, 128, 255
- { creationAttributes: {},
- sentColor: [128, 128, 128, 128],
- expectedColor: [128, 128, 128, 255],
- errorRange: 2,
- imageFormat: "image/jpeg"
- }
-];
-
-var g_count = 0;
-var gl;
-var canvas;
-var premultipledAlpha;
-
-window.jsTestIsAsync = true;
-
-if (window.testRunner)
- testRunner.overridePreference("WebKitWebGLEnabled", "1");
-
-description("Test the WebGL premultipledAlpha context creation flag.");
-doNextTest();
-function doNextTest() {
- if (g_count < tests.length) {
- var test = tests[g_count++];
- canvas = document.createElement("canvas");
- // Need to preserve drawing buffer to load it in a callback
- test.creationAttributes.preserveDrawingBuffer = true;
- gl = wtu.create3DContext(canvas, test.creationAttributes);
- var premultipliedAlpha = test.creationAttributes.premultipliedAlpha != false;
- debug("")
- debug("testing: premultipliedAlpha: " + premultipliedAlpha + " imageFormat: " + test.imageFormat);
-
- shouldBe('gl.getContextAttributes().premultipledAlpha', 'premultipledAlpha');
- shouldBeTrue('gl.getContextAttributes().preserveDrawingBuffer');
-
- var program = wtu.setupTexturedQuad(gl);
-
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
- var tex = gl.createTexture();
- wtu.fillTexture(gl, tex, 2, 2, test.sentColor, 0);
- var loc = gl.getUniformLocation(program, "tex");
- gl.uniform1i(loc, 0);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-
- wtu.drawQuad(gl);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from drawing.");
-
- function loadTexture() {
- var pngTex = gl.createTexture();
- // not needed as it's the default
- // gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, false);
- gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, false);
- gl.bindTexture(gl.TEXTURE_2D, pngTex);
- if (test.imageFormat) {
- // create texture from image
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, this);
- } else {
- // create texture from canvas
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas);
- }
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from creating copy.");
- wtu.drawQuad(gl);
- glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from 2nd drawing.");
- wtu.checkCanvas(
- gl, test.expectedColor,
- "should draw with " + test.expectedColor, test.errorRange);
-
- doNextTest();
- }
-
- if (test.imageFormat) {
- // Load canvas into string using toDataURL
- var imageUrl = canvas.toDataURL(test.imageFormat);
- if (test.imageFormat != "image/png" &&
- (imageUrl.indexOf("data:image/png,") == 0 ||
- imageUrl.indexOf("data:image/png;") == 0)) {
- debug("Image format " + test.imageFormat + " not supported; skipping");
- setTimeout(doNextTest, 0);
- } else {
- // Load string into the texture
- var input = document.createElement("img");
- input.onload = loadTexture;
- input.src = imageUrl;
- }
- } else {
- // Load canvas into the texture asynchronously (to prevent unbounded stack consumption)
- setTimeout(loadTexture, 0);
- }
- } else {
- finishTest();
- }
-}
-
-</script>
-
-</body>
-</html>
-
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test-expected.txt
deleted file mode 100644
index fcdb05d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test-expected.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Tests that program compiling/linking/using works correctly.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-
-Canvas.getContext
-PASS context exists
-PASS good vertex shader should compile
-PASS good vertex shader #2 should compile
-PASS bad vertex shader should fail to compile
-PASS good fragment shader should compile
-PASS good fragment shader #2 should compile
-PASS bad fragment shader should fail to compile
-PASS getError was expected value: NO_ERROR : should be no errors at this point
-PASS getError was expected value: NO_ERROR : attaching a vertex shader should succeed
-PASS getError was expected value: INVALID_OPERATION : attaching an already attached vertex shader should generate INVALID_OPERATION
-PASS getError was expected value: NO_ERROR : attaching a fragment shader should succeed
-PASS getError was expected value: INVALID_OPERATION : attaching an already attached fragment shader should generate INVALID_OPERATION
-PASS getError was expected value: INVALID_OPERATION : attaching shaders of the same type to a program should generate INVALID_OPERATION
-PASS getError was expected value: INVALID_OPERATION : attaching shaders of the same type to a program should generate INVALID_OPERATION
-PASS getError was expected value: NO_ERROR : detaching a vertex shader should succeed
-PASS getError was expected value: INVALID_OPERATION : detaching a not already attached vertex shader should generate INVALID_OPERATION
-PASS getError was expected value: NO_ERROR : detaching a fragment shader should succeed
-PASS getError was expected value: INVALID_OPERATION : detaching a not already attached fragment shader should generate INVALID_OPERATION
-PASS getAttachedShaders should return an empty list by default
-PASS attaching a single shader should give the expected list
-PASS attaching some shaders should give the expected list
-PASS attaching a shader and detaching it shoud leave an empty list
-PASS attaching some shaders and detaching them in same order shoud leave an empty list
-PASS attaching some shaders and detaching them in random order shoud leave an empty list
-PASS attaching and detaching some shaders should leave the difference list
-PASS attaching and detaching some shaders should leave the difference list
-PASS attaching a shader that failed to compile should still show it in the list
-PASS attaching shaders, including one that failed to compile, should still show the it in the list
-PASS valid program should link
-PASS getError was expected value: NO_ERROR : using a valid program should succeed
-PASS valid program #2 should link
-PASS getError was expected value: NO_ERROR : using a valid program should succeed
-PASS program with no fragment shader should fail to link
-PASS getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
-PASS program with no vertex shader should fail to link
-PASS getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
-PASS program with bad vertex shader should fail to link
-PASS getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
-PASS program with bad fragment shader should fail to link
-PASS getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
-PASS program with bad shaders should fail to link
-PASS getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
-PASS getError was expected value: NO_ERROR : using a valid program shouldn't generate a GL error
-PASS getError was expected value: NO_ERROR : should be no errors at this point #2
-PASS getError was expected value: NO_ERROR : drawing with a valid program shouldn't generate a GL error
-PASS getError was expected value: INVALID_OPERATION : using an invalid program should generate INVALID_OPERATION
-PASS getError was expected value: NO_ERROR : Try to use an invalid program should not change the current rendering state
-PASS getError was expected value: NO_ERROR : drawing with a valid program shouldn't generate a GL error
-PASS linking should fail with in-use formerly good program, with new bad shader attached
-PASS getError was expected value: NO_ERROR : drawing with a valid when last used program shouldn't generate a GL error
-PASS delete shaders after attaching them and before linking program should not affect linkProgram
-PASS getError was expected value: NO_ERROR : using a valid program should succeed
-PASS getError was expected value: NO_ERROR : drawing with a valid when last used program shouldn't generate a GL error
-PASS getError was expected value: NO_ERROR : delete the current program shouldn't change the current rendering state
-PASS getError was expected value: NO_ERROR : The current program shouldn't be deleted
-PASS good fragment shader should compile
-PASS getError was expected value: INVALID_VALUE : an unattached shader should be deleted immediately
-PASS good fragment shader should compile
-PASS an attached shader shouldn't be deleted
-PASS getError was expected value: INVALID_VALUE : a delete-marked program should be deleted once it's no longer the current program
-PASS getError was expected value: INVALID_VALUE : a delete-marked shader should be deleted once all its attachments are removed
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test.html
deleted file mode 100644
index ee0316d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/program-test.html
+++ /dev/null
@@ -1,310 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL Program Compiling/Linking Conformance Test</title>
-<script src="../../../resources/js-test.js" type="text/javascript"></script>
-<script src="resources/webgl-test.js" type="text/javascript"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script type="text/javascript">
-function go() {
- description("Tests that program compiling/linking/using works correctly.");
-
- debug("");
- debug("Canvas.getContext");
-
- if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
- var gl = create3DContext(document.getElementById("canvas"));
- if (!gl) {
- testFailed("context does not exist");
- return;
- }
-
- testPassed("context exists");
-
- gl.clearColor(0.0, 0.0, 0.0, 0.0);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- function doArraysHaveSameContents(a, b) {
- var flags = [];
- function hasUnusedValue(a, value) {
- for (var ii = 0; ii < a.length; ++ii) {
- if (a[ii] === value && !flags[ii]) {
- flags[ii] = true;
- return true;
- }
- }
- return false;
- }
-
- try {
- if (a.length !== b.length) {
- return false;
- }
- for (var ii = 0; ii < a.length; ii++) {
- if (!hasUnusedValue(b, a[ii])) {
- return false;
- }
- }
- } catch (ex) {
- return false;
- }
- return true;
- }
-
-/////// Check compileShader() /////////////////////////////
-
- var vs = gl.createShader(gl.VERTEX_SHADER);
- gl.shaderSource(vs, "attribute vec4 aVertex; attribute vec4 aColor; varying vec4 vColor; void main() { vColor = aColor; gl_Position = aVertex; }");
- gl.compileShader(vs);
-
- assertMsg(gl.getShaderParameter(vs, gl.COMPILE_STATUS) == true,
- "good vertex shader should compile");
-
- var vs2 = gl.createShader(gl.VERTEX_SHADER);
- gl.shaderSource(vs2, "attribute vec4 aVertex; attribute vec4 aColor; varying vec4 vColor; void main() { vColor = aColor; gl_Position = aVertex * 0.5; }");
- gl.compileShader(vs2);
-
- assertMsg(gl.getShaderParameter(vs2, gl.COMPILE_STATUS) == true,
- "good vertex shader #2 should compile");
-
- var vsBad = gl.createShader(gl.VERTEX_SHADER);
- gl.shaderSource(vsBad, "WILL NOT COMPILE;");
- gl.compileShader(vsBad);
-
- assertMsg(gl.getShaderParameter(vsBad, gl.COMPILE_STATUS) == false,
- "bad vertex shader should fail to compile");
-
- var fs = gl.createShader(gl.FRAGMENT_SHADER);
- gl.shaderSource(fs, "precision mediump float; varying vec4 vColor; void main() { gl_FragColor = vColor; }");
- gl.compileShader(fs);
-
- assertMsg(gl.getShaderParameter(fs, gl.COMPILE_STATUS) == true,
- "good fragment shader should compile");
-
- var fs2 = gl.createShader(gl.FRAGMENT_SHADER);
- gl.shaderSource(fs2, "precision mediump float; varying vec4 vColor; void main() { gl_FragColor = vColor * 0.5; }");
- gl.compileShader(fs2);
-
- assertMsg(gl.getShaderParameter(fs2, gl.COMPILE_STATUS) == true,
- "good fragment shader #2 should compile");
-
- var fsBad = gl.createShader(gl.FRAGMENT_SHADER);
- gl.shaderSource(fsBad, "WILL NOT COMPILE;");
- gl.compileShader(fsBad);
-
- assertMsg(gl.getShaderParameter(fsBad, gl.COMPILE_STATUS) == false,
- "bad fragment shader should fail to compile");
-
- glErrorShouldBe(gl, gl.NO_ERROR, "should be no errors at this point");
-
-/////// Check attachShader() /////////////////////////////
-
- function checkAttachShader(already_attached_shaders, shader, expected_error_code, errmsg) {
- var prog = gl.createProgram();
- for (var i = 0; i < already_attached_shaders.length; ++i)
- gl.attachShader(prog, already_attached_shaders[i]);
- if(gl.getError() != gl.NO_ERROR)
- assertMsg(false, "unexpected error in attachShader()");
- gl.attachShader(prog, shader);
- glErrorShouldBe(gl, expected_error_code, errmsg);
- }
-
- checkAttachShader([], vs, gl.NO_ERROR, "attaching a vertex shader should succeed");
- checkAttachShader([vs], vs, gl.INVALID_OPERATION,
- "attaching an already attached vertex shader should generate INVALID_OPERATION");
- checkAttachShader([], fs, gl.NO_ERROR, "attaching a fragment shader should succeed");
- checkAttachShader([fs], fs, gl.INVALID_OPERATION,
- "attaching an already attached fragment shader should generate INVALID_OPERATION");
- checkAttachShader([vs], vs2, gl.INVALID_OPERATION,
- "attaching shaders of the same type to a program should generate INVALID_OPERATION");
- checkAttachShader([fs], fs2, gl.INVALID_OPERATION,
- "attaching shaders of the same type to a program should generate INVALID_OPERATION");
-
-/////// Check detachShader() /////////////////////////////
-
- function checkDetachShader(already_attached_shaders, shader, expected_error_code, errmsg) {
- var prog = gl.createProgram();
- for (var i = 0; i < already_attached_shaders.length; ++i)
- gl.attachShader(prog, already_attached_shaders[i]);
- if(gl.getError() != gl.NO_ERROR)
- assertMsg(false, "unexpected error in attachShader()");
- gl.detachShader(prog, shader);
- glErrorShouldBe(gl, expected_error_code, errmsg);
- }
-
- checkDetachShader([vs], vs, gl.NO_ERROR, "detaching a vertex shader should succeed");
- checkDetachShader([fs], vs, gl.INVALID_OPERATION,
- "detaching a not already attached vertex shader should generate INVALID_OPERATION");
- checkDetachShader([fs], fs, gl.NO_ERROR, "detaching a fragment shader should succeed");
- checkDetachShader([vs], fs, gl.INVALID_OPERATION,
- "detaching a not already attached fragment shader should generate INVALID_OPERATION");
-
-/////// Check getAttachedShaders() /////////////////////////////
-
- function checkGetAttachedShaders(shaders_to_attach, shaders_to_detach, expected_shaders, errmsg) {
- var prog = gl.createProgram();
- for (var i = 0; i < shaders_to_attach.length; ++i)
- gl.attachShader(prog, shaders_to_attach[i]);
- if(gl.getError() != gl.NO_ERROR)
- assertMsg(false, "unexpected error in attachShader()");
- for (var i = 0; i < shaders_to_detach.length; ++i)
- gl.detachShader(prog, shaders_to_detach[i]);
- if(gl.getError() != gl.NO_ERROR)
- assertMsg(false, "unexpected error in detachShader()");
- assertMsg(doArraysHaveSameContents(gl.getAttachedShaders(prog), expected_shaders), errmsg);
- }
- checkGetAttachedShaders([], [], [], "getAttachedShaders should return an empty list by default");
- checkGetAttachedShaders([fs], [], [fs], "attaching a single shader should give the expected list");
- checkGetAttachedShaders([fs, vs], [], [fs, vs],
- "attaching some shaders should give the expected list");
- checkGetAttachedShaders([fs], [fs], [], "attaching a shader and detaching it shoud leave an empty list");
- checkGetAttachedShaders([fs, vs], [fs, vs], [],
- "attaching some shaders and detaching them in same order shoud leave an empty list");
- checkGetAttachedShaders([fs, vs], [vs, fs], [],
- "attaching some shaders and detaching them in random order shoud leave an empty list");
- checkGetAttachedShaders([fs, vs], [vs], [fs],
- "attaching and detaching some shaders should leave the difference list");
- checkGetAttachedShaders([fs, vs], [fs], [vs],
- "attaching and detaching some shaders should leave the difference list");
- checkGetAttachedShaders([fsBad], [], [fsBad],
- "attaching a shader that failed to compile should still show it in the list");
- checkGetAttachedShaders([fs, vsBad], [], [fs, vsBad],
- "attaching shaders, including one that failed to compile, should still show the it in the list");
-
-/////// Check linkProgram() and useProgram /////////////////////////////
-
- function checkLinkAndUse(shaders, deleteShaderAfterAttach, expected_status, errmsg) {
- var prog = gl.createProgram();
- for (var i = 0; i < shaders.length; ++i) {
- gl.attachShader(prog, shaders[i]);
- if (deleteShaderAfterAttach)
- gl.deleteShader(shaders[i]);
- }
- gl.bindAttribLocation(prog, 0, "aVertex");
- gl.bindAttribLocation(prog, 1, "aColor");
- gl.linkProgram(prog);
- if (gl.getError() != gl.NO_ERROR)
- assertMsg(false, "unexpected error in linkProgram()");
- assertMsg(gl.getProgramParameter(prog, gl.LINK_STATUS) == expected_status, errmsg);
- if (expected_status == true && gl.getProgramParameter(prog, gl.LINK_STATUS) == false)
- debug(gl.getProgramInfoLog(prog));
- if (gl.getError() != gl.NO_ERROR)
- assertMsg(false, "unexpected error in getProgramParameter()");
- gl.useProgram(prog);
- if (expected_status == true)
- glErrorShouldBe(gl, gl.NO_ERROR, "using a valid program should succeed");
- if (expected_status == false)
- glErrorShouldBe(gl, gl.INVALID_OPERATION, "using an invalid program should generate INVALID_OPERATION");
- return prog;
- }
-
- var progGood1 = checkLinkAndUse([vs, fs], false, true, "valid program should link");
- var progGood2 = checkLinkAndUse([vs, fs2], false, true, "valid program #2 should link");
- var progBad1 = checkLinkAndUse([vs], false, false, "program with no fragment shader should fail to link");
- var progBad2 = checkLinkAndUse([fs], false, false, "program with no vertex shader should fail to link");
- var progBad3 = checkLinkAndUse([vsBad, fs], false, false, "program with bad vertex shader should fail to link");
- var progBad4 = checkLinkAndUse([vs, fsBad], false, false, "program with bad fragment shader should fail to link");
- var progBad5 = checkLinkAndUse([vsBad, fsBad], false, false, "program with bad shaders should fail to link");
-
- gl.useProgram(progGood1);
- glErrorShouldBe(gl, gl.NO_ERROR, "using a valid program shouldn't generate a GL error");
-
- var vbuf = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vbuf);
- gl.bufferData(gl.ARRAY_BUFFER,
- new Float32Array([
- 0.0, 0.0, 0.0, 1.0,
- 1.0, 0.0, 0.0, 1.0,
- 1.0, 1.0, 0.0, 1.0,
- 0.0, 1.0, 0.0, 1.0]),
- gl.STATIC_DRAW);
- gl.vertexAttribPointer(0, 4, gl.FLOAT, false, 0, 0);
- gl.enableVertexAttribArray(0);
- gl.vertexAttrib3f(1, 1.0, 0.0, 0.0);
-
- glErrorShouldBe(gl, gl.NO_ERROR, "should be no errors at this point #2");
-
- gl.useProgram(progGood1);
- gl.drawArrays(gl.TRIANGLES, 0, 3);
- glErrorShouldBe(gl, gl.NO_ERROR, "drawing with a valid program shouldn't generate a GL error");
-
- gl.useProgram(progBad1);
- glErrorShouldBe(gl, gl.INVALID_OPERATION, "using an invalid program should generate INVALID_OPERATION");
- gl.drawArrays(gl.TRIANGLES, 0, 3);
- glErrorShouldBe(gl, gl.NO_ERROR, "Try to use an invalid program should not change the current rendering state");
-
- gl.useProgram(progGood2);
- gl.drawArrays(gl.TRIANGLES, 0, 3);
- glErrorShouldBe(gl, gl.NO_ERROR, "drawing with a valid program shouldn't generate a GL error");
- gl.detachShader(progGood2, fs2);
- gl.attachShader(progGood2, fsBad);
- gl.linkProgram(progGood2);
- assertMsg(gl.getProgramParameter(progGood2, gl.LINK_STATUS) == false,
- "linking should fail with in-use formerly good program, with new bad shader attached");
-
- gl.useProgram(progGood1);
- gl.drawArrays(gl.TRIANGLES, 0, 4);
- glErrorShouldBe(gl, gl.NO_ERROR, "drawing with a valid when last used program shouldn't generate a GL error");
-
- var progGood1 = checkLinkAndUse([vs, fs], true, true, "delete shaders after attaching them and before linking program should not affect linkProgram");
- gl.useProgram(progGood1);
- gl.drawArrays(gl.TRIANGLES, 0, 4);
- glErrorShouldBe(gl, gl.NO_ERROR, "drawing with a valid when last used program shouldn't generate a GL error");
-
-/////// Check deleteProgram() and deleteShader() /////////////////////////////
-
- gl.useProgram(progGood1);
- gl.deleteProgram(progGood1);
- gl.drawArrays(gl.TRIANGLES, 0, 4);
- glErrorShouldBe(gl, gl.NO_ERROR, "delete the current program shouldn't change the current rendering state");
-
- gl.linkProgram(progGood1);
- glErrorShouldBe(gl, gl.NO_ERROR, "The current program shouldn't be deleted");
-
- var fs3 = gl.createShader(gl.FRAGMENT_SHADER);
- gl.shaderSource(fs3, "precision mediump float; varying vec4 vColor; void main() { gl_FragColor = vColor; }");
- gl.compileShader(fs3);
-
- assertMsg(gl.getShaderParameter(fs3, gl.COMPILE_STATUS) == true,
- "good fragment shader should compile");
-
- gl.deleteShader(fs3);
- gl.compileShader(fs3);
- glErrorShouldBe(gl, gl.INVALID_VALUE, "an unattached shader should be deleted immediately");
-
- fs3 = gl.createShader(gl.FRAGMENT_SHADER);
- gl.shaderSource(fs3, "precision mediump float; varying vec4 vColor; void main() { gl_FragColor = vColor; }");
- gl.compileShader(fs3);
-
- assertMsg(gl.getShaderParameter(fs3, gl.COMPILE_STATUS) == true,
- "good fragment shader should compile");
-
- gl.detachShader(progGood1, fs);
- gl.attachShader(progGood1, fs3);
-
- gl.deleteShader(fs3);
- gl.compileShader(fs3);
- assertMsg(gl.getShaderParameter(fs3, gl.COMPILE_STATUS) == true,
- "an attached shader shouldn't be deleted");
-
- gl.useProgram(null);
- gl.linkProgram(progGood1);
- glErrorShouldBe(gl, gl.INVALID_VALUE, "a delete-marked program should be deleted once it's no longer the current program");
-
- gl.compileShader(fs3);
- glErrorShouldBe(gl, gl.INVALID_VALUE, "a delete-marked shader should be deleted once all its attachments are removed");
-}
-
-debug("");
-go();
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment-expected.txt
deleted file mode 100644
index 8e9fcc1..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment-expected.txt
+++ /dev/null
@@ -1,114 +0,0 @@
-Verify readPixels() works fine with various PACK_ALIGNMENT values.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS gl = initWebGL('example', 'vshader', 'fshader', [ 'pos', 'colorIn' ], [ 0, 0, 0, 1 ], 1) is non-null.
-Testing format = RGBA and type = UNSIGNED_BYTE
-Testing PACK_ALIGNMENT = 1, width = 1, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 2, width = 1, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 4, width = 1, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 1, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 4, width = 2, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 2, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 4, width = 3, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 3, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 4, width = 4, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 4, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 5, height = 1
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 4, width = 5, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 5, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 6, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 7, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 8, width = 8, height = 2
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS 255,102,0,255 is non-null.
-PASS pixel is expectedColor
-Testing PACK_ALIGNMENT = 1, width = 0, height = 0
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-Testing PACK_ALIGNMENT = 2, width = 0, height = 0
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-Testing PACK_ALIGNMENT = 4, width = 0, height = 0
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-Testing PACK_ALIGNMENT = 8, width = 0, height = 0
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-Testing PACK_ALIGNMENT = 1, width = -1, height = 1
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_VALUE :
-Testing PACK_ALIGNMENT = 2, width = 1, height = -1
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_VALUE :
-Testing PACK_ALIGNMENT = 4, width = 0, height = -1
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_VALUE :
-Testing PACK_ALIGNMENT = 8, width = -1, height = -1
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_VALUE :
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment.html
deleted file mode 100644
index 89ae59d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-pack-alignment.html
+++ /dev/null
@@ -1,237 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec3 pos;
-attribute vec4 colorIn;
-varying vec4 color;
-
-void main()
-{
- color = colorIn;
- gl_Position = vec4(pos.xyz, 1.0);
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision mediump float;
-#endif
-varying vec4 color;
-
-void main()
-{
- gl_FragColor = color;
-}
-</script>
-</head>
-<body>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-// The below declarations need to be global for "shouldBe" to see them
-var gl = null;
-var array = null;
-var pixel = [ 0, 0, 0, 0 ];
-var expectedColor = [ 0, 0, 0, 0 ];
-
-function calculatePixelBytes(format, type)
-{
- var size = 0;
- switch (format) {
- case gl.ALPHA:
- size = 1;
- break;
- case gl.RGB:
- size = 3;
- break;
- case gl.RGBA:
- size = 4;
- break;
- default:
- return -1;
- }
- switch (type) {
- case gl.UNSIGNED_BYTE:
- break;
- case gl.UNSIGNED_SHORT_5_6_5:
- if (format != gl.RGB)
- return -1;
- size = 2;
- break;
- case gl.UNSIGNED_SHORT_4_4_4_4:
- case gl.UNSIGNED_SHORT_5_5_5_1:
- if (format != gl.RGBA)
- return -1;
- size = 2;
- break;
- default:
- return -1;
- }
- return size;
-}
-
-function calculatePaddingBytes(bytesPerPixel, packAlignment, width)
-{
- var padding = 0;
- switch (packAlignment) {
- case 1:
- case 2:
- case 4:
- case 8:
- padding = (bytesPerPixel * width) % packAlignment;
- if (padding > 0)
- padding = packAlignment - padding;
- break;
- default:
- return -1;
- }
- return padding;
-}
-
-function packColor(format, type, r, g, b, a)
-{
- // FIXME: not sure if the color packing is correct for UNSIGNED_SHORT_*.
- var color = [ 0, 0, 0, 0 ];
- switch (type) {
- case gl.UNSIGNED_BYTE:
- switch (format) {
- case gl.ALPHA:
- color[0] = a;
- break;
- case gl.RGB:
- color[0] = r;
- color[1] = g;
- color[2] = b;
- break;
- case gl.RGBA:
- color[0] = r;
- color[1] = g;
- color[2] = b;
- color[3] = a;
- break;
- default:
- return null;
- }
- break;
- case gl.UNSIGNED_SHORT_5_6_5:
- if (format != gl.RGB)
- return null;
- r >>= 3;
- g >>= 2;
- b >>= 3;
- color[0] = (r << 11) + (g << 5) + b;
- break;
- case gl.UNSIGNED_SHORT_4_4_4_4:
- if (format != gl.RGBA)
- return null;
- r >>= 4;
- g >>= 4;
- b >>= 4;
- a >>= 4;
- color[0] = (r << 12) + (g << 8) + (b << 4) + a;
- break;
- case gl.UNSIGNED_SHORT_5_5_5_1:
- if (format != gl.RGBA)
- return null;
- r >>= 3;
- g >>= 3;
- b >>= 3;
- a >>= 7;
- color[0] = (r << 11) + (g << 6) + (b << 1) + a;
- break;
- Default:
- return null;
- }
- return color;
-}
-
-function runTestIteration(format, type, packAlignment, width, height)
-{
- debug("Testing PACK_ALIGNMENT = " + packAlignment + ", width = " + width + ", height = " + height);
- gl.clearColor(1, 0.4, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT);
- gl.pixelStorei(gl.PACK_ALIGNMENT, packAlignment);
- glErrorShouldBe(gl, gl.NO_ERROR);
- var bytesPerPixel = calculatePixelBytes(format, type);
- var padding = calculatePaddingBytes(bytesPerPixel, packAlignment, width);
- var size = bytesPerPixel * width * height + padding * (height - 1);
- var isShort = false;
- switch (type) {
- case gl.UNSIGNED_SHORT_5_6_5:
- case gl.UNSIGNED_SHORT_4_4_4_4:
- case gl.UNSIGNED_SHORT_5_5_5_1:
- isShort = true;
- }
- if (isShort)
- size /= 2;
- if (size < 0)
- size = 0;
- if (type == gl.UNSIGNED_BYTE)
- array = new Uint8Array(size);
- else
- array = new Uint16Array(size);
- gl.readPixels(0, 0, width, height, format, type, array);
- if (width < 0 || height < 0) {
- glErrorShouldBe(gl, gl.INVALID_VALUE);
- return;
- } else {
- glErrorShouldBe(gl, gl.NO_ERROR);
- if (!array.length)
- return;
- }
- // Check the last pixel of the last row.
- var bytesPerRow = width * bytesPerPixel + padding;
- var pos = bytesPerRow * (height - 1) + (width - 1) * bytesPerPixel;
- var numComponents = bytesPerPixel;
- if (isShort) {
- pos /= 2;
- numComponents /= 2;
- }
- for (var i = 0; i < numComponents; ++i)
- pixel[i] = array[pos + i];
- for (var i = numComponents; i < 4; ++i)
- pixel[i] = 0;
- expectedColor = packColor(format, type, 255, 102, 0, 255);
- shouldBeNonNull(expectedColor);
- shouldBe("pixel", "expectedColor");
-}
-
-description('Verify readPixels() works fine with various PACK_ALIGNMENT values.');
-
-shouldBeNonNull("gl = initWebGL('example', 'vshader', 'fshader', [ 'pos', 'colorIn' ], [ 0, 0, 0, 1 ], 1)");
-gl.disable(gl.BLEND);
-
-debug("Testing format = RGBA and type = UNSIGNED_BYTE");
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 1, 1, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 2, 1, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 1, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 1, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 2, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 2, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 3, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 3, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 4, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 4, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 5, 1);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 5, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 5, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 6, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 7, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 8, 2);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 1, 0, 0);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 2, 0, 0);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 0, 0);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, 0, 0);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 1, -1, 1);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 2, 1, -1);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 4, 0, -1);
-runTestIteration(gl.RGBA, gl.UNSIGNED_BYTE, 8, -1, -1);
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test-expected.txt
deleted file mode 100644
index 8986c88..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test-expected.txt
+++ /dev/null
@@ -1,151 +0,0 @@
-Checks that ReadPixels works as expected.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-checking: in range
-PASS color pixel at 0, 0 should be about 127.5
-PASS color pixel at 0, 0 should be about 178.5
-PASS color pixel at 0, 0 should be about 255
-PASS color pixel at 0, 0 should be about 255
-PASS color pixel at 1, 0 should be about 127.5
-PASS color pixel at 1, 0 should be about 178.5
-PASS color pixel at 1, 0 should be about 255
-PASS color pixel at 1, 0 should be about 255
-PASS color pixel at 0, 1 should be about 127.5
-PASS color pixel at 0, 1 should be about 178.5
-PASS color pixel at 0, 1 should be about 255
-PASS color pixel at 0, 1 should be about 255
-PASS color pixel at 1, 1 should be about 127.5
-PASS color pixel at 1, 1 should be about 178.5
-PASS color pixel at 1, 1 should be about 255
-PASS color pixel at 1, 1 should be about 255
-
-checking: off top left
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 1, 1 should be about 127.5
-PASS color pixel at 1, 1 should be about 178.5
-PASS color pixel at 1, 1 should be about 255
-PASS color pixel at 1, 1 should be about 255
-
-checking: off bottom right
-PASS color pixel at 0, 0 should be about 127.5
-PASS color pixel at 0, 0 should be about 178.5
-PASS color pixel at 0, 0 should be about 255
-PASS color pixel at 0, 0 should be about 255
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-
-checking: completely off top
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-
-checking: completely off bottom
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-
-checking: completely off left
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-
-checking: completeley off right
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 0, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 1, 0 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 0, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS color pixel at 1, 1 should be about 0
-PASS getError was expected value: NO_ERROR : there should be no GL errors
-
-check disallowed formats
-PASS getError was expected value: INVALID_OPERATION : Should not be able to read as RGB / UNSIGNED_BYTE
-PASS getError was expected value: INVALID_OPERATION : Should not be able to read as RGB / UNSIGNED_SHORT_5_6_5
-PASS getError was expected value: INVALID_OPERATION : Should not be able to read as RGBA / UNSIGNED_SHORT_5_5_5_1
-PASS getError was expected value: INVALID_OPERATION : Should not be able to read as RGBA / UNSIGNED_SHORT_4_4_4_4
-PASS getError was expected value: INVALID_OPERATION : Should not be able to read as ALPHA / UNSIGNED_BYTE
-PASS getError was expected value: INVALID_ENUM : Should not be able to read as LUMINANCE / UNSIGNED_BYTE
-PASS getError was expected value: INVALID_ENUM : Should not be able to read as LUMINANCE_ALPHA / UNSIGNED_BYTE
-
-check reading with lots of drawing
-PASS actual is expected
-PASS actual is expected
-PASS actual is expected
-PASS getError was expected value: NO_ERROR : there should be no GL errors
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test.html
deleted file mode 100644
index 396ccdc..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/read-pixels-test.html
+++ /dev/null
@@ -1,221 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<title>WebGL ReadPixels conformance test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="200" height="200" style="width: 20px; height: 20px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("Checks that ReadPixels works as expected.");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = create3DContext(canvas);
-
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
-}
-
-var actual;
-var expected;
-var width = 2;
-var height = 2;
-var continueTestFunc = continueTestPart1;
-
-gl.clearColor(1, 1, 1, 1);
-gl.clear(gl.COLOR_BUFFER_BIT);
-
-// Resize the canvas to 2x2. This is an attempt to get stuff in the backbuffer.
-// that shouldn't be there.
-canvas.addEventListener("webglcontextrestored", continueTestAfterContextRestored, false);
-canvas.width = width;
-canvas.height = height;
-if (gl.getError() != gl.CONTEXT_LOST_WEBGL) {
- continueTestPart1();
-}
-
-function continueTestAfterContextRestored() {
- window.gl = create3DContext(canvas);
- var func = continueTestFunc;
- window.continueTestFunc = function() { testFailed("should not be here"); };
- func();
-}
-
-function continueTestPart1() {
- gl.clearColor(0.5, 0.7, 1.0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT);
-
- var innerColor = [0.5, 0.7, 1.0, 1];
- var outerColor = [0, 0, 0, 0];
-
- var tests = [
- { msg: 'in range', checkColor: innerColor, x: 0, y: 0,
- oneColor: innerColor, oneX: 0, oneY: 0},
- { msg: 'off top left', checkColor: outerColor, x: -1, y: -1,
- oneColor: innerColor, oneX: 1, oneY: 1},
- { msg: 'off bottom right', checkColor: outerColor, x: 1, y: 1,
- oneColor: innerColor, oneX: 0, oneY: 0},
- { msg: 'completely off top ', checkColor: outerColor, x: 0, y: -2,
- oneColor: outerColor, oneX: 0, oneY: 0},
- { msg: 'completely off bottom', checkColor: outerColor, x: 0, y: 2,
- oneColor: outerColor, oneX: 0, oneY: 0},
- { msg: 'completely off left', checkColor: outerColor, x: -2, y: 0,
- oneColor: outerColor, oneX: 0, oneY: 0},
- { msg: 'completeley off right', checkColor: outerColor, x: 2, y: 0,
- oneColor: outerColor, oneX: 0, oneY: 0}
- ];
-
- for (var tt = 0; tt < tests.length; ++tt) {
- var test = tests[tt];
- debug("");
- debug("checking: " + test.msg);
- checkBuffer(test.checkColor, test.x, test.y,
- test.oneColor, test.oneX, test.oneY);
- }
-
- glErrorShouldBe(gl, gl.NO_ERROR, "there should be no GL errors");
-
- function checkBuffer(checkColor, x, y, oneColor, oneX, oneY) {
- var buf = new Uint8Array(width * height * 4);
- gl.readPixels(x, y, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- for (var yy = 0; yy < height; ++yy) {
- for (var xx = 0; xx < width; ++xx) {
- var offset = (yy * width + xx) * 4;
- var expectedColors = (oneX == xx && oneY == yy) ? oneColor : checkColor;
- for (var cc = 0; cc < 4; ++cc) {
- var expectedColor = expectedColors[cc] * 255;
- var color = buf[offset + cc];
- var diff = Math.abs(expectedColor - color);
- assertMsg(diff < 3,
- "color pixel at " + xx + ", " + yy + " should be about " + expectedColor);
- }
- }
- }
- }
-
- var badFormats = [
- {
- format: gl.RGB,
- type: gl.UNSIGNED_BYTE,
- dest: new Uint8Array(3),
- error: gl.INVALID_OPERATION
- },
- {
- format: gl.RGB,
- type: gl.UNSIGNED_SHORT_5_6_5,
- dest: new Uint8Array(3),
- error: gl.INVALID_OPERATION
- },
- {
- format: gl.RGBA,
- type: gl.UNSIGNED_SHORT_5_5_5_1,
- dest: new Uint16Array(1),
- error: gl.INVALID_OPERATION
- },
- {
- format: gl.RGBA,
- type: gl.UNSIGNED_SHORT_4_4_4_4,
- dest: new Uint16Array(1),
- error: gl.INVALID_OPERATION
- },
- {
- format: gl.ALPHA,
- type: gl.UNSIGNED_BYTE,
- dest: new Uint8Array(1),
- error: gl.INVALID_OPERATION
- },
- {
- format: gl.LUMINANCE,
- type: gl.UNSIGNED_BYTE,
- dest: new Uint8Array(1),
- error: gl.INVALID_ENUM
- },
- {
- format: gl.LUMINANCE_ALPHA,
- type: gl.UNSIGNED_BYTE,
- dest: new Uint8Array(2),
- error: gl.INVALID_ENUM
- }
- ];
- debug("");
- debug("check disallowed formats");
- for (var tt = 0; tt < badFormats.length; ++ tt) {
- var info = badFormats[tt]
- var format = info.format;
- var type = info.type;
- var dest = info.dest;
- var error = info.error;
- gl.readPixels(0, 0, 1, 1, format, type, dest);
- // note that the GL error is INVALID_OPERATION if both format and type are invalid, but
- // INVALID_ENUM if only one is.
- glErrorShouldBe(
- gl, error,
- "Should not be able to read as " + wtu.glEnumToString(gl, format) +
- " / " + wtu.glEnumToString(gl, type));
- }
-
- debug("");
- debug("check reading with lots of drawing");
- continueTestFunc = continueTestPart2;
- width = 1024;
- height = 1024;
- canvas.width = width;
- canvas.height = height;
- if (gl.getError() != gl.CONTEXT_LOST_WEBGL) {
- continueTestPart2();
- }
-}
-
-function continueTestPart2() {
- gl.viewport(0, 0, 1024, 1024);
- var program = wtu.setupTexturedQuad(gl);
- var loc = gl.getUniformLocation(program, "tex");
- gl.disable(gl.BLEND);
- gl.disable(gl.DEPTH_TEST);
- var colors = [[255, 0, 0, 255], [0, 255, 0, 255], [0, 0, 255, 255]];
- var textures = [];
- var results = [];
- for (var ii = 0; ii < colors.length; ++ii) {
- gl.activeTexture(gl.TEXTURE0 + ii);
- var tex = gl.createTexture();
- wtu.fillTexture(gl, tex, 1, 1, colors[ii]);
- textures.push(tex);
- }
- for (var ii = 0; ii < colors.length; ++ii) {
- for (var jj = 0; jj < 0 + ii + 1; ++jj) {
- gl.uniform1i(loc, jj % 3);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
- }
- var buf = new Uint8Array(4);
- gl.readPixels(512, 512, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- results.push(buf);
- for (var kk = 0; kk < 1; ++kk) {
- gl.uniform1i(loc, (jj + kk) % 3);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
- }
- }
- for (var ii = 0; ii < colors.length; ++ii) {
- var buf = results[ii];
- var color = colors[ii];
- actual = [buf[0], buf[1], buf[2], buf[3]];
- expected = [color[0], color[1], color[2], color[3]];
- shouldBe("actual", "expected");
- }
- glErrorShouldBe(gl, gl.NO_ERROR, "there should be no GL errors");
-
- debug("");
- finishTest();
-}
-</script>
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization-expected.txt
deleted file mode 100644
index 0d1ba15..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-Verify renderbuffers are initialized to 0 before being read in WebGL
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Test whether the WebGL internal buffers have been initialized to 0.
-PASS Buffers have been initialized to 0.
-Test whether user created buffers have been initialized to 0.
-PASS Buffers have been initialized to 0.
-Test whether the WebGL internal buffers have been initialized to 0.
-PASS Buffers have been initialized to 0.
-Test whether user created buffers have been initialized to 0.
-PASS Buffers have been initialized to 0.
-PASS clearColor is [1, 0, 0, 1]
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization.html
deleted file mode 100644
index c0de8e1..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/renderbuffer-initialization.html
+++ /dev/null
@@ -1,83 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script>
-function runTest(gl, width, height)
-{
-
- debug('Test whether the WebGL internal buffers have been initialized to 0.');
- var totalBytes = width * height * 4;
- var buf = new Uint8Array(totalBytes);
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- if (gl.getError() != gl.NO_ERROR) {
- testFailed('GL error detected after readPixels().');
- return false;
- }
- for (var i = 0; i < totalBytes; ++i) {
- if (buf[i] != 0) {
- testFailed('WebGL internal buffers are dirty.');
- return false;
- }
- }
- testPassed('Buffers have been initialized to 0.');
-
- debug('Test whether user created buffers have been initialized to 0.');
- var fbo = gl.createFramebuffer();
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- var colorbuffer = gl.createRenderbuffer();
- gl.bindRenderbuffer(gl.RENDERBUFFER, colorbuffer);
- gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, width, height);
- if (gl.getError() != gl.NO_ERROR) {
- testFailed('GL error detected after renderbufferStorage(internalformat = RGBA4).');
- return false;
- }
- gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorbuffer);
- if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE) {
- testFailed('Framebuffer incomplete.');
- return false;
- }
- gl.readPixels(0, 0, width, height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- if (gl.getError() != gl.NO_ERROR) {
- testFailed('GL error detected after readPixels().');
- return false;
- }
- for (var i = 0; i < totalBytes; ++i) {
- if (buf[i] != 0) {
- testFailed('User created buffers are dirty.');
- return false;
- }
- }
-
- testPassed('Buffers have been initialized to 0.');
- return true;
-}
-</script>
-</head>
-<body>
-<canvas id="testbed" width="400px" height="400px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-
-description('Verify renderbuffers are initialized to 0 before being read in WebGL');
-
-var canvas = document.getElementById("testbed");
-var gl = canvas.getContext("webgl");
-if (gl) {
- runTest(gl, canvas.width, canvas.height);
-
- // Testing that canvas resizing will clear the buffers with 0 instead of the current clear values.
- gl.clearColor(1, 0, 0, 1);
- canvas.width += 1;
- canvas.height += 1;
- runTest(gl, canvas.width, canvas.height);
-
- // Testing buffer clearing won't change the clear values.
- var clearColor = gl.getParameter(gl.COLOR_CLEAR_VALUE);
- shouldBe("clearColor", "[1, 0, 0, 1]");
-} else
- testFailed('canvas.getContext() failed');
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format-expected.txt
deleted file mode 100644
index d928fa0..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format-expected.txt
+++ /dev/null
@@ -1,56 +0,0 @@
-WebGL shader precision format test.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Tests that WebGLShaderPrecisionFormat class and getShaderPrecisionFormat work.
-
-
-Test that getShaderPrecisionFormat returns a WebGLShaderPrecisionFormat object.
-
-PASS gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.LOW_FLOAT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.LOW_INT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_INT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_INT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.LOW_FLOAT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_FLOAT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_FLOAT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.LOW_INT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.MEDIUM_INT) instanceof WebGLShaderPrecisionFormat is true
-PASS gl.getShaderPrecisionFormat(gl.FRAGMENT_SHADER, gl.HIGH_INT) instanceof WebGLShaderPrecisionFormat is true
-
-Test that getShaderPrecisionFormat throws an error with invalid parameters.
-
-PASS gl.getShaderPrecisionFormat(gl.HIGH_INT, gl.VERTEX_SHADER) generated expected GL error: INVALID_ENUM.
-
-Test that WebGLShaderPrecisionFormat values are sensible.
-
-PASS shaderPrecisionFormat.rangeMin >= 1 is true
-PASS shaderPrecisionFormat.rangeMax >= 1 is true
-PASS shaderPrecisionFormat.precision >= 8 is true
-PASS shaderPrecisionFormat.rangeMin >= 14 is true
-PASS shaderPrecisionFormat.rangeMax >= 14 is true
-PASS shaderPrecisionFormat.precision >= 10 is true
-PASS shaderPrecisionFormat.rangeMin >= 62 is true
-PASS shaderPrecisionFormat.rangeMax >= 62 is true
-PASS shaderPrecisionFormat.precision >= 16 is true
-PASS shaderPrecisionFormat.rangeMin >= 8 is true
-PASS shaderPrecisionFormat.rangeMax >= 8 is true
-PASS shaderPrecisionFormat.precision == 0 is true
-PASS shaderPrecisionFormat.rangeMin >= 10 is true
-PASS shaderPrecisionFormat.rangeMax >= 10 is true
-PASS shaderPrecisionFormat.precision == 0 is true
-PASS shaderPrecisionFormat.rangeMin >= 16 is true
-PASS shaderPrecisionFormat.rangeMax >= 16 is true
-PASS shaderPrecisionFormat.precision == 0 is true
-
-Test that getShaderPrecisionFormat returns the same thing every call.
-
-PASS shaderPrecisionFormat.rangeMin == shaderPrecisionFormat2.rangeMin is true
-PASS shaderPrecisionFormat.rangeMax == shaderPrecisionFormat2.rangeMax is true
-PASS shaderPrecisionFormat.precision == shaderPrecisionFormat2.precision is true
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format.html
deleted file mode 100644
index 94f2c07..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/shader-precision-format.html
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL shader precision format test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="canvas" width="2" height="2" style="width: 40px; height: 40px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
-}
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-description(document.title);
-debug("Tests that WebGLShaderPrecisionFormat class and getShaderPrecisionFormat work.");
-debug("");
-var gl = create3DContext(document.getElementById("canvas"));
-
-function verifyShaderPrecisionFormat(shadertype, precisiontype) {
- shouldBeTrue('gl.getShaderPrecisionFormat(' + shadertype + ', ' +
- precisiontype + ') instanceof WebGLShaderPrecisionFormat');
-}
-
-debug("");
-debug("Test that getShaderPrecisionFormat returns a WebGLShaderPrecisionFormat object.");
-debug("");
-
-verifyShaderPrecisionFormat('gl.VERTEX_SHADER', 'gl.LOW_FLOAT');
-verifyShaderPrecisionFormat('gl.VERTEX_SHADER', 'gl.MEDIUM_FLOAT');
-verifyShaderPrecisionFormat('gl.VERTEX_SHADER', 'gl.HIGH_FLOAT');
-verifyShaderPrecisionFormat('gl.VERTEX_SHADER', 'gl.LOW_INT');
-verifyShaderPrecisionFormat('gl.VERTEX_SHADER', 'gl.MEDIUM_INT');
-verifyShaderPrecisionFormat('gl.VERTEX_SHADER', 'gl.HIGH_INT');
-verifyShaderPrecisionFormat('gl.FRAGMENT_SHADER', 'gl.LOW_FLOAT');
-verifyShaderPrecisionFormat('gl.FRAGMENT_SHADER', 'gl.MEDIUM_FLOAT');
-verifyShaderPrecisionFormat('gl.FRAGMENT_SHADER', 'gl.HIGH_FLOAT');
-verifyShaderPrecisionFormat('gl.FRAGMENT_SHADER', 'gl.LOW_INT');
-verifyShaderPrecisionFormat('gl.FRAGMENT_SHADER', 'gl.MEDIUM_INT');
-verifyShaderPrecisionFormat('gl.FRAGMENT_SHADER', 'gl.HIGH_INT');
-
-debug("");
-debug("Test that getShaderPrecisionFormat throws an error with invalid parameters.");
-debug("");
-
-shouldGenerateGLError(gl, gl.INVALID_ENUM, 'gl.getShaderPrecisionFormat(gl.HIGH_INT, gl.VERTEX_SHADER)');
-
-debug("");
-debug("Test that WebGLShaderPrecisionFormat values are sensible.");
-debug("");
-
-// The minimum values are from OpenGL ES Shading Language spec, section 4.5.
-
-var shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.LOW_FLOAT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin >= 1');
-shouldBeTrue('shaderPrecisionFormat.rangeMax >= 1');
-shouldBeTrue('shaderPrecisionFormat.precision >= 8');
-
-shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_FLOAT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin >= 14');
-shouldBeTrue('shaderPrecisionFormat.rangeMax >= 14');
-shouldBeTrue('shaderPrecisionFormat.precision >= 10');
-
-shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_FLOAT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin >= 62');
-shouldBeTrue('shaderPrecisionFormat.rangeMax >= 62');
-shouldBeTrue('shaderPrecisionFormat.precision >= 16');
-
-shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.LOW_INT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin >= 8');
-shouldBeTrue('shaderPrecisionFormat.rangeMax >= 8');
-shouldBeTrue('shaderPrecisionFormat.precision == 0');
-
-shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.MEDIUM_INT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin >= 10');
-shouldBeTrue('shaderPrecisionFormat.rangeMax >= 10');
-shouldBeTrue('shaderPrecisionFormat.precision == 0');
-
-shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.HIGH_INT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin >= 16');
-shouldBeTrue('shaderPrecisionFormat.rangeMax >= 16');
-shouldBeTrue('shaderPrecisionFormat.precision == 0');
-
-debug("");
-debug("Test that getShaderPrecisionFormat returns the same thing every call.");
-debug("");
-
-shaderPrecisionFormat = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.LOW_FLOAT);
-var shaderPrecisionFormat2 = gl.getShaderPrecisionFormat(gl.VERTEX_SHADER, gl.LOW_FLOAT);
-shouldBeTrue('shaderPrecisionFormat.rangeMin == shaderPrecisionFormat2.rangeMin');
-shouldBeTrue('shaderPrecisionFormat.rangeMax == shaderPrecisionFormat2.rangeMax');
-shouldBeTrue('shaderPrecisionFormat.precision == shaderPrecisionFormat2.precision');
-
-finishTest();
-</script>
-
-</body>
-</html>
-
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view-expected.txt
deleted file mode 100644
index d4b3f98..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view-expected.txt
+++ /dev/null
@@ -1,488 +0,0 @@
-Verifies texImage2D and texSubImage2D code paths taking ArrayBufferView
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=1, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=2, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=4, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_BYTE, unpackAlignment=8, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=1, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=2, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=4, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_5_5_5_1, unpackAlignment=8, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=1, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=2, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=4, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=true, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=false, premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=true, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with type=UNSIGNED_SHORT_4_4_4_4, unpackAlignment=8, flipY=false, premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
deleted file mode 100644
index 2753e3f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-array-buffer-view.html
+++ /dev/null
@@ -1,182 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<canvas id="example" width="1px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description('Verifies texImage2D and texSubImage2D code paths taking ArrayBufferView');
-
-var wtu = WebGLTestUtils;
-var gl = null;
-var textureLoc = null;
-
-// These two declarations need to be global for "shouldBe" to see them
-var buf = null;
-var idx = 0;
-var pixel = [0, 0, 0, 1];
-var correctColor = null;
-
-function generateRGBAData(type, unpackAlignment)
-{
- var sourceData = [ 255, 0, 0, 255,
- 0, 255, 0, 0 ];
- switch (type) {
- case gl.UNSIGNED_BYTE: {
- var rowWidth = Math.max(unpackAlignment, 4);
- var data = new Uint8Array(2 * rowWidth);
- for (var y = 0; y < 2; ++y) {
- var index = y * rowWidth;
- for (var element = 0; element < 4; ++element) {
- data[index + element] = sourceData[4 * y + element];
- }
- }
- return data;
- }
- case gl.UNSIGNED_SHORT_4_4_4_4: {
- var rowWidth = Math.max(unpackAlignment, 2) / 2;
- var data = new Uint16Array(2 * rowWidth);
- for (var y = 0; y < 2; ++y) {
- var index = y * rowWidth;
- data[index] = (((sourceData[4 * y] & 0xF0) << 8)
- | ((sourceData[4 * y + 1] & 0xF0) << 4)
- | (sourceData[4 * y + 2] & 0xF0)
- | (sourceData[4 * y + 3] >> 4));
- }
- return data;
- }
- case gl.UNSIGNED_SHORT_5_5_5_1: {
- var rowWidth = Math.max(unpackAlignment, 2) / 2;
- var data = new Uint16Array(2 * rowWidth);
- for (var y = 0; y < 2; ++y) {
- var index = y * rowWidth;
- data[index] = (((sourceData[4 * y] & 0xF8) << 8)
- | ((sourceData[4 * y + 1] & 0xF8) << 3)
- | ((sourceData[4 * y + 2] & 0xF8) >> 2)
- | (sourceData[4 * y + 3] >> 7));
- }
- return data;
- }
- }
-}
-
-function typeToString(type)
-{
- switch (type) {
- case gl.UNSIGNED_BYTE: return 'UNSIGNED_BYTE';
- case gl.UNSIGNED_SHORT_5_5_5_1: return 'UNSIGNED_SHORT_5_5_5_1';
- case gl.UNSIGNED_SHORT_4_4_4_4: return 'UNSIGNED_SHORT_4_4_4_4';
- }
- return 'Unknown type ' + type;
-}
-
-function runOneIteration(useTexSubImage2D, type, unpackAlignment, flipY, premultiplyAlpha, topColor, bottomColor)
-{
- debug('Testing ' + (useTexSubImage2D ? 'texSubImage2D' : 'texImage2D') +
- ' with type=' + typeToString(type) +
- ', unpackAlignment=' + unpackAlignment +
- ', flipY=' + flipY + ', premultiplyAlpha=' + premultiplyAlpha);
- gl.colorMask(true, true, true, true);
- gl.clearColor(0, 0, 0, 1.0);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- // Enable writes to the RGB channels
- gl.colorMask(true, true, true, false);
- var texture = gl.createTexture();
- // Bind the texture to texture unit 0
- gl.bindTexture(gl.TEXTURE_2D, texture);
- // Set up texture parameters
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
- // Set up pixel store parameters
- gl.pixelStorei(gl.UNPACK_ALIGNMENT, unpackAlignment);
- gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, flipY);
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, premultiplyAlpha);
- // Generate the data
- var data = generateRGBAData(type, unpackAlignment);
- if (gl.getError() != gl.NO_ERROR)
- testFailed("GL error before texture upload");
- // Upload the image into the texture
- if (useTexSubImage2D) {
- // Initialize the texture to black first
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 2, 0,
- gl.RGBA, type, null);
- if (gl.getError() != gl.NO_ERROR)
- testFailed("GL error after texImage2D(null)");
- gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 2, gl.RGBA, type, data);
- if (gl.getError() != gl.NO_ERROR)
- testFailed("GL error after texSubImage2D");
- } else {
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 1, 2, 0, gl.RGBA, type, data);
- if (gl.getError() != gl.NO_ERROR)
- testFailed("GL error after texImage2D");
- }
-
- // Point the uniform sampler to texture unit 0
- gl.uniform1i(textureLoc, 0);
- // Draw the triangles
- wtu.drawQuad(gl, [0, 0, 0, 255]);
-
- // Read back the rendering results
- buf = new Uint8Array(1 * 2 * 4);
- gl.readPixels(0, 0, 1, 2, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- // Check the top pixel and bottom pixel and make sure they have
- // the right color.
- debug("Checking bottom pixel");
- wtu.checkCanvasRect(gl, 0, 0, 1, 1, bottomColor, "shouldBe " + bottomColor);
- debug("Checking top pixel");
- wtu.checkCanvasRect(gl, 0, 1, 1, 1, topColor, "shouldBe " + topColor);
-}
-
-function runTest()
-{
- var red = [255, 0, 0, 255];
- var green = [0, 255, 0, 255];
- var redPremultiplyAlpha = [255, 0, 0, 255];
- var greenPremultiplyAlpha = [0, 0, 0, 255];
-
- var types = [ gl.UNSIGNED_BYTE, gl.UNSIGNED_SHORT_5_5_5_1, gl.UNSIGNED_SHORT_4_4_4_4 ];
- var unpackAlignments = [ 1, 2, 4, 8 ];
-
- for (var i = 0; i < types.length; ++i) {
- var type = types[i];
- for (var j = 0; j < unpackAlignments.length; ++j) {
- var unpackAlignment = unpackAlignments[j];
- runOneIteration(false, type, unpackAlignment, true, false,
- red, green);
- runOneIteration(false, type, unpackAlignment, false, false,
- green, red);
- runOneIteration(false, type, unpackAlignment, true, true,
- redPremultiplyAlpha, greenPremultiplyAlpha);
- runOneIteration(false, type, unpackAlignment, false, true,
- greenPremultiplyAlpha, redPremultiplyAlpha);
- runOneIteration(true, type, unpackAlignment, true, false,
- red, green);
- runOneIteration(true, type, unpackAlignment, false, false,
- green, red);
- runOneIteration(true, type, unpackAlignment, true, true,
- redPremultiplyAlpha, greenPremultiplyAlpha);
- runOneIteration(true, type, unpackAlignment, false, true,
- greenPremultiplyAlpha, redPremultiplyAlpha);
- }
- }
-
-}
-
-var canvas = document.getElementById("example");
-gl = wtu.create3DContext(canvas);
-var program = wtu.setupTexturedQuad(gl);
-gl.disable(gl.BLEND);
-
-gl.clearColor(0,0,0,1);
-gl.clearDepth(1);
-
-textureLoc = gl.getUniformLocation(program, "tex");
-
-runTest();
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-expected.txt
deleted file mode 100644
index a60c4db..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-expected.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking canvas elements (RGBA/UNSIGNED_BYTE)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565-expected.txt
deleted file mode 100644
index b6d6cbc..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565-expected.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking canvas elements (RGB/UNSIGNED_SHORT_5_6_5)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
deleted file mode 100644
index bd7f1e8..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgb565.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-canvas.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGB", "UNSIGNED_SHORT_5_6_5", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444-expected.txt
deleted file mode 100644
index dc912e96..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444-expected.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking canvas elements (RGBA/UNSIGNED_SHORT_4_4_4_4)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
deleted file mode 100644
index 6522bdd..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba4444.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-canvas.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_4_4_4_4", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551-expected.txt
deleted file mode 100644
index 80f5ffb..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551-expected.txt
+++ /dev/null
@@ -1,40 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking canvas elements (RGBA/UNSIGNED_SHORT_5_5_5_1)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Checking if pixel values in source canvas change after canvas used as webgl texture
-PASS Pixel values in source canvas remain unchanged after canvas used in webgl texture.
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
deleted file mode 100644
index 8a8eec3..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas-rgba5551.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-canvas.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_5_5_5_1", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
deleted file mode 100644
index 37dd5a1..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-canvas.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-canvas.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_BYTE", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt
deleted file mode 100644
index e844130..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-expected.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-
-Verify texImage2D and texSubImage2D code paths taking ImageData (RGBA/UNSIGNED_BYTE)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565-expected.txt
deleted file mode 100644
index f7cd7fd..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565-expected.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-
-Verify texImage2D and texSubImage2D code paths taking ImageData (RGB/UNSIGNED_SHORT_5_6_5)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
deleted file mode 100644
index 7689929..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgb565.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image-data.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGB", "UNSIGNED_SHORT_5_6_5", testPrologue)()'>
-<canvas id="texcanvas" width="1px" height="2px"></canvas>
-<canvas id="example" width="1px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444-expected.txt
deleted file mode 100644
index 50706be..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444-expected.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-
-Verify texImage2D and texSubImage2D code paths taking ImageData (RGBA/UNSIGNED_SHORT_4_4_4_4)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
deleted file mode 100644
index 1ec6703..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba4444.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image-data.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_4_4_4_4", testPrologue)()'>
-<canvas id="texcanvas" width="1px" height="2px"></canvas>
-<canvas id="example" width="1px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551-expected.txt
deleted file mode 100644
index 73eaf4b..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551-expected.txt
+++ /dev/null
@@ -1,53 +0,0 @@
-
-Verify texImage2D and texSubImage2D code paths taking ImageData (RGBA/UNSIGNED_SHORT_5_5_5_1)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 0,255,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=false
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,255,0,255
-Testing texSubImage2D with flipY=true and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 0,0,0,255
-Checking top pixel
-PASS shouldBe 255,0,0,255
-Testing texSubImage2D with flipY=false and premultiplyAlpha=true
-Checking bottom pixel
-PASS shouldBe 255,0,0,255
-Checking top pixel
-PASS shouldBe 0,0,0,255
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
deleted file mode 100644
index f5751f42..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data-rgba5551.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image-data.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_5_5_5_1", testPrologue)()'>
-<canvas id="texcanvas" width="1px" height="2px"></canvas>
-<canvas id="example" width="1px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
deleted file mode 100644
index 49cc92d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-data.html
+++ /dev/null
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image-data.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_BYTE", testPrologue)()'>
-<canvas id="texcanvas" width="1px" height="2px"></canvas>
-<canvas id="example" width="1px" height="2px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt
deleted file mode 100644
index 8325609..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-expected.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking image elements (RGBA/UNSIGNED_BYTE)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565-expected.txt
deleted file mode 100644
index 6f55d7a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565-expected.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking image elements (RGB/UNSIGNED_SHORT_5_6_5)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
deleted file mode 100644
index 1b2b124..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgb565.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGB", "UNSIGNED_SHORT_5_6_5", ".", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444-expected.txt
deleted file mode 100644
index b6cd95c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444-expected.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking image elements (RGBA/UNSIGNED_SHORT_4_4_4_4)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
deleted file mode 100644
index 35be57a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba4444.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_4_4_4_4", ".", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551-expected.txt
deleted file mode 100644
index ca34304..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551-expected.txt
+++ /dev/null
@@ -1,72 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking image elements (RGBA/UNSIGNED_SHORT_5_5_5_1)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html
deleted file mode 100644
index 0d5780f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image-rgba5551.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_5_5_5_1", ".", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
deleted file mode 100644
index 6085f38..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-image.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-image.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_BYTE", ".", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image-expected.txt
deleted file mode 100644
index 9acb45d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image-expected.txt
+++ /dev/null
@@ -1,31 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking SVG image elements
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 0,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 0,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 0,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 0,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html
deleted file mode 100644
index e943c7a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-svg-image.html
+++ /dev/null
@@ -1,20 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-svg-image.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_BYTE", ".", testPrologue)()'>
-<canvas id="example" width="32" height="32"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html> \ No newline at end of file
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt
deleted file mode 100644
index 1fedeaa..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking video elements (RGBA/UNSIGNED_BYTE)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565-expected.txt
deleted file mode 100644
index 815e903..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking video elements (RGB/UNSIGNED_SHORT_5_6_5)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html
deleted file mode 100644
index f10b7f3..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgb565.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-video.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGB", "UNSIGNED_SHORT_5_6_5", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<video width="640" height="228" id="vid" controls>
- <source src="resources/red-green.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
- <source src="resources/red-green.webmvp8.webm" type='video/webm; codecs="vp8, vorbis"' />
- <source src="resources/red-green.theora.ogv" type='video/ogg; codecs="theora, vorbis"' />
-</video>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444-expected.txt
deleted file mode 100644
index 4c76758..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking video elements (RGBA/UNSIGNED_SHORT_4_4_4_4)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html
deleted file mode 100644
index d032239..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba4444.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-video.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_4_4_4_4", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<video width="640" height="228" id="vid" controls>
- <source src="resources/red-green.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
- <source src="resources/red-green.webmvp8.webm" type='video/webm; codecs="vp8, vorbis"' />
- <source src="resources/red-green.theora.ogv" type='video/ogg; codecs="theora, vorbis"' />
-</video>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551-expected.txt
deleted file mode 100644
index e6ac88f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551-expected.txt
+++ /dev/null
@@ -1,29 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking video elements (RGBA/UNSIGNED_SHORT_5_5_5_1)
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-Testing texImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-Testing texSubImage2D with flipY=true
-Checking lower left corner
-PASS shouldBe 0,255,0
-Checking upper left corner
-PASS shouldBe 255,0,0
-Testing texSubImage2D with flipY=false
-Checking lower left corner
-PASS shouldBe 255,0,0
-Checking upper left corner
-PASS shouldBe 0,255,0
-PASS getError was expected value: NO_ERROR : should be no errors
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html
deleted file mode 100644
index fad82fc..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video-rgba5551.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-video.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_SHORT_5_5_5_1", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<video width="640" height="228" id="vid" controls>
- <source src="resources/red-green.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
- <source src="resources/red-green.webmvp8.webm" type='video/webm; codecs="vp8, vorbis"' />
- <source src="resources/red-green.theora.ogv" type='video/ogg; codecs="theora, vorbis"' />
-</video>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
deleted file mode 100644
index 9c3e27b..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-sub-image-2d-with-video.html
+++ /dev/null
@@ -1,25 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script src="resources/tex-image-and-sub-image-2d-with-video.js"></script>
-<script>
-function testPrologue(gl) {
- return true;
-}
-</script>
-</head>
-<body onload='generateTest("RGBA", "UNSIGNED_BYTE", testPrologue)()'>
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<video width="640" height="228" id="vid" controls>
- <source src="resources/red-green.mp4" type='video/mp4; codecs="avc1.42E01E, mp4a.40.2"' />
- <source src="resources/red-green.webmvp8.webm" type='video/webm; codecs="vp8, vorbis"' />
- <source src="resources/red-green.theora.ogv" type='video/ogg; codecs="theora, vorbis"' />
-</video>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs-expected.txt
deleted file mode 100644
index 075041a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests passing a vec4 to a uniform and a canvas to texImage2D
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS gl.useProgram(floatProgram) is undefined.
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.uniform4fv(fval4Loc, new Float32Array([0.1, 0.2, 0.4, 1.0])); is undefined.
-PASS gl.bindTexture(gl.TEXTURE_2D, texture) is undefined.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, tmpcanvas) is undefined.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs.html
deleted file mode 100644
index 4ea62a2..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-and-uniform-binding-bugs.html
+++ /dev/null
@@ -1,31 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-
-description('Tests passing a vec4 to a uniform and a canvas to texImage2D');
-
-var gl = create3DContext();
-var floatProgram = loadProgram(gl, "resources/floatUniformShader.vert", "resources/noopUniformShader.frag");
-shouldBeUndefined("gl.useProgram(floatProgram)");
-var fval4Loc = gl.getUniformLocation(floatProgram, "fval4");
-shouldBe("gl.getError()", "gl.NO_ERROR");
-shouldBeUndefined("gl.uniform4fv(fval4Loc, new Float32Array([0.1, 0.2, 0.4, 1.0]));");
-
-var tmpcanvas = document.createElement("canvas");
-tmpcanvas.width = 2;
-tmpcanvas.height = 2;
-var texture = gl.createTexture();
-shouldBeUndefined("gl.bindTexture(gl.TEXTURE_2D, texture)");
-shouldBeUndefined("gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, tmpcanvas)");
-
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl-expected.txt
deleted file mode 100644
index cbcd084..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-
-Test texImage2D from a webgl canvas.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS Canvas should be red
-PASS Canvas should be green
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl.html
deleted file mode 100644
index 7bbcded..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-webgl.html
+++ /dev/null
@@ -1,57 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL texImage2D from WebGL conformance test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="256" height="16" style="width: 256px; height: 48px;"></canvas>
-<canvas id="source" width="256" height="16" style="width: 256px; height: 48px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description("Test texImage2D from a webgl canvas.");
-var wtu = WebGLTestUtils;
-var gl = wtu.create3DContext("example");
-gl.disable(gl.DITHER);
-var program = wtu.setupTexturedQuad(gl);
-var gl1 = wtu.create3DContext("source");
-gl1.disable(gl.DITHER);
-
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-glErrorShouldBe(gl1, gl1.NO_ERROR, "Should be no errors from setup.");
-
-gl.disable(gl.BLEND);
-gl.disable(gl.DEPTH_TEST);
-
-gl1.clearColor(1.0, 0.0, 0.0, 1.0);
-gl1.clear(gl1.COLOR_BUFFER_BIT);
-
-var tex = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, tex);
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, gl1.canvas);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
-wtu.drawQuad(gl);
-
-wtu.checkCanvas(gl, [255, 0, 0, 255], "Canvas should be red");
-
-gl1.clearColor(0.0, 1.0, 0.0, 1.0);
-gl1.clear(gl1.COLOR_BUFFER_BIT);
-
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, gl1.canvas);
-wtu.drawQuad(gl);
-
-wtu.checkCanvas(gl, [0, 255, 0, 255], "Canvas should be green");
-
-debug("");
-successfullyParsed = true;
-</script>
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type-expected.txt
deleted file mode 100644
index 68f1844..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type-expected.txt
+++ /dev/null
@@ -1,155 +0,0 @@
-Verify texImage2D and texSubImage2D code paths taking both HTML and user-specified data with all format/type combinations
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Testing texImage2D with Image at 256x1
-PASS RGBA/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with Image at 256x1
-PASS RGBA/UNSIGNED_SHORT_4_4_4_4 must drop low four bits of precision
-Testing texImage2D with Image at 256x1
-PASS RGBA/UNSIGNED_SHORT_5_5_5_1 must drop low three bits of precision
-Testing texImage2D with Image at 256x1
-PASS RGB/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with Image at 256x1
-PASS RGB/UNSIGNED_SHORT_5_6_5 must drop low two or three bits of precision
-Testing texImage2D with Image at 256x1
-PASS ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with Image at 256x1
-PASS LUMINANCE/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with Image at 256x1
-PASS LUMINANCE_ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with Image at 256x1
-PASS RGBA/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with Image at 256x1
-PASS RGBA/UNSIGNED_SHORT_4_4_4_4 must drop low four bits of precision
-Testing texSubImage2D with Image at 256x1
-PASS RGBA/UNSIGNED_SHORT_5_5_5_1 must drop low three bits of precision
-Testing texSubImage2D with Image at 256x1
-PASS RGB/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with Image at 256x1
-PASS RGB/UNSIGNED_SHORT_5_6_5 must drop low two or three bits of precision
-Testing texSubImage2D with Image at 256x1
-PASS ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with Image at 256x1
-PASS LUMINANCE/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with Image at 256x1
-PASS LUMINANCE_ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with ImageData at 256x1
-PASS RGBA/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with ImageData at 256x1
-PASS RGBA/UNSIGNED_SHORT_4_4_4_4 must drop low four bits of precision
-Testing texImage2D with ImageData at 256x1
-PASS RGBA/UNSIGNED_SHORT_5_5_5_1 must drop low three bits of precision
-Testing texImage2D with ImageData at 256x1
-PASS RGB/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with ImageData at 256x1
-PASS RGB/UNSIGNED_SHORT_5_6_5 must drop low two or three bits of precision
-Testing texImage2D with ImageData at 256x1
-PASS ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with ImageData at 256x1
-PASS LUMINANCE/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with ImageData at 256x1
-PASS LUMINANCE_ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with ImageData at 256x1
-PASS RGBA/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with ImageData at 256x1
-PASS RGBA/UNSIGNED_SHORT_4_4_4_4 must drop low four bits of precision
-Testing texSubImage2D with ImageData at 256x1
-PASS RGBA/UNSIGNED_SHORT_5_5_5_1 must drop low three bits of precision
-Testing texSubImage2D with ImageData at 256x1
-PASS RGB/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with ImageData at 256x1
-PASS RGB/UNSIGNED_SHORT_5_6_5 must drop low two or three bits of precision
-Testing texSubImage2D with ImageData at 256x1
-PASS ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with ImageData at 256x1
-PASS LUMINANCE/UNSIGNED_BYTE should maintain full precision of data
-Testing texSubImage2D with ImageData at 256x1
-PASS LUMINANCE_ALPHA/UNSIGNED_BYTE should maintain full precision of data
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_BYTE
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_SHORT_5_6_5
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with ALPHA/UNSIGNED_BYTE
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE/UNSIGNED_BYTE
-Testing texImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_BYTE
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_SHORT_5_6_5
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with ALPHA/UNSIGNED_BYTE
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE/UNSIGNED_BYTE
-Testing texSubImage2D with Image at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_BYTE
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_SHORT_5_6_5
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with ALPHA/UNSIGNED_BYTE
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE/UNSIGNED_BYTE
-Testing texImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_BYTE
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_SHORT_5_6_5
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with ALPHA/UNSIGNED_BYTE
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE/UNSIGNED_BYTE
-Testing texSubImage2D with ImageData at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE
-Testing texImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE
-Testing texImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4
-Testing texImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1
-Testing texImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE
-Testing texSubImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE
-Testing texSubImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4
-Testing texSubImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1
-Testing texSubImage2D with raw data at 256x1
-PASS UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type.html
deleted file mode 100644
index 913e7c2..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-image-with-format-and-type.html
+++ /dev/null
@@ -1,716 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/pnglib.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-
-<script>
-var wtu = WebGLTestUtils;
-var gl = null;
-var textureLoc = null;
-
-//----------------------------------------------------------------------
-// Harness
-
-var testCases = [];
-
-var DataMode = {
- IMAGE: 0,
- IMAGE_DATA: 1,
-
- NUM_HTML_MODES: 2,
-
- RAW_DATA: 2,
-
- // This must remain the last mode.
- NUM_MODES: 3
-};
-
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
- }
-
- description('Verify texImage2D and texSubImage2D code paths taking both HTML and user-specified data with all format/type combinations');
-
- var canvas = document.getElementById("example");
- gl = wtu.create3DContext(canvas);
- var program = wtu.setupTexturedQuad(gl);
-
- gl.clearColor(0,0,0,1);
- gl.clearDepth(1);
- gl.disable(gl.BLEND);
-
- textureLoc = gl.getUniformLocation(program, "tex");
-
- initializeTests();
-}
-
-function initializeTests()
-{
- // Verify that uploading to packed pixel formats performs the
- // required conversion and associated loss of precision.
- for (var dataMode = 0; dataMode < DataMode.NUM_HTML_MODES; ++dataMode) {
- for (var useTexSubImage2D = 0; useTexSubImage2D < 2; ++useTexSubImage2D) {
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- verifier: allChannelsIncreaseByNoMoreThan,
- threshold: 1,
- numOccurrences: 1,
- description: "RGBA/UNSIGNED_BYTE should maintain full precision of data"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.RGBA,
- type: gl.UNSIGNED_SHORT_4_4_4_4,
- verifier: allChannelsIncreaseByAtLeast,
- threshold: 15,
- numOccurrences: 10,
- description: "RGBA/UNSIGNED_SHORT_4_4_4_4 must drop low four bits of precision"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.RGBA,
- type: gl.UNSIGNED_SHORT_5_5_5_1,
- verifier: allChannelsIncreaseByAtLeast,
- threshold: 7,
- numOccurrences: 20,
- description: "RGBA/UNSIGNED_SHORT_5_5_5_1 must drop low three bits of precision"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.RGB,
- type: gl.UNSIGNED_BYTE,
- verifier: allChannelsIncreaseByNoMoreThan,
- threshold: 1,
- numOccurrences: 1,
- description: "RGB/UNSIGNED_BYTE should maintain full precision of data"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.RGB,
- type: gl.UNSIGNED_SHORT_5_6_5,
- verifier: allChannelsIncreaseByAtLeast,
- threshold: 3,
- numOccurrences: 20,
- description: "RGB/UNSIGNED_SHORT_5_6_5 must drop low two or three bits of precision"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTranslucentGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.ALPHA,
- type: gl.UNSIGNED_BYTE,
- verifier: alphaChannelIncreasesByNoMoreThan,
- threshold: 1,
- numOccurrences: 1,
- description: "ALPHA/UNSIGNED_BYTE should maintain full precision of data"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.LUMINANCE,
- type: gl.UNSIGNED_BYTE,
- verifier: allChannelsIncreaseByNoMoreThan,
- threshold: 1,
- numOccurrences: 1,
- description: "LUMINANCE/UNSIGNED_BYTE should maintain full precision of data"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateOpaqueGrayscaleRamp,
- premultiplyAlpha: false,
- format: gl.LUMINANCE_ALPHA,
- type: gl.UNSIGNED_BYTE,
- verifier: allChannelsIncreaseByNoMoreThan,
- threshold: 1,
- numOccurrences: 1,
- description: "LUMINANCE_ALPHA/UNSIGNED_BYTE should maintain full precision of data"
- });
- }
- }
-
- // Verify that setting the UNPACK_PREMULTIPLY_ALPHA_WEBGL pixel
- // store parameter and sending down a zero alpha causes the color
- // channels to go to zero.
- for (var dataMode = 0; dataMode < DataMode.NUM_MODES; ++dataMode) {
- for (var useTexSubImage2D = 0; useTexSubImage2D < 2; ++useTexSubImage2D) {
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_BYTE"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.RGBA,
- type: gl.UNSIGNED_SHORT_4_4_4_4,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_4_4_4_4"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.RGBA,
- type: gl.UNSIGNED_SHORT_5_5_5_1,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGBA/UNSIGNED_SHORT_5_5_5_1"
- });
- // The following few tests are invalid for the raw data
- // mode because there is either no alpha channel or no
- // separate alpha channel.
- if (dataMode != DataMode.RAW_DATA) {
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.RGB,
- type: gl.UNSIGNED_BYTE,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_BYTE"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.RGB,
- type: gl.UNSIGNED_SHORT_5_6_5,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with RGB/UNSIGNED_SHORT_5_6_5"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.ALPHA,
- type: gl.UNSIGNED_BYTE,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with ALPHA/UNSIGNED_BYTE"
- });
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.LUMINANCE,
- type: gl.UNSIGNED_BYTE,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE/UNSIGNED_BYTE"
- });
- }
- testCases.push({
- dataMode: dataMode,
- useTexSubImage2D: !!useTexSubImage2D,
- width: 256,
- height: 1,
- generator: generateTransparentGrayscaleRamp,
- premultiplyAlpha: true,
- format: gl.LUMINANCE_ALPHA,
- type: gl.UNSIGNED_BYTE,
- verifier: colorChannelsAreZero,
- description: "UNPACK_PREMULTIPLY_ALPHA_WEBGL with LUMINANCE_ALPHA/UNSIGNED_BYTE"
- });
- }
- }
-
- // Produce data for all testcases. Because we load images, some of
- // these may generate their data asynchronously.
- generateTestData();
-}
-
-function generateTestData()
-{
- for (var i = 0; i < testCases.length; i++) {
- var testCase = testCases[i];
- var wrapper = null;
- switch (testCase.dataMode) {
- case DataMode.IMAGE:
- wrapper = new ImageWrapper(testCase.width, testCase.height);
- break;
- case DataMode.IMAGE_DATA:
- wrapper = new ImageDataWrapper(testCase.width, testCase.height);
- break;
- case DataMode.RAW_DATA:
- switch (testCase.type) {
- case gl.UNSIGNED_BYTE:
- switch (testCase.format) {
- case gl.RGBA:
- wrapper = new RGBA8DataWrapper(testCase.width, testCase.height);
- break;
- case gl.RGB:
- wrapper = new RGB8DataWrapper(testCase.width, testCase.height);
- break;
- case gl.ALPHA:
- wrapper = new A8DataWrapper(testCase.width, testCase.height);
- break;
- case gl.LUMINANCE:
- wrapper = new L8DataWrapper(testCase.width, testCase.height);
- break;
- case gl.LUMINANCE_ALPHA:
- wrapper = new LA8DataWrapper(testCase.width, testCase.height);
- break;
- }
- break;
- case gl.UNSIGNED_SHORT_4_4_4_4:
- wrapper = new RGBA4444DataWrapper(testCase.width, testCase.height);
- break;
- case gl.UNSIGNED_SHORT_5_5_5_1:
- wrapper = new RGBA5551DataWrapper(testCase.width, testCase.height);
- break;
- case gl.UNSIGNED_SHORT_5_6_5:
- wrapper = new RGB565DataWrapper(testCase.width, testCase.height);
- break;
- }
- }
- testCase.wrapper = wrapper;
- testCase.generator(wrapper);
- testCase.wrapper.generateData();
- }
-
- // See whether we need to run the tests, in case all of them
- // generated their results synchronously.
- maybeRunTests();
-}
-
-var ranTests = false;
-
-function maybeRunTests()
-{
- if (!ranTests)
- for (var i = 0; i < testCases.length; ++i)
- if (!testCases[i].wrapper || !testCases[i].wrapper.data)
- return;
-
- ranTests = true;
-
- for (var i = 0; i < testCases.length; ++i)
- runOneTest(testCases[i]);
-
- finishJSTest();
-}
-
-function testCaseToString(testCase)
-{
- var mode;
- switch (testCase.dataMode) {
- case DataMode.IMAGE:
- mode = "Image";
- break;
- case DataMode.IMAGE_DATA:
- mode = "ImageData";
- break;
- case DataMode.RAW_DATA:
- mode = "raw data";
- break;
- }
- return (testCase.useTexSubImage2D ? "texSubImage2D" : "texImage2D") +
- " with " + mode + " at " + testCase.width + "x" + testCase.height;
-}
-
-function runOneTest(testCase)
-{
- debug("Testing " + testCaseToString(testCase));
- var data = testCase.wrapper.data;
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- var texture = gl.createTexture();
- // Bind the texture to texture unit 0.
- gl.bindTexture(gl.TEXTURE_2D, texture);
- // Set up texture parameters.
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
- // Set up pixel store parameters.
- gl.pixelStorei(gl.UNPACK_PREMULTIPLY_ALPHA_WEBGL, testCase.premultiplyAlpha);
- // Upload the image into the texture.
- if (testCase.useTexSubImage2D) {
- // Initialize the texture to black first.
- gl.texImage2D(gl.TEXTURE_2D, 0, testCase.format, testCase.width, testCase.height, 0,
- testCase.format, testCase.type, null);
- }
- switch (testCase.dataMode) {
- case DataMode.IMAGE:
- case DataMode.IMAGE_DATA:
- if (testCase.useTexSubImage2D)
- gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, testCase.format, testCase.type, data);
- else
- gl.texImage2D(gl.TEXTURE_2D, 0, testCase.format, testCase.format, testCase.type, data);
- break;
- case DataMode.RAW_DATA:
- if (testCase.useTexSubImage2D)
- gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, testCase.width, testCase.height, testCase.format, testCase.type, data);
- else
- gl.texImage2D(gl.TEXTURE_2D, 0, testCase.format, testCase.width, testCase.height, 0, testCase.format, testCase.type, data);
- break;
- }
- // Point the uniform sampler to texture unit 0.
- gl.uniform1i(textureLoc, 0);
- // Draw the triangles.
- gl.drawArrays(gl.TRIANGLES, 0, 6);
- // Clean up the texture.
- gl.deleteTexture(texture);
-
- // Read back the rendering results.
- buf = new Uint8Array(testCase.width * testCase.height * 4);
- gl.readPixels(0, 0, testCase.width, testCase.height, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- // Run the verification routine.
- if (testCase.verifier(buf, testCase.threshold, testCase.numOccurrences))
- testPassed(testCase.description);
- else
- testFailed(testCase.description);
-}
-
-//----------------------------------------------------------------------
-// Wrappers for programmatic construction of Image, ImageData and raw texture data
-//
-
-function ImageWrapper(width, height)
-{
- this.pngBuilder_ = new PNGlib(width, height, 256);
-}
-
-ImageWrapper.prototype.getWidth = function() {
- return this.pngBuilder_.width;
-};
-
-ImageWrapper.prototype.getHeight = function() {
- return this.pngBuilder_.height;
-};
-
-ImageWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- this.pngBuilder_.buffer[this.pngBuilder_.index(x, y)] = this.pngBuilder_.color(r, g, b, a);
-};
-
-// Generates data into "data" property, possibly asynchronously.
-ImageWrapper.prototype.generateData = function() {
- var that = this;
- var img = new Image();
- img.onload = function() {
- that.data = img;
- maybeRunTests();
- };
- img.src = "data:image/png;base64," + this.pngBuilder_.getBase64();
-};
-
-function ImageDataWrapper(width, height)
-{
- if (!ImageDataWrapper.tempCanvas) {
- ImageDataWrapper.tempCanvas = document.createElement("canvas");
- }
- this.imageData_ = ImageDataWrapper.tempCanvas.getContext("2d").createImageData(width, height);
-}
-
-ImageDataWrapper.tempCanvas = null;
-
-ImageDataWrapper.prototype.getWidth = function() {
- return this.imageData_.width;
-};
-
-ImageDataWrapper.prototype.getHeight = function() {
- return this.imageData_.height;
-};
-
-ImageDataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var index = 4 * (this.imageData_.width * y + x);
- this.imageData_.data[index] = r;
- this.imageData_.data[index + 1] = g;
- this.imageData_.data[index + 2] = b;
- this.imageData_.data[index + 3] = a;
-};
-
-ImageDataWrapper.prototype.generateData = function() {
- this.data = this.imageData_;
- maybeRunTests();
-};
-
-function TextureDataWrapper(width, height)
-{
- this.width_ = width;
- this.height_ = height;
-}
-
-TextureDataWrapper.prototype.getWidth = function() {
- return this.width_;
-};
-
-TextureDataWrapper.prototype.getHeight = function() {
- return this.height_;
-};
-
-TextureDataWrapper.prototype.generateData = function() {
- this.data = this.data_;
- maybeRunTests();
-};
-
-function RGBA8DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint8Array(4 * width * height);
-}
-
-RGBA8DataWrapper.prototype = new TextureDataWrapper;
-
-RGBA8DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var index = 4 * (this.width_ * y + x);
- this.data_[index] = r;
- this.data_[index + 1] = g;
- this.data_[index + 2] = b;
- this.data_[index + 3] = a;
-};
-
-function RGBA5551DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint16Array(width * height);
-}
-
-RGBA5551DataWrapper.prototype = new TextureDataWrapper;
-
-RGBA5551DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var value = (((r & 0xF8) << 8)
- | ((g & 0xF8) << 3)
- | ((b & 0xF8) >> 2)
- | (a >> 7));
- this.data_[this.width_ * y + x] = value;
-};
-
-function RGBA4444DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint16Array(width * height);
-}
-
-RGBA4444DataWrapper.prototype = new TextureDataWrapper;
-
-RGBA4444DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var value = (((r & 0xF0) << 8)
- | ((g & 0xF0) << 4)
- | (b & 0xF0)
- | (a >> 4));
- this.data_[this.width_ * y + x] = value;
-};
-
-function RGB8DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint8Array(3 * width * height);
-}
-
-RGB8DataWrapper.prototype = new TextureDataWrapper;
-
-RGB8DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var index = 3 * (this.width_ * y + x);
- this.data_[index] = r;
- this.data_[index + 1] = g;
- this.data_[index + 2] = b;
-};
-
-function RGB565DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint16Array(width * height);
-}
-
-RGB565DataWrapper.prototype = new TextureDataWrapper;
-
-RGB565DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var value = (((r & 0xF8) << 8)
- | ((g & 0xFC) << 3)
- | ((b & 0xF8) >> 3));
- this.data_[this.width_ * y + x] = value;
-};
-
-function A8DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint8Array(width * height);
-}
-
-A8DataWrapper.prototype = new TextureDataWrapper;
-
-A8DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- this.data_[this.width_ * y + x] = a;
-};
-
-function L8DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint8Array(width * height);
-}
-
-L8DataWrapper.prototype = new TextureDataWrapper;
-
-L8DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- this.data_[this.width_ * y + x] = r;
-};
-
-function LA8DataWrapper(width, height)
-{
- TextureDataWrapper.call(this, width, height);
- this.data_ = new Uint8Array(2 * width * height);
-}
-
-LA8DataWrapper.prototype = new TextureDataWrapper;
-
-LA8DataWrapper.prototype.setPixel = function(x, y, r, g, b, a) {
- var index = 2 * (this.width_ * y + x);
- this.data_[index] = r;
- this.data_[index + 1] = a;
-};
-
-//----------------------------------------------------------------------
-// Color ramp generation functions
-//
-
-function generateOpaqueGrayscaleRamp(wrapper)
-{
- var width = wrapper.getWidth();
- var height = wrapper.getHeight();
- for (var x = 0; x < width; ++x) {
- var value = Math.round(255.0 * x / width);
- for (var y = 0; y < height; ++y)
- wrapper.setPixel(x, y, value, value, value, 255);
- }
-}
-
-function generateTranslucentGrayscaleRamp(wrapper)
-{
- var width = wrapper.getWidth();
- var height = wrapper.getHeight();
- for (var x = 0; x < width; ++x) {
- var value = Math.round(255.0 * x / width);
- for (var y = 0; y < height; ++y)
- wrapper.setPixel(x, y, value, value, value, value);
- }
-}
-
-function generateTransparentGrayscaleRamp(wrapper)
-{
- var width = wrapper.getWidth();
- var height = wrapper.getHeight();
- for (var x = 0; x < width; ++x) {
- var value = Math.round(255.0 * x / width);
- for (var y = 0; y < height; ++y)
- wrapper.setPixel(x, y, value, value, value, 0);
- }
-}
-
-//----------------------------------------------------------------------
-// Verification routines
-//
-
-function allChannelsIncreaseByNoMoreThan(array, threshold, numOccurrences) {
- var numFound = 0;
- for (var i = 4; i < array.length; i += 4)
- for (var j = 0; j < 4; j++)
- if (array[i + j] - array[i + j - 4] > threshold)
- ++numFound;
-
- return numFound < numOccurrences;
-}
-
-function alphaChannelIncreasesByNoMoreThan(array, threshold, numOccurrences) {
- var numFound = 0;
- for (var i = 7; i < array.length; i += 4)
- if (array[i] - array[i - 4] > threshold)
- ++numFound;
-
- return numFound < numOccurrences;
-}
-
-function allChannelsIncreaseByAtLeast(array, threshold, numOccurrences) {
- var numFound = 0;
- for (var i = 4; i < array.length; i += 4)
- for (var j = 0; j < 4; ++j)
- if (array[i + j] - array[i + j - 4] > threshold)
- ++numFound;
-
- return numFound > numOccurrences;
-}
-
-function colorChannelsAreZero(array, threshold, numOccurrences) {
- var passed = true;
- var numFailures = 0;
-
- for (var i = 4; i < array.length; i += 4)
- for (var j = 0; j < 3; ++j)
- if (array[i + j] != 0) {
- passed = false;
- if (++numFailures <= 5)
- debug(" array[" + (i + j) + "] should have been 0, was " + array[i + j]);
- }
-
- return passed;
-}
-
-</script>
-</head>
-<body onload="init()">
-<canvas id="example" width="256px" height="1px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation-expected.txt
deleted file mode 100644
index 0b35e3f..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation-expected.txt
+++ /dev/null
@@ -1,84 +0,0 @@
-Validate tex functions input parameters
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS gl = create3DContext() is non-null.
-PASS tex = gl.createTexture() is non-null.
-PASS getError was expected value: NO_ERROR :
-
-Checking TexImage2D: a set of inputs that are valid in GL but invalid in GLES2
-PASS getError was expected value: INVALID_ENUM : internalFormat: RGBA target: 0x8064 format: RGBA type: UNSIGNED_BYTE border: 0
-PASS getError was one of: INVALID_ENUM or INVALID_VALUE : internalFormat: 0x1903 target: TEXTURE_2D format: 0x1903 type: UNSIGNED_BYTE border: 0
-PASS getError was expected value: INVALID_VALUE : internalFormat: RGBA target: TEXTURE_2D format: RGBA type: UNSIGNED_BYTE border: 1
-PASS getError was expected value: INVALID_OPERATION : internalFormat: RGBA target: TEXTURE_2D format: RGB type: UNSIGNED_BYTE border: 0
-PASS getError was expected value: INVALID_ENUM : internalFormat: RGBA target: TEXTURE_2D format: RGBA type: BYTE border: 0
-PASS getError was expected value: NO_ERROR : internalFormat: RGBA target: TEXTURE_2D format: RGBA type: UNSIGNED_BYTE border: 0
-
-Checking TexSubImage2D: a set of inputs that are valid in GL but invalid in GLES2
-PASS getError was expected value: INVALID_ENUM : format: 0x1903 type: UNSIGNED_BYTE
-PASS getError was expected value: INVALID_ENUM : format: RGBA type: BYTE
-PASS getError was expected value: NO_ERROR : format: RGBA type: UNSIGNED_BYTE
-
-Checking TexParameter: a set of inputs that are valid in GL but invalid in GLES2
-PASS getError was expected value: INVALID_ENUM : paramName: TEXTURE_WRAP_T
-PASS getError was expected value: INVALID_ENUM : paramName: TEXTURE_WRAP_T
-PASS getError was expected value: INVALID_ENUM : paramName: 0x813a
-PASS getError was expected value: INVALID_ENUM : paramName: 0x813a
-PASS getError was expected value: INVALID_ENUM : paramName: TEXTURE_WRAP_T
-PASS getError was expected value: INVALID_ENUM : paramName: TEXTURE_WRAP_T
-PASS getError was expected value: NO_ERROR : paramName: TEXTURE_WRAP_T
-PASS getError was expected value: NO_ERROR : paramName: TEXTURE_WRAP_T
-
-Checking GetTexParameter: a set of inputs that are valid in GL but invalid in GLES2
-PASS getError was expected value: INVALID_ENUM : paramName: TEXTURE_WRAP_T
-PASS getError was expected value: INVALID_ENUM : paramName: 0x813a
-PASS getError was expected value: NO_ERROR : paramName: TEXTURE_WRAP_T
-
-Checking CopyTexImage2D: a set of inputs that are valid in GL but invalid in GLES2
-PASS fbo = gl.createFramebuffer() is non-null.
-PASS colorBuffer = gl.createRenderbuffer() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: INVALID_ENUM : colorBufferFormat: RGB565 internalFormat: 0x8054 target: TEXTURE_2D border: 0
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: INVALID_VALUE : colorBufferFormat: RGB565 internalFormat: RGBA target: TEXTURE_2D border: 1
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: INVALID_OPERATION : colorBufferFormat: RGB565 internalFormat: RGBA target: TEXTURE_2D border: 0
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR : colorBufferFormat: RGB565 internalFormat: RGB target: TEXTURE_2D border: 0
-
-Checking CopyTexSubImage2D: a set of inputs that are valid in GL but invalid in GLES2
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR : colorBufferFormat: RGB5_A1 internalFormat: RGBA target: TEXTURE_2D
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_OPERATION : colorBufferFormat: RGB565 internalFormat: RGBA target: TEXTURE_2D
-
-Checking CopyTex{Sub}Image2D: copy from WebGL internal framebuffer
-PASS gl is non-null.
-PASS tex = gl.createTexture() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR : colorBufferFormat: RGBA internalFormat: RGBA
-PASS gl is non-null.
-PASS tex = gl.createTexture() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_OPERATION : colorBufferFormat: RGB internalFormat: RGBA
-PASS gl is non-null.
-PASS tex = gl.createTexture() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR : colorBufferFormat: RGBA internalFormat: RGBA
-PASS gl is non-null.
-PASS tex = gl.createTexture() is non-null.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: INVALID_OPERATION : colorBufferFormat: RGB internalFormat: RGBA
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html
deleted file mode 100644
index b28da68..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-input-validation.html
+++ /dev/null
@@ -1,353 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl = null;
-var tex = null;
-var error = 0;
-
-function enumToString(value) {
- return wtu.glEnumToString(gl, value);
-}
-
-function testTexImage2D(testCase)
-{
- var level = 0;
- var width = 16;
- var height = 16;
- var msg = "" +
- " internalFormat: " + enumToString(testCase.internalFormat) +
- " target: " + enumToString(testCase.target) +
- " format: " + enumToString(testCase.format) +
- " type: " + enumToString(testCase.type) +
- " border: " + testCase.border;
-
- gl.texImage2D(testCase.target, level, testCase.internalFormat, width, height, testCase.border, testCase.format, testCase.type, null);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testTexSubImage2D(testCase)
-{
- var level = 0;
- var xoffset = 0;
- var yoffset = 0;
- var width = 16;
- var height = 16;
- var msg = ""+
- " format: " + enumToString(testCase.format) +
- " type: " + enumToString(testCase.type);
- var array = new Uint8Array(width * height * 4);
- gl.texSubImage2D(testCase.target, level, xoffset, yoffset, width, height, testCase.format, testCase.type, array);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testTexParameter(testCase)
-{
- var msg = "paramName: " + enumToString(testCase.pname);
- error = testCase.expectedError;
- gl.texParameteri(testCase.target, testCase.pname, testCase.param);
- glErrorShouldBe(gl, error, msg);
- gl.texParameterf(testCase.target, testCase.pname, testCase.param);
- glErrorShouldBe(gl, error, msg);
-}
-
-function testGetTexParameter(testCase)
-{
- var msg = "paramName: " + enumToString(testCase.pname);
- error = testCase.expectedError;
- gl.getTexParameter(testCase.target, testCase.pname);
- glErrorShouldBe(gl, error, msg);
-}
-
-function testCopyTexImage2D(testCase)
-{
- var level = 0;
- var x = 0;
- var y = 0;
- var width = 16;
- var height = 16;
-
- var msg = "" +
- " colorBufferFormat: " + enumToString(testCase.colorBufferFormat) +
- " internalFormat: " + enumToString(testCase.internalFormat) +
- " target: " + enumToString(testCase.target) +
- " border: " + testCase.border;
-
- gl.renderbufferStorage(gl.RENDERBUFFER, testCase.colorBufferFormat, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-
- gl.copyTexImage2D(testCase.target, level, testCase.internalFormat, x, y, width, height, testCase.border);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testCopyTexSubImage2D(testCase)
-{
- var level = 0;
- var x = 0;
- var y = 0;
- var width = 16;
- var height = 16;
- var xoffset = 0;
- var yoffset = 0;
- var border = 0;
- var type = gl.UNSIGNED_BYTE;
- var msg = "" +
- " colorBufferFormat: " + enumToString(testCase.colorBufferFormat) +
- " internalFormat: " + enumToString(testCase.internalFormat) +
- " target: " + enumToString(testCase.target);
-
- gl.renderbufferStorage(gl.RENDERBUFFER, testCase.colorBufferFormat, width, height);
- glErrorShouldBe(gl, gl.NO_ERROR);
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-
- gl.texImage2D(testCase.target, level, testCase.internalFormat, xoffset + width, yoffset + height, border, testCase.internalFormat, type, null);
- glErrorShouldBe(gl, gl.NO_ERROR);
-
- gl.copyTexSubImage2D(testCase.target, level, xoffset, yoffset, x, y, width, height);
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-function testCopyFromInternalFBO(testCase)
-{
- var target = gl.TEXTURE_2D;
- var level = 0;
- var x = 0;
- var y = 0;
- var width = 16;
- var height = 16;
- var xoffset = 0;
- var yoffset = 0;
- var border = 0;
- var type = gl.UNSIGNED_BYTE;
- var msg = "" +
- " colorBufferFormat: " + enumToString(testCase.contextAlpha ? gl.RGBA : gl.RGB) +
- " internalFormat: " + enumToString(testCase.internalFormat);
-
- if (testCase.contextAlpha)
- gl = create3DContext(null, { alpha: true });
- else
- gl = create3DContext(null, { alpha: false });
- shouldBeNonNull("gl");
- shouldBeNonNull("tex = gl.createTexture()");
- gl.bindTexture(target, tex);
- if (testCase.subImage) {
- gl.texImage2D(target, level, testCase.internalFormat, xoffset + width, yoffset + height, border, testCase.internalFormat, type, null);
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.copyTexSubImage2D(target, level, xoffset, yoffset, x, y, width, height);
- } else {
- glErrorShouldBe(gl, gl.NO_ERROR);
- gl.copyTexImage2D(target, level, testCase.internalFormat, x, y, width, height, border);
- }
- error = testCase.expectedError;
- glErrorShouldBe(gl, error, msg);
-}
-
-description("Validate tex functions input parameters");
-
-shouldBeNonNull("gl = create3DContext()");
-shouldBeNonNull("tex = gl.createTexture()");
-gl.bindTexture(gl.TEXTURE_2D, tex);
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Checking TexImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-var testCases =
- [ {target: 0x8064, // GL_PROXY_TEXTURE_2D
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- internalFormat: 0x1903, // GL_RED
- border: 0,
- format: 0x1903, // GL_RED
- type: gl.UNSIGNED_BYTE,
- expectedError: [gl.INVALID_ENUM, gl.INVALID_VALUE] },
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 1,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_VALUE},
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGB,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_OPERATION},
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGBA,
- type: gl.BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- internalFormat: gl.RGBA,
- border: 0,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testTexImage2D(testCases[ii]);
-
-debug("");
-debug("Checking TexSubImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: gl.TEXTURE_2D,
- format: 0x1903, // GL_RED
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- format: gl.RGBA,
- type: gl.BYTE,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- format: gl.RGBA,
- type: gl.UNSIGNED_BYTE,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testTexSubImage2D(testCases[ii]);
-
-debug("");
-debug("Checking TexParameter: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: 0x0DE0, // GL_TEXTURE_1D
- pname: gl.TEXTURE_WRAP_T,
- param: gl.REPEAT,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: 0x813A, // GL_TEXTURE_MIN_LOD
- param: 0,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: gl.TEXTURE_WRAP_T,
- param: 0x2900, // GL_CLAMP
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: gl.TEXTURE_WRAP_T,
- param: gl.REPEAT,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testTexParameter(testCases[ii]);
-
-debug("");
-debug("Checking GetTexParameter: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: 0x0DE0, // GL_TEXTURE_1D
- pname: gl.TEXTURE_WRAP_T,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: 0x813A, // GL_TEXTURE_MIN_LOD
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- pname: gl.TEXTURE_WRAP_T,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testGetTexParameter(testCases[ii]);
-
-debug("");
-debug("Checking CopyTexImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-var colorBuffer = null;
-var fbo = null;
-
-shouldBeNonNull("fbo = gl.createFramebuffer()");
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-shouldBeNonNull("colorBuffer = gl.createRenderbuffer()");
-gl.bindRenderbuffer(gl.RENDERBUFFER, colorBuffer);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, colorBuffer);
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-testCases =
- [ {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: 0x8054, // GL_RGB16
- border: 0,
- expectedError: gl.INVALID_ENUM},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGBA,
- border: 1,
- expectedError: gl.INVALID_VALUE},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGBA,
- border: 0,
- expectedError: gl.INVALID_OPERATION},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGB,
- border: 0,
- expectedError: gl.NO_ERROR} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testCopyTexImage2D(testCases[ii]);
-
-debug("");
-debug("Checking CopyTexSubImage2D: a set of inputs that are valid in GL but invalid in GLES2");
-
-testCases =
- [ {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB5_A1,
- internalFormat: gl.RGBA,
- expectedError: gl.NO_ERROR},
- {target: gl.TEXTURE_2D,
- colorBufferFormat: gl.RGB565,
- internalFormat: gl.RGBA,
- expectedError: gl.INVALID_OPERATION} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testCopyTexSubImage2D(testCases[ii]);
-
-debug("");
-debug("Checking CopyTex{Sub}Image2D: copy from WebGL internal framebuffer");
-
-testCases =
- [ {contextAlpha: true,
- internalFormat: gl.RGBA,
- subImage: false,
- expectedError: gl.NO_ERROR},
- {contextAlpha: false,
- internalFormat: gl.RGBA,
- subImage: false,
- expectedError: gl.INVALID_OPERATION},
- {contextAlpha: true,
- internalFormat: gl.RGBA,
- subImage: true,
- expectedError: gl.NO_ERROR},
- {contextAlpha: false,
- internalFormat: gl.RGBA,
- subImage: true,
- expectedError: gl.INVALID_OPERATION} ];
-
-for (var ii = 0; ii < testCases.length; ++ii)
- testCopyFromInternalFBO(testCases[ii]);
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args-expected.txt
deleted file mode 100644
index cd040d5..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args-expected.txt
+++ /dev/null
@@ -1,28 +0,0 @@
-
-Tests texSubImage2D with bad arguments
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR : Setup should succeed
-PASS getError was expected value: INVALID_VALUE : null argument
-PASS getError was expected value: INVALID_VALUE : y + height > texture height
-PASS getError was expected value: INVALID_VALUE : x + width > texture width
-PASS getError was expected value: INVALID_VALUE : negative x
-PASS getError was expected value: INVALID_VALUE : negative y
-PASS getError was expected value: INVALID_VALUE : negative level
-PASS getError was expected value: INVALID_ENUM : bad target
-PASS getError was expected value: NO_ERROR : good args
-PASS getError was expected value: INVALID_OPERATION : format not same as original
-PASS getError was expected value: INVALID_OPERATION : type not same as original
-PASS getError was expected value: NO_ERROR : make texture RGB
-PASS getError was expected value: NO_ERROR : format same as original RGB
-PASS getError was expected value: INVALID_OPERATION : format not same as original RGB
-PASS getError was expected value: INVALID_OPERATION : type not same as original RGB
-PASS getError was expected value: NO_ERROR : make texture RGBA 4_4_4_4
-PASS getError was expected value: NO_ERROR : format same as original RGBA 4_4_4_4
-PASS getError was expected value: INVALID_OPERATION : format not same as original RGBA 4_4_4_4
-PASS getError was expected value: INVALID_OPERATION : type not same as original RGBA 4_4_4_4
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args.html
deleted file mode 100644
index b49f237..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-bad-args.html
+++ /dev/null
@@ -1,68 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<canvas id="testbed" width="16" height="16"></canvas>
-<canvas id="c" width="16" height="16"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description('Tests texSubImage2D with bad arguments');
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("testbed");
-var c = document.getElementById("c");
-
-var gl = wtu.create3DContext(canvas);
-var tex = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, tex);
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.NO_ERROR, "Setup should succeed");
-
-// FIXME: this behavior is still being discussed on the public_webgl mailing list and may
-// need to be changed to throw TypeError because the argument is not nullable.
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 4, 4, gl.RGBA, gl.UNSIGNED_BYTE, null);
-glErrorShouldBe(gl, gl.INVALID_VALUE, "null argument");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 1, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_VALUE, "y + height > texture height");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 1, 0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_VALUE, "x + width > texture width");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, -1, 0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_VALUE, "negative x");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, -1, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_VALUE, "negative y");
-gl.texSubImage2D(gl.TEXTURE_2D, -1, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_VALUE, "negative level");
-gl.texSubImage2D(gl.FLOAT, 0, 0,0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_ENUM, "bad target");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.NO_ERROR, "good args");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGB, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_OPERATION, "format not same as original");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGBA, gl.UNSIGNED_SHORT_4_4_4_4, c);
-glErrorShouldBe(gl, gl.INVALID_OPERATION, "type not same as original");
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGB, gl.RGB, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.NO_ERROR, "make texture RGB");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGB, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.NO_ERROR, "format same as original RGB");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_OPERATION, "format not same as original RGB");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGB, gl.UNSIGNED_SHORT_5_6_5, c);
-glErrorShouldBe(gl, gl.INVALID_OPERATION, "type not same as original RGB");
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_SHORT_4_4_4_4, c);
-glErrorShouldBe(gl, gl.NO_ERROR, "make texture RGBA 4_4_4_4");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGBA, gl.UNSIGNED_SHORT_4_4_4_4, c);
-glErrorShouldBe(gl, gl.NO_ERROR, "format same as original RGBA 4_4_4_4");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGB, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_OPERATION, "format not same as original RGBA 4_4_4_4");
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0,0, gl.RGBA, gl.UNSIGNED_BYTE, c);
-glErrorShouldBe(gl, gl.INVALID_OPERATION, "type not same as original RGBA 4_4_4_4");
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-expected.txt
deleted file mode 100644
index 120c691..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Tests texSubImage2D upload path from Uint8Array
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d.html
deleted file mode 100644
index 318e71e..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/tex-sub-image-2d.html
+++ /dev/null
@@ -1,90 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision highp float;
-#endif
-uniform sampler2D tex;
-varying vec2 texCoord;
-
-void main()
-{
- float intensity = texture2D(tex, texCoord).a;
- gl_FragColor = vec4(intensity, intensity, intensity, 1.0);
-}
-</script>
-
-</head>
-<body>
-<canvas id="example" width="256px" height="1px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description('Tests texSubImage2D upload path from Uint8Array');
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-var program = wtu.setupProgram(
- gl,
- [wtu.setupSimpleTextureVertexShader(gl),
- wtu.loadShaderFromScript(gl, "fshader")],
- ['vPosition', 'texCoord0']);
-wtu.setupUnitQuad(gl);
-var textureWidth = 256;
-var textureHeight = 1;
-
-textureLoc = gl.getUniformLocation(program, "tex");
-
-var texture = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, texture);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-// Allocate the texture object
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.ALPHA, textureWidth, textureHeight, 0, gl.ALPHA, gl.UNSIGNED_BYTE, null);
-// Prepare the image data
-var array = new Uint8Array(textureWidth);
-for (var i = 0; i < textureWidth; i++)
- array[i] = i;
-// Fill the texture object with data -- this is actually the code path being tested
-gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, textureWidth, textureHeight, gl.ALPHA, gl.UNSIGNED_BYTE, array);
-
-// Clear and set up
-gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-gl.bindTexture(gl.TEXTURE_2D, texture);
-gl.useProgram(program);
-gl.uniform1i(textureLoc, 0);
-// Draw the texture to the frame buffer
-gl.drawArrays(gl.TRIANGLES, 0, 6);
-
-// Read back the frame buffer
-var buf = new Uint8Array(textureWidth * textureHeight * 4);
-gl.readPixels(0, 0, textureWidth, textureHeight, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-
-// Verify the frame buffer's contents
-var passed = true;
-for (var i = 0; i < textureWidth; i++) {
- var val = i;
- if (buf[4 * i + 0] != val ||
- buf[4 * i + 1] != val ||
- buf[4 * i + 2] != val) {
- testFailed("pixel at (" + i + ", 0) was (" +
- buf[4 * i + 0] + ", " +
- buf[4 * i + 1] + ", " +
- buf[4 * i + 2] + "), should be (" +
- val + ", " + val + ", " + val + ")");
- passed = false;
- break;
- }
-}
-
-if (passed)
- testPassed("");
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind-expected.txt
deleted file mode 100644
index 0cb069b..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind-expected.txt
+++ /dev/null
@@ -1,17 +0,0 @@
-
-Tests that glActiveTexture and glBindTexture work as expected
-Specifically texture targets are per active texture unit.
-
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.getError() is gl.NO_ERROR
-PASS gl.getError() is gl.NO_ERROR
-PASS expected:0, 192, 128, 255 found: 0, 192, 128, 255
-PASS expected:128, 64, 255, 255 found: 128, 64, 255, 255
-PASS expected:192, 255, 64, 255 found: 192, 255, 64, 255
-PASS expected:200, 0, 255, 255 found: 200, 0, 255, 255
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind.html
deleted file mode 100644
index 1aba669..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-active-bind.html
+++ /dev/null
@@ -1,155 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
- <head>
- <title>WebGL ActiveTexture BindTexture conformance test.</title>
- <script src="../../../resources/js-test.js"></script>
- <script src="resources/webgl-test.js"> </script>
-</head>
-<body>
-<canvas id="example" width="2" height="2" style="width: 40px; height: 40px;"></canvas>
-<canvas id="canvas2d" width="1" height="1" style="width: 40px; height: 40px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">
-uniform mat4 world;
-attribute vec3 vPosition;
-attribute vec2 texCoord0;
-varying vec2 texCoord;
-void main()
-{
- gl_Position = world * vec4(vPosition, 1);
- texCoord = texCoord0;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision highp float;
-#endif
-uniform sampler2D tex;
-varying vec2 texCoord;
-void main()
-{
- gl_FragColor = texture2D(tex, texCoord);
-}
-</script>
-
-<script>
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
- }
-
- debug("Tests that glActiveTexture and glBindTexture work as expected");
- debug("Specifically texture targets are per active texture unit.");
- debug("");
-
- var canvas2d = document.getElementById("canvas2d");
- var ctx2d = canvas2d.getContext("2d");
-
- gl = initWebGL("example", "vshader", "fshader", [ "vPosition", "texCoord0"],
- [ 0, 0, 0, 1 ], 1);
-
- gl.disable(gl.DEPTH_TEST);
- gl.disable(gl.BLEND);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(
- gl.ARRAY_BUFFER,
- new Float32Array([-1, 1,0, 1,1,0, -1,-1,0,
- -1,-1,0, 1,1,0, 1,-1,0]),
- gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(
- gl.ARRAY_BUFFER,
- new Float32Array([ 0,0, 1,0, 0,1,
- 0,1, 1,0, 1,1]),
- gl.STATIC_DRAW);
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- var colors = [
- [0,192,128,255],
- [128,64,255,255],
- [192,255,64,255],
- [200,0,255,255]];
-
- // Make 4 textures by using 4 active texture units.
- var textures = [];
- for (var ii = 0; ii < colors.length; ++ii) {
- var tex = gl.createTexture();
- gl.activeTexture(gl.TEXTURE0 + ii);
- gl.bindTexture(gl.TEXTURE_2D, tex);
- textures[ii] = tex;
- }
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- // now use each texture unit to write into the textures,
- for (var ii = 0; ii < colors.length; ++ii) {
- var c = colors[ii];
- ctx2d.fillStyle =
- "rgba(" + c[0] + "," + c[1] + "," + c[2] + "," + c[3] + ")";
- ctx2d.fillRect(0, 0, 1, 1);
- gl.activeTexture(gl.TEXTURE0 + ii);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas2d);
- }
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- var textureLoc = gl.getUniformLocation(gl.program, "tex");
- var worldLoc = gl.getUniformLocation(gl.program, "world");
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- gl.clearColor(1,0,0,1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-
- for (var ii = 0; ii < colors.length; ++ii) {
- var x = ii % 2;
- var y = Math.floor(ii / 2);
- gl.uniform1i(textureLoc, ii);
- gl.uniformMatrix4fv(
- worldLoc, false,
- [0.5, 0, 0, 0,
- 0, 0.5, 0, 0,
- 0, 0, 1, 0,
- -0.5 + x, -0.5 + y, 0, 1]);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
- }
- shouldBe("gl.getError()", "gl.NO_ERROR");
-
- for (var ii = 0; ii < colors.length; ++ii) {
- var c = colors[ii];
- var x = ii % 2;
- var y = Math.floor(ii / 2);
- var buf = new Uint8Array(4);
- gl.readPixels(x, y, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var msg = 'expected:' +
- c[0] + ', ' + c[1] + ', ' + c[2] + ', ' + c[3] + ' found: ' +
- buf[0] + ', ' +
- buf[1] + ', ' +
- buf[2] + ', ' +
- buf[3];
- if (buf[0] != c[0] ||
- buf[1] != c[1] ||
- buf[2] != c[2] ||
- buf[3] != c[3])
- testFailed(msg);
- else
- testPassed(msg);
- }
-}
-
-init();
-</script>
-
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize-expected.txt
deleted file mode 100644
index b832b8d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize-expected.txt
+++ /dev/null
@@ -1,14 +0,0 @@
-Verifies that GL texture bindings do not change when canvas is resized
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-test before resizing canvas
-PASS should be blue
-PASS should be green
-test after resizing canvas
-PASS should be blue
-PASS should be green
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize.html
deleted file mode 100644
index 6f9a92e..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-bindings-uneffected-on-resize.html
+++ /dev/null
@@ -1,51 +0,0 @@
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<canvas id="example" width="4px" height="4px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description('Verifies that GL texture bindings do not change when canvas is resized');
-
-var err;
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-var program = wtu.setupTexturedQuad(gl);
-
-var green = [0, 255, 0, 255];
-var blue = [0, 0, 255, 255];
-var tex0 = gl.createTexture();
-wtu.fillTexture(gl, tex0, 1, 1, blue, 0);
-gl.activeTexture(gl.TEXTURE1)
-var tex1 = gl.createTexture();
-wtu.fillTexture(gl, tex1, 1, 1, green, 0);
-
-var loc = gl.getUniformLocation(program, "tex");
-
-function test() {
- gl.viewport(0, 0, canvas.width, canvas.height);
- gl.uniform1i(loc, 0);
- wtu.drawQuad(gl);
- wtu.checkCanvas(gl, blue, "should be blue");
- gl.uniform1i(loc, 1);
- wtu.drawQuad(gl);
- wtu.checkCanvas(gl, green, "should be green");
-}
-
-debug("test before resizing canvas");
-test();
-debug("test after resizing canvas");
-canvas.width = 8;
-test();
-
-successfullyParsed = true;
-</script>
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete-expected.txt
deleted file mode 100644
index 8b5ff70..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete-expected.txt
+++ /dev/null
@@ -1,8 +0,0 @@
-
-Checks that a texture that is not -texture-complete- does not draw if filtering needs mips
-
-PASS texture that is not -texture-complete- when TEXTURE_MIN_FILTER not NEAREST or LINEAR should draw with 0,0,0,255
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete.html
deleted file mode 100644
index d2e41eb..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-complete.html
+++ /dev/null
@@ -1,128 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<title>WebGL "Texture Complete" texture conformance test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-</head>
-<body>
-<canvas id="example" width="40" height="40" style="width: 40px; height: 40px;"></canvas>
-<canvas id="canvas2d" width="16" height="16" style="width: 40px; height: 40px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">
-#ifdef GL_ES
-precision highp float;
-#endif
-attribute vec4 vPosition;
-attribute vec2 texCoord0;
-varying vec2 texCoord;
-void main()
-{
- gl_Position = vPosition;
- texCoord = texCoord0;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision highp float;
-#endif
-uniform sampler2D tex;
-varying vec2 texCoord;
-void main()
-{
- gl_FragColor = texture2D(tex, texCoord);
-}
-</script>
-
-<script>
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
- }
-
- if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
- debug("Checks that a texture that is not -texture-complete- does not draw if"+
- " filtering needs mips");
- debug("");
-
- var canvas2d = document.getElementById("canvas2d");
- var ctx2d = canvas2d.getContext("2d");
- ctx2d.fillStyle = "rgba(0,192,128,255)";
- ctx2d.fillRect(0, 0, 16, 16);
-
- gl = initWebGL("example", "vshader", "fshader", [ "vPosition", "texCoord0"],
- [ 0, 0, 0, 1 ], 1);
-
- gl.disable(gl.DEPTH_TEST);
- gl.disable(gl.BLEND);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER,
- new Float32Array([ -1,1,0, 1,1,0, -1,-1,0,
- -1,-1,0, 1,1,0, 1,-1,0 ]),
- gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER,
- new Float32Array([ 0,0, 1,0, 0,1,
- 0,1, 1,0, 1,1 ]),
- gl.STATIC_DRAW);
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
-
- var tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- // 16x16 texture no mips
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas2d);
-
- var loc = gl.getUniformLocation(gl.program, "tex");
- gl.uniform1i(loc, 0);
-
- checkBuffer(0,0,0,255,
- "texture that is not -texture-complete- when " +
- "TEXTURE_MIN_FILTER not NEAREST or LINEAR should draw with 0,0,0,255");
-
- function checkBuffer(r, g, b, a, msg) {
- gl.clearColor(1,1,1,1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
- gl.flush();
- var buf = new Uint8Array(4 * 4 * 4);
- gl.readPixels(0, 0, 4, 4, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- for (var i = 0; i < 4 * 4; ++i) {
- var offset = i * 4;
- if (buf[offset + 0] != r ||
- buf[offset + 1] != g ||
- buf[offset + 2] != b ||
- buf[offset + 3] != a) {
- debug('expected: ' + r + ', ' + g + ', ' + b + ', ' + a +
- ' was: ' +
- buf[offset + 0] + ', ' +
- buf[offset + 1] + ', ' +
- buf[offset + 2] + ', ' +
- buf[offset + 3]);
- testFailed(msg);
- return;
- }
- }
- testPassed(msg);
- }
-}
-
-init();
-</script>
-
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot-expected.txt
deleted file mode 100644
index 32dedd2..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot-expected.txt
+++ /dev/null
@@ -1,31 +0,0 @@
- PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS getError was expected value: INVALID_VALUE : gl.texImage2D with NPOT texture with level > 0 should return INVALID_VALUE
-PASS getError was expected value: NO_ERROR : gl.texImage2D with NPOT texture at level 0 should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.generateMipmap with NPOT texture should return INVALID_OPERATION
-PASS NPOT texture with TEXTURE_WRAP set to REPEAT should draw with 0,0,0,255
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS NPOT texture with TEXTURE_MIN_FILTER not NEAREST or LINEAR should draw with 0,0,0,255
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS NPOT texture with TEXTURE_MIN_FILTER set to LINEAR should draw.
-PASS getError was expected value: INVALID_VALUE : copyTexImage2D with NPOT texture with level > 0 should return INVALID_VALUE.
-PASS getError was expected value: NO_ERROR : gl.texImage2D and gl.generateMipmap with POT texture at level 0 should succeed
-PASS POT texture with TEXTURE_MIN_FILTER set to LINEAR_MIPMAP_LINEAR should draw.
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-
-check using cubemap
-PASS getError was expected value: INVALID_VALUE : gl.texImage2D with NPOT texture with level > 0 should return INVALID_VALUE
-PASS getError was expected value: NO_ERROR : gl.texImage2D with NPOT texture at level 0 should succeed
-PASS getError was expected value: INVALID_OPERATION : gl.generateMipmap with NPOT texture should return INVALID_OPERATION
-PASS NPOT cubemap with TEXTURE_WRAP set to REPEAT should draw with 0,0,0,255
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS NPOT cubemap with TEXTURE_MIN_FILTER not NEAREST or LINEAR should draw with 0,0,0,255
-PASS getError was expected value: NO_ERROR : Should be no errors from setup.
-PASS NPOT cubemap with TEXTURE_MIN_FILTER set to LINEAR should draw.
-PASS getError was expected value: NO_ERROR : gl.texImage2D with POT texture at level 0 should succeed
-PASS POT cubemap with TEXTURE_MIN_FILTER set to LINEAR_MIPMAP_LINEAR but no mips draw with 0,0,0,255
-PASS getError was expected value: NO_ERROR : gl.generateMipmap with POT texture should return succeed
-PASS POT cubemap with TEXTURE_MIN_FILTER set to LINEAR_MIPMAP_LINEAR should draw.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot.html
deleted file mode 100644
index 3f78e96..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-npot.html
+++ /dev/null
@@ -1,228 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
- "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<head>
-<title>WebGL Non-Power of 2 texture conformance test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="4" height="4" style="width: 40px; height: 30px;"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec4 vPosition;
-attribute vec2 texCoord0;
-varying vec2 texCoord;
-void main()
-{
- gl_Position = vPosition;
- texCoord = texCoord0;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-#ifdef GL_ES
-precision mediump float;
-#endif
-uniform samplerCube tex;
-varying vec2 texCoord;
-void main()
-{
- gl_FragColor = textureCube(tex, normalize(vec3(texCoord, 1)));
-}
-</script>
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("example");
-var gl = wtu.create3DContext(canvas);
-var program = wtu.setupTexturedQuad(gl);
-
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-var tex = gl.createTexture();
-
-// Check that an NPOT texture not on level 0 generates INVALID_VALUE
-wtu.fillTexture(gl, tex, 5, 3, [0, 192, 128, 255], 1);
-glErrorShouldBe(gl, gl.INVALID_VALUE,
- "gl.texImage2D with NPOT texture with level > 0 should return INVALID_VALUE");
-
-// Check that an NPOT texture on level 0 succeeds
-wtu.fillTexture(gl, tex, 5, 3, [0, 192, 128, 255]);
-glErrorShouldBe(gl, gl.NO_ERROR,
- "gl.texImage2D with NPOT texture at level 0 should succeed");
-
-// Check that generateMipmap fails on NPOT
-gl.generateMipmap(gl.TEXTURE_2D);
-glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "gl.generateMipmap with NPOT texture should return INVALID_OPERATION");
-
-var loc = gl.getUniformLocation(program, "tex");
-gl.uniform1i(loc, 0);
-
-// Check that nothing is drawn if filtering is not correct for NPOT
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 0, 0, 255],
- "NPOT texture with TEXTURE_WRAP set to REPEAT should draw with 0,0,0,255");
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.NEAREST_MIPMAP_LINEAR);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 0, 0, 255],
- "NPOT texture with TEXTURE_MIN_FILTER not NEAREST or LINEAR should draw with 0,0,0,255");
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 192, 128, 255],
- "NPOT texture with TEXTURE_MIN_FILTER set to LINEAR should draw.");
-
-gl.copyTexImage2D(gl.TEXTURE_2D, 1, gl.RGBA, 0, 0, 5, 3, 0);
-glErrorShouldBe(gl, gl.INVALID_VALUE,
- "copyTexImage2D with NPOT texture with level > 0 should return INVALID_VALUE.");
-
-// Check that generateMipmap for an POT texture succeeds
-wtu.fillTexture(gl, tex, 4, 4, [0, 192, 128, 255]);
-gl.generateMipmap(gl.TEXTURE_2D);
-glErrorShouldBe(gl, gl.NO_ERROR,
- "gl.texImage2D and gl.generateMipmap with POT texture at level 0 should succeed");
-
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.REPEAT);
-gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.REPEAT);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 192, 128, 255],
- "POT texture with TEXTURE_MIN_FILTER set to LINEAR_MIPMAP_LINEAR should draw.");
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-debug("");
-debug("check using cubemap");
-var program = wtu.setupProgram(
- gl,
- [wtu.loadShaderFromScript(gl, 'vshader', gl.VERTEX_SHADER),
- wtu.loadShaderFromScript(gl, 'fshader', gl.FRAGMENT_SHADER)],
- ['vPosition', 'texCoord0'], [0, 1]);
-var tex = gl.createTexture();
-
-// Check that an NPOT texture not on level 0 generates INVALID_VALUE
-fillCubeTexture(gl, tex, 5, 3, [0, 192, 128, 255], 1);
-glErrorShouldBe(gl, gl.INVALID_VALUE,
- "gl.texImage2D with NPOT texture with level > 0 should return INVALID_VALUE");
-
-// Check that an NPOT texture on level 0 succeeds
-fillCubeTexture(gl, tex, 5, 5, [0, 192, 128, 255]);
-glErrorShouldBe(gl, gl.NO_ERROR,
- "gl.texImage2D with NPOT texture at level 0 should succeed");
-
-// Check that generateMipmap fails on NPOT
-gl.generateMipmap(gl.TEXTURE_CUBE_MAP);
-glErrorShouldBe(gl, gl.INVALID_OPERATION,
- "gl.generateMipmap with NPOT texture should return INVALID_OPERATION");
-
-var loc = gl.getUniformLocation(program, "tex");
-gl.uniform1i(loc, 0);
-
-// Check that nothing is drawn if filtering is not correct for NPOT
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.NEAREST);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.REPEAT);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.REPEAT);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 0, 0, 255],
- "NPOT cubemap with TEXTURE_WRAP set to REPEAT should draw with 0,0,0,255");
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.NEAREST_MIPMAP_LINEAR);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 0, 0, 255],
- "NPOT cubemap with TEXTURE_MIN_FILTER not NEAREST or LINEAR should draw with 0,0,0,255");
-glErrorShouldBe(gl, gl.NO_ERROR, "Should be no errors from setup.");
-
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 192, 128, 255],
- "NPOT cubemap with TEXTURE_MIN_FILTER set to LINEAR should draw.");
-
-// Check that an POT texture on level 0 succeeds
-fillCubeTexture(gl, tex, 4, 4, [0, 192, 128, 255]);
-glErrorShouldBe(gl, gl.NO_ERROR,
- "gl.texImage2D with POT texture at level 0 should succeed");
-
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MIN_FILTER, gl.LINEAR_MIPMAP_LINEAR);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_S, gl.REPEAT);
-gl.texParameteri(gl.TEXTURE_CUBE_MAP, gl.TEXTURE_WRAP_T, gl.REPEAT);
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 0, 0, 255],
- "POT cubemap with TEXTURE_MIN_FILTER set to LINEAR_MIPMAP_LINEAR but no mips draw with 0,0,0,255");
-
-// Check that generateMipmap succeeds on POT
-gl.generateMipmap(gl.TEXTURE_CUBE_MAP);
-glErrorShouldBe(gl, gl.NO_ERROR,
- "gl.generateMipmap with POT texture should return succeed");
-
-wtu.drawQuad(gl);
-wtu.checkCanvas(
- gl, [0, 192, 128, 255],
- "POT cubemap with TEXTURE_MIN_FILTER set to LINEAR_MIPMAP_LINEAR should draw.");
-
-function fillCubeTexture(gl, tex, width, height, color, opt_level) {
- opt_level = opt_level || 0;
- var canvas = document.createElement('canvas');
- canvas.width = width;
- canvas.height = height;
- var ctx2d = canvas.getContext('2d');
- ctx2d.fillStyle = "rgba(" + color[0] + "," + color[1] + "," + color[2] + "," + color[3] + ")";
- ctx2d.fillRect(0, 0, width, height);
- gl.bindTexture(gl.TEXTURE_CUBE_MAP, tex);
- var targets = [
- gl.TEXTURE_CUBE_MAP_POSITIVE_X,
- gl.TEXTURE_CUBE_MAP_NEGATIVE_X,
- gl.TEXTURE_CUBE_MAP_POSITIVE_Y,
- gl.TEXTURE_CUBE_MAP_NEGATIVE_Y,
- gl.TEXTURE_CUBE_MAP_POSITIVE_Z,
- gl.TEXTURE_CUBE_MAP_NEGATIVE_Z];
- for (var tt = 0; tt < targets.length; ++tt) {
- gl.texImage2D(
- targets[tt], opt_level, gl.RGBA, gl.RGBA, gl.UNSIGNED_BYTE, canvas);
- }
-};
-
-</script>
-</body>
-
-<script>
-</script>
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized-expected.txt
deleted file mode 100644
index af8b747..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized-expected.txt
+++ /dev/null
@@ -1,15 +0,0 @@
-Tests there is no garbage in transparent regions of images uploaded as textures
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-Checking lower left corner
-PASS shouldBe 0,0,0
-Checking upper left corner
-PASS shouldBe 0,0,0
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized.html
deleted file mode 100644
index a5731b0..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/texture-transparent-pixels-initialized.html
+++ /dev/null
@@ -1,82 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<script>
-var wtu = WebGLTestUtils;
-var gl = null;
-var textureLoc = null;
-
-function init()
-{
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(true);
- }
-
- description('Tests there is no garbage in transparent regions of images uploaded as textures');
-
- wtu = WebGLTestUtils;
- var canvas = document.getElementById("example");
- gl = wtu.create3DContext(canvas);
- var program = wtu.setupTexturedQuad(gl);
- gl.clearColor(0.5,0.5,0.5,1);
- gl.clearDepth(1);
-
- textureLoc = gl.getUniformLocation(program, "tex");
-
- // The input texture has 8 characters; take the leftmost one
- var coeff = 1.0 / 8.0;
- var texCoords = new Float32Array([
- coeff, 1.0,
- 0.0, 1.0,
- 0.0, 0.0,
- coeff, 1.0,
- 0.0, 0.0,
- coeff, 0.0]);
-
- var vbo = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
- gl.bufferData(gl.ARRAY_BUFFER, texCoords, gl.STATIC_DRAW);
- gl.enableVertexAttribArray(1);
- gl.vertexAttribPointer(1, 2, gl.FLOAT, false, 0, 0);
-
- texture = wtu.loadTexture(gl, "resources/bug-32888-texture.png", runTest);
-}
-
-// These two declarations need to be global for "shouldBe" to see them
-var buf = null;
-var idx = 0;
-
-function runTest()
-{
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.enable(gl.BLEND);
- gl.blendFunc(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA);
- // Bind the texture to texture unit 0
- gl.bindTexture(gl.TEXTURE_2D, texture);
- // Point the uniform sampler to texture unit 0
- gl.uniform1i(textureLoc, 0);
- // Draw the triangles
- wtu.drawQuad(gl, [0, 0, 0, 255]);
-
- // Spot check a couple of 2x2 regions in the upper and lower left
- // corners; they should be the rgb values in the texture.
- color = [0, 0, 0];
- debug("Checking lower left corner");
- wtu.checkCanvasRect(gl, 1, gl.canvas.height - 3, 2, 2, color,
- "shouldBe " + color);
- debug("Checking upper left corner");
- wtu.checkCanvasRect(gl, 1, 1, 2, 2, color,
- "shouldBe " + color);
-
- finishJSTest();
-}
-</script>
-</head>
-<body onload="init()">
-<canvas id="example" width="32px" height="32px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle-expected.txt
deleted file mode 100644
index 16a7fa6..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle-expected.txt
+++ /dev/null
@@ -1,5 +0,0 @@
- PASS drawing is correct
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle.html
deleted file mode 100644
index 10b3a825..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/triangle.html
+++ /dev/null
@@ -1,94 +0,0 @@
-
-<!DOCTYPE html>
-<html>
- <head>
- <title>Rendering Test</title>
- <script src="../../../resources/js-test.js"></script>
- <script src="resources/webgl-test.js"> </script>
-</head>
-<body>
-<canvas id="example" width="50" height="50">
-There is supposed to be an example drawing here, but it's not important.
-</canvas>
-<div id="description"></div>
-<div id="console"></div>
- <script id="vshader" type="x-shader/x-vertex">
- attribute vec4 vPosition;
- void main()
- {
- gl_Position = vPosition;
- }
- </script>
-
- <script id="fshader" type="x-shader/x-fragment">
- void main()
- {
- gl_FragColor = vec4(1.0,0.0,0.0,1.0);
- }
- </script>
-
- <script>
- function fail(x,y, buf, shouldBe)
- {
- var i = (y*50+x) * 4;
- var reason = "pixel at ("+x+","+y+") is ("+buf[i]+","+buf[i+1]+","+buf[i+2]+","+buf[i+3]+"), should be "+shouldBe;
- testFailed(reason);
- }
-
- function pass()
- {
- testPassed("drawing is correct");
- }
-
- function init()
- {
- if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
- }
-
- gl = initWebGL("example", "vshader", "fshader", [ "vPosition"], [ 0, 0, 0, 1 ], 1);
-
- var vertexObject = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
- gl.bufferData(gl.ARRAY_BUFFER, new Float32Array([ 0,0.5,0, -0.5,-0.5,0, 0.5,-0.5,0 ]), gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 3);
-
- var buf = new Uint8Array(50 * 50 * 4);
- gl.readPixels(0, 0, 50, 50, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-
- // Test several locations
- // First line should be all black
- for (var i = 0; i < 50; ++i)
- if (buf[i*4] != 0 || buf[i*4+1] != 0 || buf[i*4+2] != 0 || buf[i*4+3] != 255) {
- fail(i, 0, buf, "(0,0,0,255)");
- return;
- }
-
- // Line 15 should be red for at least 10 red pixels starting 20 pixels in
- var offset = (15*50+20) * 4;
- for (var i = 0; i < 10; ++i)
- if (buf[offset+i*4] != 255 || buf[offset+i*4+1] != 0 || buf[offset+i*4+2] != 0 || buf[offset+i*4+3] != 255) {
- fail(20 + i, 15, buf, "(255,0,0,255)");
- return;
- }
- // Last line should be all black
- offset = (49*50) * 4;
- for (var i = 0; i < 50; ++i)
- if (buf[offset+i*4] != 0 || buf[offset+i*4+1] != 0 || buf[offset+i*4+2] != 0 || buf[offset+i*4+3] != 255) {
- fail(i, 49, buf, "(0,0,0,255)");
- return;
- }
-
- pass();
- }
-
- init();
- </script>
-</body>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test-expected.txt
deleted file mode 100644
index 1778b1d..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test-expected.txt
+++ /dev/null
@@ -1,840 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests calling WebGL APIs with various types
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS Program Compiled
-PASS Shader Compiled
-PASS getUniformLocation succeeded
-
-testing type of number : value = 0
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of number : value = 2
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is null
-PASS context.getActiveUniform(program, argument) is null
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of string that is NaN : value = foo
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of string that is number : value = 2
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is null
-PASS context.getActiveUniform(program, argument) is null
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of null : value = null
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of Empty Array : value =
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of Object : value = [object Object]
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of Array of Number : value = 2
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is null
-PASS context.getActiveUniform(program, argument) is null
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of Array of String : value = foo
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of Array of String that is number : value = 0
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of Array of String that is number : value = 2
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is null
-PASS context.getActiveUniform(program, argument) is null
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-
-testing type of TypedArray : value = 0
-PASS context.bindAttribLocation(program, argument, 'foo') is undefined.
-PASS context.blendColor(argument, argument, argument, argument) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW) is undefined.
-PASS context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW) is undefined.
-PASS context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2)) is undefined.
-PASS context.clear(argument) is undefined.
-PASS context.clearColor(argument, 0, 0, 0) is undefined.
-PASS context.clearColor(0, argument, 0, 0) is undefined.
-PASS context.clearColor(0, 0, argument, 0) is undefined.
-PASS context.clearColor(0, 0, 0, argument) is undefined.
-PASS context.clearDepth(argument) is undefined.
-PASS context.clearStencil(argument) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0) is undefined.
-PASS context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0) is undefined.
-PASS context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument) is undefined.
-PASS context.depthMask(argument) is undefined.
-PASS context.depthRange(argument, 1) is undefined.
-PASS context.depthRange(0, argument) is undefined.
-PASS context.drawArrays(context.POINTS, argument, 1) is undefined.
-PASS context.drawArrays(context.POINTS, 0, argument) is undefined.
-PASS context.enableVertexAttribArray(argument) is undefined.
-PASS context.disableVertexAttribArray(argument) is undefined.
-PASS context.getActiveAttrib(program, argument) is non-null.
-PASS context.getActiveUniform(program, argument) is non-null.
-PASS context.getParameter(argument) is null
-PASS context.lineWidth(argument) is undefined.
-PASS context.polygonOffset(argument, 0) is undefined.
-PASS context.polygonOffset(0, argument) is undefined.
-PASS context.sampleCoverage(argument, 0) is undefined.
-PASS context.sampleCoverage(0, argument) is undefined.
-PASS context.scissor(argument, 0, 10, 10) is undefined.
-PASS context.scissor(0, argument, 10, 10) is undefined.
-PASS context.scissor(0, 0, argument, 10) is undefined.
-PASS context.scissor(0, 0, 10, argument) is undefined.
-PASS context.shaderSource(shader, argument) is undefined.
-PASS context.stencilFunc(context.NEVER, argument, 255) is undefined.
-PASS context.stencilFunc(context.NEVER, 0, argument) is undefined.
-PASS context.stencilMask(argument) is undefined.
-PASS context.uniform1i(loc, argument) is undefined.
-PASS context.uniform2i(loc, argument, 0) is undefined.
-PASS context.uniform2i(loc, 0, argument) is undefined.
-PASS context.uniform3i(loc, argument, 0, 0) is undefined.
-PASS context.uniform3i(loc, 0, argument, 0) is undefined.
-PASS context.uniform3i(loc, 0, 0, argument) is undefined.
-PASS context.uniform4i(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4i(loc, 0, 0, 0, argument) is undefined.
-PASS context.uniform1f(loc, argument) is undefined.
-PASS context.uniform2f(loc, argument, 0) is undefined.
-PASS context.uniform2f(loc, 0, argument) is undefined.
-PASS context.uniform3f(loc, argument, 0, 0) is undefined.
-PASS context.uniform3f(loc, 0, argument, 0) is undefined.
-PASS context.uniform3f(loc, 0, 0, argument) is undefined.
-PASS context.uniform4f(loc, argument, 0, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, argument, 0, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, argument, 0) is undefined.
-PASS context.uniform4f(loc, 0, 0, 0, argument) is undefined.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test.html
deleted file mode 100644
index 4421e0a..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/type-conversion-test.html
+++ /dev/null
@@ -1,143 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-var wtu = WebGLTestUtils;
-description("Tests calling WebGL APIs with various types");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var context = wtu.create3DContext();
-var program = wtu.loadStandardProgram(context);
-var shader = wtu.loadStandardVertexShader(context);
-var shouldGenerateGLError = wtu.shouldGenerateGLError;
-
-assertMsg(program != null, "Program Compiled");
-assertMsg(shader != null, "Shader Compiled");
-
-var loc = context.getUniformLocation(program, "u_modelViewProjMatrix");
-assertMsg(loc != null, "getUniformLocation succeeded");
-
-var buffer = context.createBuffer();
-context.bindBuffer(context.ARRAY_BUFFER, buffer);
-var texture = context.createTexture();
-context.bindTexture(context.TEXTURE_2D, texture);
-context.useProgram(program);
-
-var args = [
- { type: "number", value: 0 },
- { type: "number", value: 2 },
- { type: "string that is NaN", value: "foo", },
- { type: "string that is number", value: "2", },
- { type: "null", value: null },
- { type: "Empty Array", value: [] },
- { type: "Object", value: {} },
- { type: "Array of Number", value: [2] },
- { type: "Array of String", value: ["foo"] },
- { type: "Array of String that is number", value: ["0"] },
- { type: "Array of String that is number", value: ["2"] },
- { type: "TypedArray", value: new Float32Array(1) }
-];
-
-var argument;
-
-for (var i = 0; i < args.length; ++i) {
- argument = args[i].value;
- var func1 = shouldBeUndefined;
- var func2 = shouldBeNonNull;
- if (argument == 2) {
- func2 = shouldBeNull;
- }
- func3 = shouldBeNull;
- debug("");
- debug("testing type of " + args[i].type + " : value = " + argument);
- func1("context.bindAttribLocation(program, argument, 'foo')");
- func1("context.blendColor(argument, argument, argument, argument)");
- func1("context.bufferData(context.ARRAY_BUFFER, argument, context.STATIC_DRAW)");
- func1("context.bufferData(context.ARRAY_BUFFER, new Float32Array(10), context.STATIC_DRAW)");
- func1("context.bufferSubData(context.ARRAY_BUFFER, argument, new Float32Array(2))");
- func1("context.clear(argument)")
- func1("context.clearColor(argument, 0, 0, 0)");
- func1("context.clearColor(0, argument, 0, 0)");
- func1("context.clearColor(0, 0, argument, 0)");
- func1("context.clearColor(0, 0, 0, argument)");
- func1("context.clearDepth(argument)");
- func1("context.clearStencil(argument)");
- func1("context.copyTexImage2D(context.TEXTURE_2D, argument, context.RGBA, 0, 0, 1, 1, 0)");
- func1("context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, argument, 0, 1, 1, 0)");
- func1("context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, argument, 1, 1, 0)");
- func1("context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, argument, 1, 0)");
- func1("context.copyTexImage2D(context.TEXTURE_2D, 0, context.RGBA, 0, 0, 0, argument, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, argument, 0, 0, 0, 0, 0, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, 0, argument, 0, 0, 0, 0, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, argument, 0, 0, 0, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, argument, 0, 0, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, argument, 0, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, argument, 0)");
- func1("context.copyTexSubImage2D(context.TEXTURE_2D, 0, 0, 0, 0, 0, 0, argument)");
- func1("context.depthMask(argument)");
- func1("context.depthRange(argument, 1)");
- func1("context.depthRange(0, argument)");
- func1("context.drawArrays(context.POINTS, argument, 1)");
- func1("context.drawArrays(context.POINTS, 0, argument)");
- //func1("context.drawElements(...)");
- func1("context.enableVertexAttribArray(argument)");
- func1("context.disableVertexAttribArray(argument)");
- func2("context.getActiveAttrib(program, argument)");
- func2("context.getActiveUniform(program, argument)");
- func3("context.getParameter(argument)");
- func1("context.lineWidth(argument)");
- func1("context.polygonOffset(argument, 0)");
- func1("context.polygonOffset(0, argument)");
- //func1("context.readPixels(...)");
- //func1("context.renderbufferStorage(...)");
- func1("context.sampleCoverage(argument, 0)");
- func1("context.sampleCoverage(0, argument)");
- func1("context.scissor(argument, 0, 10, 10)");
- func1("context.scissor(0, argument, 10, 10)");
- func1("context.scissor(0, 0, argument, 10)");
- func1("context.scissor(0, 0, 10, argument)");
- func1("context.shaderSource(shader, argument)");
- func1("context.stencilFunc(context.NEVER, argument, 255)");
- func1("context.stencilFunc(context.NEVER, 0, argument)");
- //func1("context.stencilFuncSeparate(GLenum face, GLenum func, GLint ref, GLuint mask)");
- func1("context.stencilMask(argument)");
- //func1("context.stencilMaskSeparate(context.FRONT, argument);
- //func1("context.texImage2D(GLenum target, GLint level, GLenum internalformat, GLsizei width, GLsizei height, GLint border, GLenum format, GLenum type, ArrayBufferView pixels)");
- //func1("context.texParameterf(GLenum target, GLenum pname, GLfloat param)");
- //func1("context.texParameteri(GLenum target, GLenum pname, GLint param)");
- //func1("context.texSubImage2D(GLenum target, GLint level, GLint xoffset, GLint yoffset,GLsizei width, GLsizei height,GLenum format, GLenum type, ArrayBufferView pixels)");
- func1("context.uniform1i(loc, argument)");
- func1("context.uniform2i(loc, argument, 0)");
- func1("context.uniform2i(loc, 0, argument)");
- func1("context.uniform3i(loc, argument, 0, 0)");
- func1("context.uniform3i(loc, 0, argument, 0)");
- func1("context.uniform3i(loc, 0, 0, argument)");
- func1("context.uniform4i(loc, argument, 0, 0, 0)");
- func1("context.uniform4i(loc, 0, argument, 0, 0)");
- func1("context.uniform4i(loc, 0, 0, argument, 0)");
- func1("context.uniform4i(loc, 0, 0, 0, argument)");
- func1("context.uniform1f(loc, argument)");
- func1("context.uniform2f(loc, argument, 0)");
- func1("context.uniform2f(loc, 0, argument)");
- func1("context.uniform3f(loc, argument, 0, 0)");
- func1("context.uniform3f(loc, 0, argument, 0)");
- func1("context.uniform3f(loc, 0, 0, argument)");
- func1("context.uniform4f(loc, argument, 0, 0, 0)");
- func1("context.uniform4f(loc, 0, argument, 0, 0)");
- func1("context.uniform4f(loc, 0, 0, argument, 0)");
- func1("context.uniform4f(loc, 0, 0, 0, argument)");
-}
-</script>
-
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers-expected.txt
deleted file mode 100644
index 5a9e4ee..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers-expected.txt
+++ /dev/null
@@ -1,128 +0,0 @@
-Tests copying and transferring typed arrays and ArrayBuffers to and from workers
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS copy Float32Array from worker to main thread
-PASS copy ArrayBuffer containing Float32Array values from worker to main thread
-PASS transfer Float32Array from worker to main thread
-PASS transfer ArrayBuffer containing Float32Array values from worker to main thread
-PASS copy Float32Array from worker to main thread
-PASS ping-pong with copy Float32Array from worker to main thread
-PASS copy ArrayBuffer containing Float32Array values from worker to main thread
-PASS ping-pong with copy containing Float32Array values from worker to main thread
-PASS transfer Float32Array from worker to main thread
-PASS ping-pong with transfer Float32Array from worker to main thread
-PASS transfer ArrayBuffer containing Float32Array values from worker to main thread
-PASS ping-pong with transfer containing Float32Array values from worker to main thread
-PASS copy DataView containing Float32 from worker to main thread
-PASS transfer DataView containing Float32 from worker to main thread
-PASS copy DataView containing Float32 from worker to main thread
-PASS ping-pong with copy DataView containing Float32 from worker to main thread
-PASS transfer DataView containing Float32 from worker to main thread
-PASS ping-pong with transfer DataView containing Float32 from worker to main thread
-PASS copy Float64Array from worker to main thread
-PASS copy ArrayBuffer containing Float64Array values from worker to main thread
-PASS transfer Float64Array from worker to main thread
-PASS transfer ArrayBuffer containing Float64Array values from worker to main thread
-PASS copy Float64Array from worker to main thread
-PASS ping-pong with copy Float64Array from worker to main thread
-PASS copy ArrayBuffer containing Float64Array values from worker to main thread
-PASS ping-pong with copy containing Float64Array values from worker to main thread
-PASS transfer Float64Array from worker to main thread
-PASS ping-pong with transfer Float64Array from worker to main thread
-PASS transfer ArrayBuffer containing Float64Array values from worker to main thread
-PASS ping-pong with transfer containing Float64Array values from worker to main thread
-PASS copy Int8Array from worker to main thread
-PASS copy ArrayBuffer containing Int8Array values from worker to main thread
-PASS transfer Int8Array from worker to main thread
-PASS transfer ArrayBuffer containing Int8Array values from worker to main thread
-PASS copy Int8Array from worker to main thread
-PASS ping-pong with copy Int8Array from worker to main thread
-PASS copy ArrayBuffer containing Int8Array values from worker to main thread
-PASS ping-pong with copy containing Int8Array values from worker to main thread
-PASS transfer Int8Array from worker to main thread
-PASS ping-pong with transfer Int8Array from worker to main thread
-PASS transfer ArrayBuffer containing Int8Array values from worker to main thread
-PASS ping-pong with transfer containing Int8Array values from worker to main thread
-PASS copy Int16Array from worker to main thread
-PASS copy ArrayBuffer containing Int16Array values from worker to main thread
-PASS transfer Int16Array from worker to main thread
-PASS transfer ArrayBuffer containing Int16Array values from worker to main thread
-PASS copy Int16Array from worker to main thread
-PASS ping-pong with copy Int16Array from worker to main thread
-PASS copy ArrayBuffer containing Int16Array values from worker to main thread
-PASS ping-pong with copy containing Int16Array values from worker to main thread
-PASS transfer Int16Array from worker to main thread
-PASS ping-pong with transfer Int16Array from worker to main thread
-PASS transfer ArrayBuffer containing Int16Array values from worker to main thread
-PASS ping-pong with transfer containing Int16Array values from worker to main thread
-PASS copy Int32Array from worker to main thread
-PASS copy ArrayBuffer containing Int32Array values from worker to main thread
-PASS transfer Int32Array from worker to main thread
-PASS transfer ArrayBuffer containing Int32Array values from worker to main thread
-PASS copy Int32Array from worker to main thread
-PASS ping-pong with copy Int32Array from worker to main thread
-PASS copy ArrayBuffer containing Int32Array values from worker to main thread
-PASS ping-pong with copy containing Int32Array values from worker to main thread
-PASS transfer Int32Array from worker to main thread
-PASS ping-pong with transfer Int32Array from worker to main thread
-PASS transfer ArrayBuffer containing Int32Array values from worker to main thread
-PASS ping-pong with transfer containing Int32Array values from worker to main thread
-PASS copy DataView containing Int32 from worker to main thread
-PASS transfer DataView containing Int32 from worker to main thread
-PASS copy DataView containing Int32 from worker to main thread
-PASS ping-pong with copy DataView containing Int32 from worker to main thread
-PASS transfer DataView containing Int32 from worker to main thread
-PASS ping-pong with transfer DataView containing Int32 from worker to main thread
-PASS copy Uint8Array from worker to main thread
-PASS copy ArrayBuffer containing Uint8Array values from worker to main thread
-PASS transfer Uint8Array from worker to main thread
-PASS transfer ArrayBuffer containing Uint8Array values from worker to main thread
-PASS copy Uint8Array from worker to main thread
-PASS ping-pong with copy Uint8Array from worker to main thread
-PASS copy ArrayBuffer containing Uint8Array values from worker to main thread
-PASS ping-pong with copy containing Uint8Array values from worker to main thread
-PASS transfer Uint8Array from worker to main thread
-PASS ping-pong with transfer Uint8Array from worker to main thread
-PASS transfer ArrayBuffer containing Uint8Array values from worker to main thread
-PASS ping-pong with transfer containing Uint8Array values from worker to main thread
-PASS copy Uint8ClampedArray from worker to main thread
-PASS copy ArrayBuffer containing Uint8ClampedArray values from worker to main thread
-PASS transfer Uint8ClampedArray from worker to main thread
-PASS transfer ArrayBuffer containing Uint8ClampedArray values from worker to main thread
-PASS copy Uint8ClampedArray from worker to main thread
-PASS ping-pong with copy Uint8ClampedArray from worker to main thread
-PASS copy ArrayBuffer containing Uint8ClampedArray values from worker to main thread
-PASS ping-pong with copy containing Uint8ClampedArray values from worker to main thread
-PASS transfer Uint8ClampedArray from worker to main thread
-PASS ping-pong with transfer Uint8ClampedArray from worker to main thread
-PASS transfer ArrayBuffer containing Uint8ClampedArray values from worker to main thread
-PASS ping-pong with transfer containing Uint8ClampedArray values from worker to main thread
-PASS copy Uint16Array from worker to main thread
-PASS copy ArrayBuffer containing Uint16Array values from worker to main thread
-PASS transfer Uint16Array from worker to main thread
-PASS transfer ArrayBuffer containing Uint16Array values from worker to main thread
-PASS copy Uint16Array from worker to main thread
-PASS ping-pong with copy Uint16Array from worker to main thread
-PASS copy ArrayBuffer containing Uint16Array values from worker to main thread
-PASS ping-pong with copy containing Uint16Array values from worker to main thread
-PASS transfer Uint16Array from worker to main thread
-PASS ping-pong with transfer Uint16Array from worker to main thread
-PASS transfer ArrayBuffer containing Uint16Array values from worker to main thread
-PASS ping-pong with transfer containing Uint16Array values from worker to main thread
-PASS copy Uint32Array from worker to main thread
-PASS copy ArrayBuffer containing Uint32Array values from worker to main thread
-PASS transfer Uint32Array from worker to main thread
-PASS transfer ArrayBuffer containing Uint32Array values from worker to main thread
-PASS copy Uint32Array from worker to main thread
-PASS ping-pong with copy Uint32Array from worker to main thread
-PASS copy ArrayBuffer containing Uint32Array values from worker to main thread
-PASS ping-pong with copy containing Uint32Array values from worker to main thread
-PASS transfer Uint32Array from worker to main thread
-PASS ping-pong with transfer Uint32Array from worker to main thread
-PASS transfer ArrayBuffer containing Uint32Array values from worker to main thread
-PASS ping-pong with transfer containing Uint32Array values from worker to main thread
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers.html
deleted file mode 100644
index f2b9ffb..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/typed-arrays-in-workers.html
+++ /dev/null
@@ -1,280 +0,0 @@
-<!--
-
-/*
-** Copyright (c) 2013 The Khronos Group Inc.
-**
-** Permission is hereby granted, free of charge, to any person obtaining a
-** copy of this software and/or associated documentation files (the
-** "Materials"), to deal in the Materials without restriction, including
-** without limitation the rights to use, copy, modify, merge, publish,
-** distribute, sublicense, and/or sell copies of the Materials, and to
-** permit persons to whom the Materials are furnished to do so, subject to
-** the following conditions:
-**
-** The above copyright notice and this permission notice shall be included
-** in all copies or substantial portions of the Materials.
-**
-** THE MATERIALS ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-** EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-** MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
-** IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
-** CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
-** TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
-** MATERIALS OR THE USE OR OTHER DEALINGS IN THE MATERIALS.
-*/
-
--->
-
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/typed-array-test-cases.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-"use strict";
-
-var testQueue = [];
-var transferSupported = true;
-
-function nextTest() {
- if (testQueue[0].subTests.length > 0) {
- testQueue[0].subTests.shift();
- }
-
- while (testQueue.length > 0 && testQueue[0].subTests.length == 0) {
- testQueue.shift();
- }
-
- if (testQueue.length == 0) {
- finishTest();
- return;
- }
-
- testQueue[0].subTests[0].runner();
-}
-
-function handleMessage(event) {
- if (testQueue.length == 0)
- return;
-
- if (testQueue[0].subTests.length == 0)
- return;
-
- testQueue[0].subTests[0].checker(event);
- nextTest();
-}
-
-function setupTest(testCase, runner, checker) {
- testCase.subTests.push({ runner: runner.bind(null, testCase), checker: checker.bind(null, testCase) });
-}
-
-function arrayToString(arr) {
- var result = "[ ";
- for (var ii = 0; ii < arr.length; ++ii) {
- if (ii > 0)
- result += ", ";
- result += arr[ii];
- }
- return result + " ]";
-}
-
-function constructTypedArray(type, data) {
- if (type == 'Int8Array') {
- return new Int8Array(data);
- } else if (type == 'Uint8Array') {
- return new Uint8Array(data);
- } else if (type == 'Uint8ClampedArray') {
- return new Uint8ClampedArray(data);
- } else if (type == 'Int16Array') {
- return new Int16Array(data);
- } else if (type == 'Uint16Array') {
- return new Uint16Array(data);
- } else if (type == 'Int32Array') {
- return new Int32Array(data);
- } else if (type == 'Uint32Array') {
- return new Uint32Array(data);
- } else if (type == 'Float32Array') {
- return new Float32Array(data);
- } else if (type == 'Float64Array') {
- return new Float64Array(data);
- }
-}
-
-// Test runner / checker pairs
-function runTestWithData(command, testCase) {
- worker.postMessage({command: command, type: testCase.name, subType: testCase.subType, elementSizeInBytes: testCase.elementSizeInBytes, data: testCase.testValues});
-}
-
-function checkArraysEqual(testKind, testCase, event) {
- var array = event.data;
- var testName = testKind + " " + testCase.name + " from worker to main thread";
- if (areArraysEqual(array, testCase.expectedValues)) {
- testPassed(testName);
- } else {
- testFailed(testName + ": expected " + arrayToString(testCase.expectedValues) + ", received " + arrayToString(array));
- }
-}
-
-function checkBufferContentsEqual(testKind, testCase, event) {
- var array = constructTypedArray(testCase.name, event.data);
- var testName = testKind + " containing " + testCase.name + " values from worker to main thread";
- if (areArraysEqual(array, testCase.expectedValues)) {
- testPassed(testName);
- } else {
- testFailed(testName + ": expected " + arrayToString(testCase.expectedValues) + ", received " + arrayToString(array));
- }
-}
-
-function checkDataViewContents(testKind, testCase, event) {
- var dataView = event.data;
- var testName = testKind + " " + testCase.name + " containing " + testCase.subType + " from worker to main thread";
- var byteOffset = 0;
- var allPassed = true;
- for (var ii = 0; ii < testCase.expectedValues.length; ++ii) {
- var expected = testCase.expectedValues[ii];
- var received = dataView['get' + testCase.subType](byteOffset);
- if (received != expected) {
- allPassed = false;
- testFailed(testName + ": at byte offset " + byteOffset + ": expected " + expected + ", received " + received);
- }
- byteOffset += testCase.elementSizeInBytes;
- }
- if (allPassed) {
- testPassed(testName);
- }
-}
-
-// Missing test: copy or transfer ArrayBuffer, wrap in DataView on this end, verify contents.
-
-function noop() {
-}
-
-function checkArraysEqualAndPingPong(testKind, transfer, testCase, event) {
- checkArraysEqual(testKind, testCase, event);
- var transferables = [];
- if (transfer) {
- transferables.push(event.data.buffer);
- }
- try {
- worker.postMessage({ command: 'pong', data: event.data, transferables: transferables }, transferables);
- } catch (e) {
- testFailed("unexpected exception: " + e);
- }
-}
-
-function checkBufferContentsEqualAndPingPong(testKind, transfer, testCase, event) {
- checkBufferContentsEqual(testKind, testCase, event);
- var transferables = [];
- if (transfer) {
- transferables.push(event.data);
- }
- try {
- worker.postMessage({ command: 'pong', data: event.data, transferables: transferables }, transferables);
- } catch (e) {
- testFailed("unexpected exception: " + e);
- }
-}
-
-function checkDataViewContentsAndPingPong(testKind, transfer, testCase, event) {
- checkDataViewContents(testKind, testCase, event);
- var transferables = [];
- if (transfer) {
- transferables.push(event.data.buffer);
- }
- try {
- worker.postMessage({ command: 'pong', data: event.data, transferables: transferables }, transferables);
- } catch (e) {
- testFailed("unexpected exception: " + e);
- }
-}
-
-description("Tests copying and transferring typed arrays and ArrayBuffers to and from workers");
-
-// See whether workers are supported at all
-if (window.Worker) {
- if (window.initNonKhronosFramework)
- window.initNonKhronosFramework(true);
-
- // Start up the worker
- var worker = new Worker('resources/typed-array-worker.js');
- worker.onmessage = handleMessage;
-
- // See whether transferables are supported
- var buffer = new ArrayBuffer(16);
- try {
- worker.postMessage({ command: 'ignore', data: buffer }, [buffer]);
- if (buffer.byteLength > 0)
- transferSupported = false;
- } catch (e) {
- transferSupported = false;
- }
-
- // Iterate down the tests, queueing them up
- for (var ii = 0; ii < testCases.length; ++ii) {
- var testCase = testCases[ii];
- testCase.subTests = [];
- setupTest(testCase, runTestWithData.bind(null, 'copy'), checkArraysEqual.bind(null, 'copy'));
- setupTest(testCase, runTestWithData.bind(null, 'copyBuffer'), checkBufferContentsEqual.bind(null, 'copy ArrayBuffer'));
- setupTest(testCase, runTestWithData.bind(null, 'transfer'), checkArraysEqual.bind(null, 'transfer'));
- setupTest(testCase, runTestWithData.bind(null, 'transferBuffer'), checkBufferContentsEqual.bind(null, 'transfer ArrayBuffer'));
-
- // These two must run back-to-back
- setupTest(testCase, runTestWithData.bind(null, 'copy'), checkArraysEqualAndPingPong.bind(null, 'copy', false));
- setupTest(testCase, noop, checkArraysEqual.bind(null, 'ping-pong with copy'));
-
- // These two must run back-to-back
- setupTest(testCase, runTestWithData.bind(null, 'copyBuffer'), checkBufferContentsEqualAndPingPong.bind(null, 'copy ArrayBuffer', false));
- setupTest(testCase, noop, checkBufferContentsEqual.bind(null, 'ping-pong with copy'));
-
- // These two must run back-to-back
- setupTest(testCase, runTestWithData.bind(null, 'transfer'), checkArraysEqualAndPingPong.bind(null, 'transfer', true));
- setupTest(testCase, noop, checkArraysEqual.bind(null, 'ping-pong with transfer'));
-
- // These two must run back-to-back
- setupTest(testCase, runTestWithData.bind(null, 'transferBuffer'), checkBufferContentsEqualAndPingPong.bind(null, 'transfer ArrayBuffer', false));
- setupTest(testCase, noop, checkBufferContentsEqual.bind(null, 'ping-pong with transfer'));
-
- testQueue.push(testCase);
-
- // Add just a couple of DataView tests; the behavior of that view type is thoroughly tested elsewhere
- if (testCase.name == "Float32Array" || testCase.name == "Int32Array") {
- var subTypeName = (testCase.name == "Float32Array" ? "Float32" : "Int32");
- var dataViewTestCase = { name: "DataView",
- subType: subTypeName,
- elementSizeInBytes: testCase.elementSizeInBytes,
- testValues: testCase.testValues,
- expectedValues: testCase.expectedValues,
- subTests: [] };
- setupTest(dataViewTestCase, runTestWithData.bind(null, 'copy'), checkDataViewContents.bind(null, 'copy'));
- setupTest(dataViewTestCase, runTestWithData.bind(null, 'transfer'), checkDataViewContents.bind(null, 'transfer'));
-
- // These two must run back-to-back
- setupTest(dataViewTestCase, runTestWithData.bind(null, 'copy'), checkDataViewContentsAndPingPong.bind(null, 'copy', false));
- setupTest(dataViewTestCase, noop, checkDataViewContents.bind(null, 'ping-pong with copy'));
-
- // These two must run back-to-back
- setupTest(dataViewTestCase, runTestWithData.bind(null, 'transfer'), checkDataViewContentsAndPingPong.bind(null, 'transfer', false));
- setupTest(dataViewTestCase, noop, checkDataViewContents.bind(null, 'ping-pong with transfer'));
-
- testQueue.push(dataViewTestCase);
- }
- }
-
- // Kick things off
- testQueue[0].subTests[0].runner();
-} else {
- debug("Workers not supported -- skipping test");
- finishTest();
-}
-
-var successfullyParsed = true;
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-expected.txt
deleted file mode 100644
index 9dd62a0..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-expected.txt
+++ /dev/null
@@ -1,33 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests the WebGLUniformLocation API
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS contextA.useProgram(programA2) generated expected GL error: NO_ERROR.
-PASS contextA.uniformMatrix4fv(locationA, false, mat) generated expected GL error: INVALID_OPERATION.
-PASS contextA.useProgram(programA1) generated expected GL error: NO_ERROR.
-PASS contextA.uniformMatrix4fv(locationA, false, mat) generated expected GL error: NO_ERROR.
-PASS contextA.uniformMatrix4fv(null, false, mat) generated expected GL error: NO_ERROR.
-PASS contextA.useProgram(programS) generated expected GL error: NO_ERROR.
-PASS contextA.uniform1i(locationSx, 3) generated expected GL error: NO_ERROR.
-PASS contextA.uniform1f(locationArray0, 4.0) generated expected GL error: NO_ERROR.
-PASS contextA.uniform1f(locationArray1, 5.0) generated expected GL error: NO_ERROR.
-PASS contextA.getUniform(programS, locationSx) is 3
-PASS contextA.getUniform(programS, locationArray0) is 4.0
-PASS contextA.getUniform(programS, locationArray1) is 5.0
-PASS contextA.useProgram(programV) generated expected GL error: NO_ERROR.
-PASS contextA.uniform4fv(locationVec4, vec) generated expected GL error: NO_ERROR.
-PASS contextA.getUniform(programV, locationVec4) is vec
-PASS contextA.getUniformLocation(programV, "IDontExist") is null
-PASS contextA.linkProgram(programA1) generated expected GL error: NO_ERROR.
-PASS contextA.uniformMatrix4fv(locationA, false, mat) generated expected GL error: INVALID_OPERATION.
-PASS contextA.useProgram(programS) generated expected GL error: NO_ERROR.
-PASS contextA.linkProgram(programS) generated expected GL error: NO_ERROR.
-PASS contextA.uniform1i(locationSx, 3) generated expected GL error: INVALID_OPERATION.
-PASS contextA.getUniform(programS, locationSx) generated expected GL error: INVALID_OPERATION.
-PASS contextA.uniform1i(locationSx, 3) generated expected GL error: NO_ERROR.
-PASS contextA.getUniform(programS, locationSx) is 3
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits-expected.txt
deleted file mode 100644
index 5ed7bed..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits-expected.txt
+++ /dev/null
@@ -1,18 +0,0 @@
-Verify limits on the lengths of uniform locations.
-Test uniform location underneath the length limit
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
-PASS uniformLoc is non-null.
-PASS getError was expected value: NO_ERROR :
-Test uniform location exactly at the length limit
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
-PASS uniformLoc is non-null.
-PASS getError was expected value: NO_ERROR :
-Test uniform location over the length limit
-PASS getError was expected value: NO_ERROR :
-PASS gl.getProgramParameter(program, gl.LINK_STATUS) is true
-PASS getError was expected value: INVALID_VALUE :
-PASS uniformLoc is null
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits.html
deleted file mode 100644
index 9854b3e..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location-length-limits.html
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL uniform location length tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"> </script>
-<script src="resources/webgl-test-utils.js"> </script>
-</head>
-<body>
-<canvas id="example" width="50" height="50">
-There is supposed to be an example drawing here, but it's not important.
-</canvas>
-<div id="description">Verify limits on the lengths of uniform locations.</div>
-<div id="console"></div>
-<script id="goodVertexShader1" type="x-shader/x-vertex">
-// A vertex shader where the uniform name is long, but well below the limit.
-struct Nesting2 {
- vec4 identifier62CharactersLong_01234567890123456789012345678901234;
-};
-
-struct Nesting1 {
- Nesting2 identifier64CharactersLong_0123456789012345678901234567890123456;
-};
-
-uniform Nesting1 identifier70CharactersLong_01234567890123456789012345678901234567890;
-
-void main() {
- gl_Position = identifier70CharactersLong_01234567890123456789012345678901234567890.identifier64CharactersLong_0123456789012345678901234567890123456.identifier62CharactersLong_01234567890123456789012345678901234;
-}
-</script>
-<script id="goodVertexShader2" type="x-shader/x-vertex">
-// A vertex shader where the needed uniform location is exactly 256 characters.
-struct Nesting2 {
- vec4 identifier62CharactersLong_01234567890123456789012345678901234;
-};
-
-struct Nesting1 {
- Nesting2 identifier64CharactersLong_0123456789012345678901234567890123456;
-};
-
-uniform Nesting1 identifier128CharactersLong_0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789;
-
-void main() {
- gl_Position = identifier128CharactersLong_0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.identifier64CharactersLong_0123456789012345678901234567890123456.identifier62CharactersLong_01234567890123456789012345678901234;
-}
-</script>
-<script id="badVertexShader" type="x-shader/x-vertex">
-// A vertex shader where the needed uniform location is 257 characters.
-struct Nesting2 {
- vec4 identifier63CharactersLong_012345678901234567890123456789012345;
-};
-
-struct Nesting1 {
- Nesting2 identifier64CharactersLong_0123456789012345678901234567890123456;
-};
-
-uniform Nesting1 identifier128CharactersLong_0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789;
-
-void main() {
- Nesting2 temp = identifier128CharactersLong_0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.identifier64CharactersLong_0123456789012345678901234567890123456;
- gl_Position = temp.identifier63CharactersLong_012345678901234567890123456789012345;
-}
-</script>
-<script id="fragmentShader" type="x-shader/x-fragment">
-precision mediump float;
-
-void main() {
- gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
-}
-</script>
-<script>
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
-}
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var gl = wtu.create3DContext(document.getElementById("example"));
-
-debug("Test uniform location underneath the length limit");
-var program = wtu.loadProgramFromScript(gl, "goodVertexShader1", "fragmentShader");
-shouldBe('gl.getProgramParameter(program, gl.LINK_STATUS)', 'true');
-var uniformLoc = gl.getUniformLocation(program, "identifier70CharactersLong_01234567890123456789012345678901234567890.identifier64CharactersLong_0123456789012345678901234567890123456.identifier62CharactersLong_01234567890123456789012345678901234");
-shouldBeNonNull('uniformLoc');
-wtu.glErrorShouldBe(gl, gl.NONE);
-
-debug("Test uniform location exactly at the length limit");
-var program = wtu.loadProgramFromScript(gl, "goodVertexShader2", "fragmentShader");
-shouldBe('gl.getProgramParameter(program, gl.LINK_STATUS)', 'true');
-var uniformLoc = gl.getUniformLocation(program, "identifier128CharactersLong_0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.identifier64CharactersLong_0123456789012345678901234567890123456.identifier62CharactersLong_01234567890123456789012345678901234");
-shouldBeNonNull('uniformLoc');
-wtu.glErrorShouldBe(gl, gl.NONE);
-
-debug("Test uniform location over the length limit");
-program = wtu.loadProgramFromScript(gl, "badVertexShader", "fragmentShader");
-wtu.glErrorShouldBe(gl, gl.NONE);
-shouldBe('gl.getProgramParameter(program, gl.LINK_STATUS)', 'true');
-var uniformLoc = gl.getUniformLocation(program, "identifier128CharactersLong_0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789.identifier64CharactersLong_0123456789012345678901234567890123456.identifier63CharactersLong_012345678901234567890123456789012345");
-wtu.glErrorShouldBe(gl, gl.INVALID_VALUE);
-shouldBeNull('uniformLoc');
-
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location.html
deleted file mode 100644
index ea090de..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uniform-location.html
+++ /dev/null
@@ -1,71 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-description("Tests the WebGLUniformLocation API");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var contextA = create3DContext();
-var contextB = create3DContext();
-var programA1 = loadStandardProgram(contextA);
-var programA2 = loadStandardProgram(contextA);
-var programB = loadStandardProgram(contextB);
-var programS = loadProgram(contextA, "resources/structUniformShader.vert", "resources/fragmentShader.frag");
-var programV = loadProgram(contextA, "resources/floatUniformShader.vert", "resources/noopUniformShader.frag");
-var locationA = contextA.getUniformLocation(programA1, 'u_modelViewProjMatrix');
-var locationB = contextB.getUniformLocation(programB, 'u_modelViewProjMatrix');
-var locationSx = contextA.getUniformLocation(programS, "u_struct.x");
-var locationArray0 = contextA.getUniformLocation(programS, "u_array[0]");
-var locationArray1 = contextA.getUniformLocation(programS, "u_array[1]");
-var locationVec4 = contextA.getUniformLocation(programV, "fval4");
-
-var vec = [1, 2, 3, 4];
-var mat = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16];
-
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.useProgram(programA2)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.uniformMatrix4fv(locationA, false, mat)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.useProgram(programA1)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniformMatrix4fv(locationA, false, mat)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniformMatrix4fv(null, false, mat)");
-
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.useProgram(programS)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniform1i(locationSx, 3)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniform1f(locationArray0, 4.0)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniform1f(locationArray1, 5.0)");
-
-shouldBe("contextA.getUniform(programS, locationSx)", "3");
-shouldBe("contextA.getUniform(programS, locationArray0)", "4.0");
-shouldBe("contextA.getUniform(programS, locationArray1)", "5.0");
-
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.useProgram(programV)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniform4fv(locationVec4, vec)");
-shouldBe("contextA.getUniform(programV, locationVec4)", "vec");
-
-shouldBeNull("contextA.getUniformLocation(programV, \"IDontExist\")");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.linkProgram(programA1)");
-// After linking all boxes are bad.
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.uniformMatrix4fv(locationA, false, mat)");
-
-// after re-linking the same program, all uniform locations become invalid.
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.useProgram(programS)");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.linkProgram(programS)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.uniform1i(locationSx, 3)");
-shouldGenerateGLError(contextA, contextA.INVALID_OPERATION, "contextA.getUniform(programS, locationSx)");
-
-// Retrieve the locations again, and they should be good.
-locationSx = contextA.getUniformLocation(programS, "u_struct.x");
-locationArray0 = contextA.getUniformLocation(programS, "u_array[0]");
-shouldGenerateGLError(contextA, contextA.NO_ERROR, "contextA.uniform1i(locationSx, 3)");
-shouldBe("contextA.getUniform(programS, locationSx)", "3");
-</script>
-
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test-expected.txt
deleted file mode 100644
index e0cd9b8..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test-expected.txt
+++ /dev/null
@@ -1,58 +0,0 @@
-Tests to check user code cannot access uninitialized data from GL resources.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS Context created.
-
-Reading an uninitialized texture (texImage2D) should succeed with all bytes set to 0.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-Reading an uninitialized portion of a texture (copyTexImage2D) should succeed with all bytes set to 0.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-Reading an uninitialized portion of a texture (copyTexImage2D with negative x and y) should succeed with all bytes set to 0.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-Reading an uninitialized portion of a texture (copyTexImage2D from WebGL internal fbo) should succeed with all bytes set to 0.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-Reading an uninitialized portion of a texture (copyTexSubImage2D) should succeed with all bytes set to 0.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-Reading an uninitialized portion of a texture (copyTexSubImage2D with negative x and y) should succeed with all bytes set to 0.
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-Reading an uninitialized portion of a texture (copyTexSubImage2D from WebGL internal fbo) should succeed with all bytes set to 0.
-PASS getError was expected value: NO_ERROR :
-PASS getError was expected value: NO_ERROR :
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS All data initialized
-PASS getError was expected value: NO_ERROR :
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test.html
deleted file mode 100644
index e394775..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/uninitialized-test.html
+++ /dev/null
@@ -1,242 +0,0 @@
-<!doctype html>
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-<title>WebGL Uninitialized GL Resources Tests</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="2" height="2"> </canvas>
-<script>
-description("Tests to check user code cannot access uninitialized data from GL resources.");
-
-var canvas = document.getElementById("canvas");
-var gl = create3DContext(canvas);
-if (!gl)
- testFailed("Context created.");
-else
- testPassed("Context created.");
-
-function setupTexture(texWidth, texHeight) {
- var texture = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, texture);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, texWidth, texHeight, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
-
- // this can be quite undeterministic so to improve odds of seeing uninitialized data write bits
- // into tex then delete texture then re-create one with same characteristics (driver will likely reuse mem)
- // with this trick on r59046 WebKit/OSX I get FAIL 100% of the time instead of ~15% of the time.
-
- var badData = new Uint8Array(texWidth * texHeight * 4);
- for (var i = 0; i < badData.length; ++i)
- badData[i] = i % 255;
-
- gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, texWidth, texHeight, gl.RGBA, gl.UNSIGNED_BYTE, badData);
- gl.finish(); // make sure it has been uploaded
-
- gl.deleteTexture(texture);
- gl.finish(); // make sure it has been deleted
-
- var texture = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, texture);
- return texture;
-}
-
-function checkNonZeroPixels(texture, texWidth, texHeight, skipX, skipY, skipWidth, skipHeight, skipR, skipG, skipB, skipA) {
- gl.bindTexture(gl.TEXTURE_2D, null);
- var fb = gl.createFramebuffer();
- gl.bindFramebuffer(gl.FRAMEBUFFER, fb);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, texture, 0);
- shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-
- var data = new Uint8Array(texWidth * texHeight * 4);
- gl.readPixels(0, 0, texWidth, texHeight, gl.RGBA, gl.UNSIGNED_BYTE, data);
-
- var k = 0;
- for (var y = 0; y < texHeight; ++y) {
- for (var x = 0; x < texWidth; ++x) {
- var index = (y * texWidth + x) * 4;
- if (x >= skipX && x < skipX + skipWidth && y >= skipY && y < skipY + skipHeight) {
- if (data[index] != skipR || data[index + 1] != skipG || data[index + 2] != skipB || data[index + 3] != skipA) {
- testFailed("non-zero pixel values are wrong");
- return;
- }
- } else {
- for (var i = 0; i < 4; ++i) {
- if (data[index + i] != 0)
- k++;
- }
- }
- }
- }
- if (k) {
- testFailed("Found " + k + " non-zero bytes");
- } else {
- testPassed("All data initialized");
- }
-}
-
-var width = 512;
-var height = 512;
-
-debug("");
-debug("Reading an uninitialized texture (texImage2D) should succeed with all bytes set to 0.");
-
-var tex = setupTexture(width, height);
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
-checkNonZeroPixels(tex, width, height, 0, 0, 0, 0, 0, 0, 0, 0);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Reading an uninitialized portion of a texture (copyTexImage2D) should succeed with all bytes set to 0.");
-
-var tex = setupTexture(width, height);
-var fbo = gl.createFramebuffer();
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-var rbo = gl.createRenderbuffer();
-gl.bindRenderbuffer(gl.RENDERBUFFER, rbo);
-var fboWidth = 16;
-var fboHeight = 16;
-gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, fboWidth, fboHeight);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo);
-shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-gl.clearColor(1.0, 0.0, 0.0, 1.0);
-gl.clear(gl.COLOR_BUFFER_BIT);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, width, height, 0);
-checkNonZeroPixels(tex, width, height, 0, 0, fboWidth, fboHeight, 255, 0, 0, 255);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Reading an uninitialized portion of a texture (copyTexImage2D with negative x and y) should succeed with all bytes set to 0.");
-
-var tex = setupTexture(width, height);
-var fbo = gl.createFramebuffer();
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-var rbo = gl.createRenderbuffer();
-gl.bindRenderbuffer(gl.RENDERBUFFER, rbo);
-var fboWidth = 16;
-var fboHeight = 16;
-gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, fboWidth, fboHeight);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo);
-shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-gl.clearColor(1.0, 0.0, 0.0, 1.0);
-gl.clear(gl.COLOR_BUFFER_BIT);
-glErrorShouldBe(gl, gl.NO_ERROR);
-var x = -8;
-var y = -8;
-gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, x, y, width, height, 0);
-checkNonZeroPixels(tex, width, height, -x, -y, fboWidth, fboHeight, 255, 0, 0, 255);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Reading an uninitialized portion of a texture (copyTexImage2D from WebGL internal fbo) should succeed with all bytes set to 0.");
-
-var tex = setupTexture(width, height);
-gl.bindFramebuffer(gl.FRAMEBUFFER, null);
-gl.clearColor(0.0, 1.0, 0.0, 0.0);
-gl.clear(gl.COLOR_BUFFER_BIT);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 0, 0, width, height, 0);
-checkNonZeroPixels(tex, width, height, 0, 0, canvas.width, canvas.height, 0, 255, 0, 0);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Reading an uninitialized portion of a texture (copyTexSubImage2D) should succeed with all bytes set to 0.");
-
-var tex = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, tex);
-var data = new Uint8Array(width * height * 4);
-for (var i = 0; i < width * height * 4; ++i)
- data[i] = 255;
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);
-glErrorShouldBe(gl, gl.NO_ERROR);
-var fbo = gl.createFramebuffer();
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-var rbo = gl.createRenderbuffer();
-gl.bindRenderbuffer(gl.RENDERBUFFER, rbo);
-var fboWidth = 16;
-var fboHeight = 16;
-gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, fboWidth, fboHeight);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo);
-shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-gl.clearColor(1.0, 0.0, 0.0, 1.0);
-gl.clear(gl.COLOR_BUFFER_BIT);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, width, height);
-checkNonZeroPixels(tex, width, height, 0, 0, fboWidth, fboHeight, 255, 0, 0, 255);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Reading an uninitialized portion of a texture (copyTexSubImage2D with negative x and y) should succeed with all bytes set to 0.");
-
-var tex = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, tex);
-var data = new Uint8Array(width * height * 4);
-for (var i = 0; i < width * height * 4; ++i)
- data[i] = 255;
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);
-glErrorShouldBe(gl, gl.NO_ERROR);
-var fbo = gl.createFramebuffer();
-gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
-var rbo = gl.createRenderbuffer();
-gl.bindRenderbuffer(gl.RENDERBUFFER, rbo);
-var fboWidth = 16;
-var fboHeight = 16;
-gl.renderbufferStorage(gl.RENDERBUFFER, gl.RGBA4, fboWidth, fboHeight);
-gl.framebufferRenderbuffer(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.RENDERBUFFER, rbo);
-shouldBe("gl.checkFramebufferStatus(gl.FRAMEBUFFER)", "gl.FRAMEBUFFER_COMPLETE");
-gl.clearColor(1.0, 0.0, 0.0, 1.0);
-gl.clear(gl.COLOR_BUFFER_BIT);
-glErrorShouldBe(gl, gl.NO_ERROR);
-var x = -8;
-var y = -8;
-gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, x, y, width, height);
-checkNonZeroPixels(tex, width, height, -x, -y, fboWidth, fboHeight, 255, 0, 0, 255);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-debug("");
-debug("Reading an uninitialized portion of a texture (copyTexSubImage2D from WebGL internal fbo) should succeed with all bytes set to 0.");
-
-var tex = gl.createTexture();
-gl.bindTexture(gl.TEXTURE_2D, tex);
-var data = new Uint8Array(width * height * 4);
-for (var i = 0; i < width * height * 4; ++i)
- data[i] = 255;
-gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, width, height, 0, gl.RGBA, gl.UNSIGNED_BYTE, data);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.bindFramebuffer(gl.FRAMEBUFFER, null);
-gl.clearColor(0.0, 1.0, 0.0, 0.0);
-gl.clear(gl.COLOR_BUFFER_BIT);
-glErrorShouldBe(gl, gl.NO_ERROR);
-gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, width, height);
-checkNonZeroPixels(tex, width, height, 0, 0, canvas.width, canvas.height, 0, 255, 0, 0);
-gl.deleteTexture(tex);
-gl.finish();
-glErrorShouldBe(gl, gl.NO_ERROR);
-
-//TODO: uninitialized vertex array buffer
-//TODO: uninitialized vertex elements buffer
-//TODO: uninitialized framebuffer? (implementations would need to do a GL clear at first binding?)
-//TODO: uninitialized renderbuffer? (implementations would need to do a GL clear at first binding?)
-//TODO: uninitialized uniform arrays?
-
-debug("");
-</script>
-</body>
-</html>
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize-expected.txt
deleted file mode 100644
index f3e912c..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize-expected.txt
+++ /dev/null
@@ -1,9 +0,0 @@
-Verifies that GL viewport does not change when canvas is resized
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS Viewport correctly did not change size during canvas resize
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize.html
deleted file mode 100644
index 7a93403..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/viewport-unchanged-upon-resize.html
+++ /dev/null
@@ -1,92 +0,0 @@
-<html>
-<head>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec3 g_Position;
-
-void main()
-{
- gl_Position = vec4(g_Position.x, g_Position.y, g_Position.z, 1.0);
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-void main()
-{
- gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
-}
-</script>
-
-</head>
-<body>
-<canvas id="example" width="4px" height="4px"></canvas>
-<div id="description"></div>
-<div id="console"></div>
-<script>
-description('Verifies that GL viewport does not change when canvas is resized');
-
-var gl = initWebGL("example", "vshader", "fshader", [ "g_Position" ], [ 0, 0, 1, 1 ], 1);
-
-var vertices = new Float32Array([
- 1.0, 1.0, 0.0,
- -1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, 1.0, 0.0,
- -1.0, -1.0, 0.0,
- 1.0, -1.0, 0.0]);
-var vbo = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, vbo);
-gl.bufferData(gl.ARRAY_BUFFER, vertices, gl.STATIC_DRAW);
-
-gl.enableVertexAttribArray(0);
-gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
-// Clear and set up
-gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
-gl.useProgram(gl.program);
-// Draw the triangle pair to the frame buffer
-gl.drawArrays(gl.TRIANGLES, 0, 6);
-
-// Ensure that the frame buffer is red at the sampled pixel
-var buf = new Uint8Array(1 * 1 * 4);
-gl.readPixels(2, 2, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
-var passed = true;
-if (buf[0] != 255 ||
- buf[1] != 0 ||
- buf[2] != 0 ||
- buf[3] != 255) {
- testFailed("Pixel at (2, 2) should have been (255, 0, 0, 255), " +
- "was (" + buf[0] + ", " + buf[1] + ", " + buf[2] + ", " + buf[3] + ")");
- passed = false;
-}
-
-if (passed) {
- // Now resize the canvas
- var canvas = document.getElementById("example");
- canvas.width = 8;
- canvas.height = 8;
- // Do another render
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
- // This time, because we did not change the viewport, it should
- // still be (0, 0, 4, 4), so only the lower-left quadrant should
- // have been filled.
- var buf = new Uint8Array(1 * 1 * 4);
- gl.readPixels(6, 6, 1, 1, gl.RGBA, gl.UNSIGNED_BYTE, buf);
- var passed = true;
- if (buf[0] != 0 ||
- buf[1] != 0 ||
- buf[2] != 255 ||
- buf[3] != 255) {
- testFailed("Pixel at (6, 6) should have been (0, 0, 255, 255), " +
- "was (" + buf[0] + ", " + buf[1] + ", " + buf[2] + ", " + buf[3] + ")");
- passed = false;
- }
-}
-
-if (passed)
- testPassed("Viewport correctly did not change size during canvas resize");
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture-expected.txt
deleted file mode 100644
index b3f5851..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture-expected.txt
+++ /dev/null
@@ -1,83 +0,0 @@
-This test verifies the functionality of the WEBGL_depth_texture extension, if it is available.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS WebGL context exists
-Testing binding enum with extension disabled
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated one of expected GL errors: INVALID_ENUM or INVALID_VALUE.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated one of expected GL errors: INVALID_ENUM or INVALID_VALUE.
-PASS Successfully enabled WEBGL_depth_texture extension
-PASS WEBGL_depth_texture listed as supported and getExtension succeeded
-Testing WEBGL_depth_texture
-
-testing: UNSIGNED_SHORT
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, new Uint16Array(1)) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, canvas2) generated one of expected GL errors: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION.
-PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 0, 0, 1, 1, 0) generated one of expected GL errors: INVALID_ENUM or INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 8, 8, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null) generated expected GL error: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, new Uint16Array(1)) generated expected GL error: INVALID_OPERATION.
-PASS gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1) generated expected GL error: INVALID_OPERATION.
-PASS gl.generateMipmap(gl.TEXTURE_2D) generated expected GL error: INVALID_OPERATION.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS depth texture rendered correctly.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.TEXTURE_2D, tex, 0) generated expected GL error: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.clear(gl.DEPTH_BUFFER_BIT) generated expected GL error: INVALID_FRAMEBUFFER_OPERATION.
-PASS gl.getError() is gl.NO_ERROR
-
-testing: UNSIGNED_INT
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_NEGATIVE_X, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, canvas2) generated one of expected GL errors: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION.
-PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 0, 0, 1, 1, 0) generated one of expected GL errors: INVALID_ENUM or INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 8, 8, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null) generated expected GL error: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
-PASS gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1) generated expected GL error: INVALID_OPERATION.
-PASS gl.generateMipmap(gl.TEXTURE_2D) generated expected GL error: INVALID_OPERATION.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS depth texture rendered correctly.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_STENCIL_ATTACHMENT, gl.TEXTURE_2D, tex, 0) generated expected GL error: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.clear(gl.DEPTH_BUFFER_BIT) generated expected GL error: INVALID_FRAMEBUFFER_OPERATION.
-PASS gl.getError() is gl.NO_ERROR
-
-testing: UNSIGNED_INT_24_8_WEBGL
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_CUBE_MAP_POSITIVE_Y, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 1, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 1, 1, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, canvas2) generated one of expected GL errors: INVALID_VALUE or INVALID_ENUM or INVALID_OPERATION.
-PASS gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 0, 0, 1, 1, 0) generated one of expected GL errors: INVALID_ENUM or INVALID_OPERATION.
-PASS gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_STENCIL, 8, 8, 0, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, null) generated expected GL error: NO_ERROR.
-PASS gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.DEPTH_STENCIL, ext.UNSIGNED_INT_24_8_WEBGL, new Uint32Array(1)) generated expected GL error: INVALID_OPERATION.
-PASS gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1) generated expected GL error: INVALID_OPERATION.
-PASS gl.generateMipmap(gl.TEXTURE_2D) generated expected GL error: INVALID_OPERATION.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is gl.FRAMEBUFFER_COMPLETE
-PASS depth texture rendered correctly.
-PASS gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.DEPTH_ATTACHMENT, gl.TEXTURE_2D, tex, 0) generated expected GL error: NO_ERROR.
-PASS gl.checkFramebufferStatus(gl.FRAMEBUFFER) is not gl.FRAMEBUFFER_COMPLETE
-PASS gl.clear(gl.DEPTH_BUFFER_BIT) generated expected GL error: INVALID_FRAMEBUFFER_OPERATION.
-PASS gl.getError() is gl.NO_ERROR
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture.html
deleted file mode 100644
index b98b314..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-depth-texture.html
+++ /dev/null
@@ -1,321 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-<title>WebGL WEBGL_depth_texture Conformance Tests</title>
-</head>
-<body>
-<script id="vshader" type="x-shader/x-vertex">
-attribute vec4 a_position;
-void main()
-{
- gl_Position = a_position;
-}
-</script>
-
-<script id="fshader" type="x-shader/x-fragment">
-precision mediump float;
-uniform sampler2D u_texture;
-uniform vec2 u_resolution;
-void main()
-{
- vec2 texcoord = gl_FragCoord.xy / u_resolution;
- gl_FragColor = texture2D(u_texture, texcoord);
-}
-</script>
-<div id="description"></div>
-<div id="console"></div>
-<canvas id="canvas" width="8" height="8" style="width: 8px; height: 8px;"></canvas>
-<script>
-if (window.initNonKhronosFramework) {
- window.initNonKhronosFramework(false);
-}
-description("This test verifies the functionality of the WEBGL_depth_texture extension, if it is available.");
-
-debug("");
-
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-var canvas = document.getElementById("canvas");
-var gl = wtu.create3DContext(canvas, {antialias: false});
-var program = wtu.setupTexturedQuad(gl);
-var ext = null;
-var vao = null;
-var tex;
-var name;
-var supportedFormats;
-
-if (!gl) {
- testFailed("WebGL context does not exist");
-} else {
- testPassed("WebGL context exists");
-
- // Run tests with extension disabled
- runTestDisabled();
-
- // Query the extension and store globally so shouldBe can access it
- ext = gl.getExtension("WEBGL_depth_texture");
- if (!ext) {
- testPassed("No WEBGL_depth_texture support -- this is legal");
- runSupportedTest(false);
- } else {
- testPassed("Successfully enabled WEBGL_depth_texture extension");
-
- runSupportedTest(true);
- runTestExtension();
- }
-}
-
-function runSupportedTest(extensionEnabled) {
- var name = wtu.getSupportedExtensionWithKnownPrefixes(gl, "WEBGL_depth_texture");
- if (name !== undefined) {
- if (extensionEnabled) {
- testPassed("WEBGL_depth_texture listed as supported and getExtension succeeded");
- } else {
- testFailed("WEBGL_depth_texture listed as supported but getExtension failed");
- }
- } else {
- if (extensionEnabled) {
- testFailed("WEBGL_depth_texture not listed as supported but getExtension succeeded");
- } else {
- testPassed("WEBGL_depth_texture not listed as supported and getExtension failed -- this is legal");
- }
- }
-}
-
-
-function runTestDisabled() {
- debug("Testing binding enum with extension disabled");
-
- var tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- shouldGenerateGLError(gl, [gl.INVALID_ENUM, gl.INVALID_VALUE], 'gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_SHORT, null)');
- shouldGenerateGLError(gl, [gl.INVALID_ENUM, gl.INVALID_VALUE], 'gl.texImage2D(gl.TEXTURE_2D, 0, gl.DEPTH_COMPONENT, 1, 1, 0, gl.DEPTH_COMPONENT, gl.UNSIGNED_INT, null)');
-}
-
-
-function dumpIt(gl, res, msg) {
- return; // comment out to debug
- debug(msg);
- var actualPixels = new Uint8Array(res * res * 4);
- gl.readPixels(0, 0, res, res, gl.RGBA, gl.UNSIGNED_BYTE, actualPixels);
-
- for (var yy = 0; yy < res; ++yy) {
- var strs = [];
- for (var xx = 0; xx < res; ++xx) {
- var actual = (yy * res + xx) * 4;
- strs.push("(" + actualPixels[actual] + "," + actualPixels[actual+1] + "," + actualPixels[actual + 2] + "," + actualPixels[actual + 3] + ")");
- }
- debug(strs.join(" "));
- }
-}
-function runTestExtension() {
- debug("Testing WEBGL_depth_texture");
-
- var res = 8;
-
- // make canvas for testing.
- canvas2 = document.createElement("canvas");
- canvas2.width = res;
- canvas2.height = res;
- var ctx = canvas2.getContext("2d");
- ctx.fillStyle = "blue";
- ctx.fillRect(0, 0, canvas2.width, canvas2.height);
-
- var program = wtu.setupProgram(gl, ['vshader', 'fshader'], ['a_position']);
- gl.useProgram(program);
- gl.uniform2f(gl.getUniformLocation(program, "u_resolution"), res, res);
-
- var buffer = gl.createBuffer();
- gl.bindBuffer(gl.ARRAY_BUFFER, buffer);
- gl.bufferData(
- gl.ARRAY_BUFFER,
- new Float32Array(
- [ 1, 1, 1,
- -1, 1, 0,
- -1, -1, -1,
- 1, 1, 1,
- -1, -1, -1,
- 1, -1, 0,
- ]),
- gl.STATIC_DRAW);
- gl.enableVertexAttribArray(0);
- gl.vertexAttribPointer(0, 3, gl.FLOAT, false, 0, 0);
-
- var types = [
- {obj: 'gl', attachment: 'DEPTH_ATTACHMENT', format: 'DEPTH_COMPONENT', type: 'UNSIGNED_SHORT', data: 'new Uint16Array(1)' },
- {obj: 'gl', attachment: 'DEPTH_ATTACHMENT', format: 'DEPTH_COMPONENT', type: 'UNSIGNED_INT', data: 'new Uint32Array(1)' },
- {obj: 'ext', attachment: 'DEPTH_STENCIL_ATTACHMENT', format: 'DEPTH_STENCIL', type: 'UNSIGNED_INT_24_8_WEBGL', data: 'new Uint32Array(1)' }
- ];
-
- for (var ii = 0; ii < types.length; ++ii) {
- var typeInfo = types[ii];
- var type = typeInfo.type;
- var typeStr = typeInfo.obj + '.' + type;
-
- debug("");
- debug("testing: " + type);
-
- // check that cubemaps are not allowed.
- var cubeTex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_CUBE_MAP, cubeTex);
- var targets = [
- 'TEXTURE_CUBE_MAP_POSITIVE_X',
- 'TEXTURE_CUBE_MAP_NEGATIVE_X',
- 'TEXTURE_CUBE_MAP_POSITIVE_Y',
- 'TEXTURE_CUBE_MAP_NEGATIVE_Y',
- 'TEXTURE_CUBE_MAP_POSITIVE_Z',
- 'TEXTURE_CUBE_MAP_NEGATIVE_Z'
- ];
- for (var tt = 0; tt < targets.length; ++tt) {
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.texImage2D(gl.' + targets[ii] + ', 1, gl.' + typeInfo.format + ', 1, 1, 0, gl.' + typeInfo.format + ', ' + typeStr + ', null)');
- }
-
- // check 2d textures.
- tex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
-
- // test level > 0
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.texImage2D(gl.TEXTURE_2D, 1, gl.' + typeInfo.format + ', 1, 1, 0, gl.' + typeInfo.format + ', ' + typeStr + ', null)');
-
- // test with data
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.texImage2D(gl.TEXTURE_2D, 0, gl.' + typeInfo.format + ', 1, 1, 0, gl.' + typeInfo.format + ', ' + typeStr + ', ' + typeInfo.data + ')');
-
- // test with canvas
- shouldGenerateGLError(gl, [gl.INVALID_VALUE, gl.INVALID_ENUM, gl.INVALID_OPERATION], 'gl.texImage2D(gl.TEXTURE_2D, 0, gl.' + typeInfo.format + ', gl.' + typeInfo.format + ', ' + typeStr + ', canvas2)');
-
- // test copyTexImage2D
- shouldGenerateGLError(gl, [gl.INVALID_ENUM, gl.INVALID_OPERATION], 'gl.copyTexImage2D(gl.TEXTURE_2D, 0, gl.' + typeInfo.format + ', 0, 0, 1, 1, 0)');
-
- // test real thing
- shouldGenerateGLError(gl, gl.NO_ERROR, 'gl.texImage2D(gl.TEXTURE_2D, 0, gl.' + typeInfo.format + ', ' + res + ', ' + res + ', 0, gl.' + typeInfo.format + ', ' + typeStr + ', null)');
-
- // test texSubImage2D
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.texSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 1, 1, gl.' + typeInfo.format + ', ' + typeStr + ', ' + typeInfo.data + ')');
-
- // test copyTexSubImage2D
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.copyTexSubImage2D(gl.TEXTURE_2D, 0, 0, 0, 0, 0, 1, 1)');
-
- // test generateMipmap
- shouldGenerateGLError(gl, gl.INVALID_OPERATION, 'gl.generateMipmap(gl.TEXTURE_2D)');
-
- var fbo = gl.createFramebuffer();
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl[typeInfo.attachment], gl.TEXTURE_2D, tex, 0);
- // TODO: remove this check if the spec is updated to require these combinations to work.
- if (gl.checkFramebufferStatus(gl.FRAMEBUFFER) != gl.FRAMEBUFFER_COMPLETE)
- {
- // try adding a color buffer.
- var colorTex = gl.createTexture();
- gl.bindTexture(gl.TEXTURE_2D, colorTex);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_S, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_WRAP_T, gl.CLAMP_TO_EDGE);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MIN_FILTER, gl.LINEAR);
- gl.texParameteri(gl.TEXTURE_2D, gl.TEXTURE_MAG_FILTER, gl.LINEAR);
- gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, res, res, 0, gl.RGBA, gl.UNSIGNED_BYTE, null);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, colorTex, 0);
- }
-
- shouldBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
-
- // use the default texture to render with while we return to the depth texture.
- gl.bindTexture(gl.TEXTURE_2D, null);
-
- // render the z-quad
- gl.enable(gl.DEPTH_TEST);
- gl.clearColor(1, 0, 0, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
-
- dumpIt(gl, res, "--first--");
-
- // render the depth texture.
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- gl.bindTexture(gl.TEXTURE_2D, tex);
- gl.clearColor(0, 0, 1, 1);
- gl.clear(gl.COLOR_BUFFER_BIT | gl.DEPTH_BUFFER_BIT);
- gl.drawArrays(gl.TRIANGLES, 0, 6);
-
- var actualPixels = new Uint8Array(res * res * 4);
- gl.readPixels(0, 0, res, res, gl.RGBA, gl.UNSIGNED_BYTE, actualPixels);
-
- dumpIt(gl, res, "--depth--");
-
- // Check that each pixel's RGB are the same and that it's value is less
- // than the previous pixel in either direction. Basically verify we have a
- // gradient.
- var success = true;
- for (var yy = 0; yy < res; ++yy) {
- for (var xx = 0; xx < res; ++xx) {
- var actual = (yy * res + xx) * 4;
- var left = actual - 4;
- var down = actual - res * 4;
-
- if (actualPixels[actual + 0] != actualPixels[actual + 1]) {
- testFailed('R != G');
- success = false;
- }
- if (actualPixels[actual + 0] != actualPixels[actual + 2]) {
- testFailed('R != B');
- success = false;
- }
- // ALPHA is implementation dependent
- if (actualPixels[actual + 3] != 0xFF && actualPixels[actual + 3] != actualPixels[actual + 0]) {
- testFailed('A != 255 && A != R');
- success = false;
- }
-
- if (xx > 0) {
- if (actualPixels[actual] <= actualPixels[left]) {
- testFailed("actual(" + actualPixels[actual] + ") < left(" + actualPixels[left] + ")");
- success = false;
- }
- }
- if (yy > 0) {
- if (actualPixels[actual] <= actualPixels[down]) {
- testFailed("actual(" + actualPixels[actual] + ") < down(" + actualPixels[down] + ")");
- success = false;
- }
- }
- }
- }
-
- // Check that bottom left corner is vastly different thatn top right.
- if (actualPixels[(res * res - 1) * 4] - actualPixels[0] < 0xC0) {
- testFailed("corners are not different enough");
- success = false;
- }
-
- if (success) {
- testPassed("depth texture rendered correctly.");
- }
-
- // check limitations
- gl.bindFramebuffer(gl.FRAMEBUFFER, fbo);
- gl.framebufferTexture2D(gl.FRAMEBUFFER, gl[typeInfo.attachment], gl.TEXTURE_2D, null, 0);
- var badAttachment = typeInfo.attachment == 'DEPTH_ATTACHMENT' ? 'DEPTH_STENCIL_ATTACHMENT' : 'DEPTH_ATTACHMENT';
- shouldGenerateGLError(gl, gl.NO_ERROR, 'gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.' + badAttachment + ', gl.TEXTURE_2D, tex, 0)');
- shouldNotBe('gl.checkFramebufferStatus(gl.FRAMEBUFFER)', 'gl.FRAMEBUFFER_COMPLETE');
- shouldGenerateGLError(gl, gl.INVALID_FRAMEBUFFER_OPERATION, 'gl.clear(gl.DEPTH_BUFFER_BIT)');
- gl.bindFramebuffer(gl.FRAMEBUFFER, null);
- shouldBe('gl.getError()', 'gl.NO_ERROR');
- }
-}
-
-debug("");
-successfullyParsed = true;
-if (window.nonKhronosFrameworkNotifyDone) {
- window.nonKhronosFrameworkNotifyDone();
-}
-</script>
-</body>
-</html>
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific-expected.txt b/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific-expected.txt
deleted file mode 100644
index 3c20aae..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific-expected.txt
+++ /dev/null
@@ -1,67 +0,0 @@
-CONSOLE WARNING: Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
-Tests the a few differences between WebGL and GLES2
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-PASS getError was expected value: NO_ERROR : Setup should succeed
-
-Verify that constant color and constant alpha cannot be used together as source and destination factors in the blend function
-PASS gl.blendFunc(gl.CONSTANT_COLOR, gl.CONSTANT_ALPHA) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.ONE_MINUS_CONSTANT_COLOR, gl.CONSTANT_ALPHA) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.CONSTANT_ALPHA, gl.CONSTANT_COLOR) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.ONE_MINUS_CONSTANT_ALPHA, gl.CONSTANT_COLOR) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFunc(gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.CONSTANT_COLOR, gl.CONSTANT_ALPHA, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_COLOR, gl.CONSTANT_ALPHA, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.CONSTANT_ALPHA, gl.CONSTANT_COLOR, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_ALPHA, gl.CONSTANT_COLOR, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-PASS gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE, gl.ZERO) generated expected GL error: INVALID_OPERATION.
-
-Verify that in depthRange zNear <= zFar
-PASS gl.depthRange(20, 10) generated expected GL error: INVALID_OPERATION.
-
-Verify that front/back settings should be the same for stenclMask and stencilFunc
-PASS gl.stencilMask(255) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-PASS gl.stencilMaskSeparate(gl.FRONT, 1) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: INVALID_OPERATION.
-PASS gl.stencilMaskSeparate(gl.BACK, 1) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-PASS gl.stencilFunc(gl.ALWAYS, 0, 255) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-PASS gl.stencilFuncSeparate(gl.BACK, gl.ALWAYS, 1, 255) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: INVALID_OPERATION.
-PASS gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 1, 255) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-PASS gl.stencilFuncSeparate(gl.BACK, gl.ALWAYS, 1, 1) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: INVALID_OPERATION.
-PASS gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 1, 1) generated expected GL error: NO_ERROR.
-PASS gl.drawArrays(gl.TRIANGLES, 0, 0) generated expected GL error: NO_ERROR.
-
-Verify that *LENGTH are undefined
-PASS undefined is undefined.
-PASS undefined is undefined.
-PASS undefined is undefined.
-PASS undefined is undefined.
-
-Verify that UNPACK_COLORSPACE_CONVERSION_WEBGL is supported
-PASS gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL) is gl.BROWSER_DEFAULT_WEBGL
-PASS gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL) is gl.NONE
-PASS getError was expected value: NO_ERROR : set/get UNPACK_COLORSPACE_CONVERSION_WEBGL should generate no error
-
-Verify that drawingBufferWidth and drawingBufferHeights are implemented
-PASS gl.drawingBufferWidth >= 0 && gl.drawingBufferHeight >= 0 is true
-
-Verify that bindAttribLocation rejects names start with webgl_ or _webgl_
-PASS gl.bindAttribLocation(program, 0, 'webgl_a') generated expected GL error: INVALID_OPERATION.
-PASS gl.bindAttribLocation(program, 0, '_webgl_a') generated expected GL error: INVALID_OPERATION.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific.html b/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific.html
deleted file mode 100644
index 876cd05..0000000
--- a/third_party/WebKit/LayoutTests/fast/canvas/webgl/webgl-specific.html
+++ /dev/null
@@ -1,100 +0,0 @@
-<!DOCTYPE html>
-<html>
-<head>
-<meta charset="utf-8">
-<title>WebGL GLES2 difference test.</title>
-<script src="../../../resources/js-test.js"></script>
-<script src="resources/webgl-test.js"></script>
-<script src="resources/webgl-test-utils.js"></script>
-</head>
-<body>
-<div id="description"></div>
-<div id="console"></div>
-
-<script>
-if (window.internals)
- window.internals.settings.setWebGLErrorsToConsoleEnabled(false);
-
-var wtu = WebGLTestUtils;
-description("Tests the a few differences between WebGL and GLES2");
-
-var gl = wtu.create3DContext();
-var program = wtu.loadStandardProgram(gl);
-gl.useProgram(program);
-var vertexObject = gl.createBuffer();
-gl.bindBuffer(gl.ARRAY_BUFFER, vertexObject);
-gl.enableVertexAttribArray(0);
-glErrorShouldBe(gl, gl.NO_ERROR, "Setup should succeed");
-
-debug("");
-debug("Verify that constant color and constant alpha cannot be used together as source and destination factors in the blend function");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.CONSTANT_COLOR, gl.CONSTANT_ALPHA)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.ONE_MINUS_CONSTANT_COLOR, gl.CONSTANT_ALPHA)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.CONSTANT_ALPHA, gl.CONSTANT_COLOR)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.ONE_MINUS_CONSTANT_ALPHA, gl.CONSTANT_COLOR)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFunc(gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR)");
-
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.CONSTANT_COLOR, gl.CONSTANT_ALPHA, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_COLOR, gl.CONSTANT_ALPHA, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.CONSTANT_ALPHA, gl.CONSTANT_COLOR, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_ALPHA, gl.CONSTANT_COLOR, gl.ONE, gl.ZERO)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.blendFuncSeparate(gl.ONE_MINUS_CONSTANT_ALPHA, gl.ONE_MINUS_CONSTANT_COLOR, gl.ONE, gl.ZERO)");
-
-debug("");
-debug("Verify that in depthRange zNear <= zFar");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.depthRange(20, 10)");
-
-debug("");
-debug("Verify that front/back settings should be the same for stenclMask and stencilFunc");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilMask(255)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilMaskSeparate(gl.FRONT, 1)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilMaskSeparate(gl.BACK, 1)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilFunc(gl.ALWAYS, 0, 255)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilFuncSeparate(gl.BACK, gl.ALWAYS, 1, 255)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 1, 255)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilFuncSeparate(gl.BACK, gl.ALWAYS, 1, 1)");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.stencilFuncSeparate(gl.FRONT, gl.ALWAYS, 1, 1)");
-shouldGenerateGLError(gl, gl.NO_ERROR, "gl.drawArrays(gl.TRIANGLES, 0, 0)");
-
-debug("");
-debug("Verify that *LENGTH are undefined");
-shouldBeUndefined(gl.INFO_LOG_LENGTH);
-shouldBeUndefined(gl.SHADER_SOURCE_LENGTH);
-shouldBeUndefined(gl.ACTIVE_UNIFORM_MAX_LENGTH);
-shouldBeUndefined(gl.ACTIVE_ATTRIB_MAX_LENGTH);
-
-debug("");
-debug("Verify that UNPACK_COLORSPACE_CONVERSION_WEBGL is supported");
-shouldBe("gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL)", "gl.BROWSER_DEFAULT_WEBGL");
-gl.pixelStorei(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL, gl.NONE);
-shouldBe("gl.getParameter(gl.UNPACK_COLORSPACE_CONVERSION_WEBGL)", "gl.NONE");
-glErrorShouldBe(gl, gl.NO_ERROR, "set/get UNPACK_COLORSPACE_CONVERSION_WEBGL should generate no error");
-
-debug("");
-debug("Verify that drawingBufferWidth and drawingBufferHeights are implemented");
-shouldBeTrue("gl.drawingBufferWidth >= 0 && gl.drawingBufferHeight >= 0");
-
-debug("");
-debug("Verify that bindAttribLocation rejects names start with webgl_ or _webgl_");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.bindAttribLocation(program, 0, 'webgl_a')");
-shouldGenerateGLError(gl, gl.INVALID_OPERATION, "gl.bindAttribLocation(program, 0, '_webgl_a')");
-
-successfullyParsed = true;
-</script>
-
-</body>
-</html>