Luke Wilde
dad30672d9
LibWeb/WebGL: Return GL_INVALID_ENUM for unknown buffer parameter names
2024-12-14 09:06:28 +01:00
Luke Wilde
776328e2e7
LibWeb/WebGL2: Implement getInternalformatParameter
2024-12-14 09:06:28 +01:00
Luke Wilde
ee500df7ec
LibWeb/WebGL2: Implement MAX_SAMPLES parameter
2024-12-14 09:06:28 +01:00
Luke Wilde
ff8a9549f1
LibWeb/WebGL2: Implement clientWaitSync
2024-12-14 09:06:28 +01:00
Luke Wilde
135ceb387e
LibWeb/WebGL2: Implement fenceSync
2024-12-14 09:06:28 +01:00
Luke Wilde
f4f3e446a2
LibWeb/WebGL2: Implement bindSampler
2024-12-14 09:06:28 +01:00
Luke Wilde
8a9d1de1cf
LibWeb/WebGL2: Implement createSampler
2024-12-14 09:06:28 +01:00
Luke Wilde
bd1cc239df
LibWeb/WebGL2: Implement uniformMatrix{2,3,4}fv
2024-12-14 09:06:28 +01:00
sideshowbarker
583ca6af89
LibWeb: Implement <input type=checkbox switch> experimentally
...
In conformance with the requirements of the spec PR at
https://github.com/whatwg/html/pull/9546 , this change adds support for
the “switch” attribute for type=checkbox “input” elements — which is
shipping in Safari (since Safari 17.4). This change also implements
support for exposing it to AT users with role=switch.
2024-12-13 11:31:27 +00:00
Aliaksandr Kalenik
897883f947
LibWeb/WebGL: Implement texStorage2D()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
cfff38a176
LibWeb/WebGL: Implement uniform{1,2,3,4}{i,f}v calls for WebGL2
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
194edbfd89
CodeGenerators: Unify generation of uniform{1,2,3,4}{i,f}v [WebGL]
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
544a0216cf
CodeGenerators: Change variable name from "matrix" to "vector" [WebGL]
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
73479d3f94
LibWeb/WebGL: Implement drawBuffers()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
af4f0c5a81
LibWeb/WebGL: Implement texImage3D()
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
ba19328b98
LibWeb/WebGL: Implement vertexAttrib{1,2,3,4}fv
2024-12-13 09:19:10 +01:00
Aliaksandr Kalenik
4e8ec1e793
LibWeb/WebGL: Implement readPixels()
2024-12-13 09:19:10 +01:00
Nathan van der Kamp
158acabd21
BindingsGenerator: Add codegen for reflected nullable Element attributes
2024-12-12 17:11:27 +00:00
Timothy Flynn
fe891727dc
LibWeb: Use correct URL parsing methods throughout LibWeb
...
There are essentially 3 URL parsing AOs defined by the spec:
1. Parse a URL
2. Encoding parse a URL
3. Encoding parse a URL and serialize the result
Further, these are replicated between the Document and the ESO.
This patch defines these methods in accordance with the spec and updates
existing users to invoke the correct method. In places where the correct
method is ambiguous, we use the encoding parser to preserve existing ad-
hoc behavior.
2024-12-10 10:37:01 -08:00
Feng Yu
f2eaf3381f
LibWeb: Throw TypeError for new Headers(null)
...
The WebIDL for the `Headers` constructor specifies that the `init`
parameter is optional and must be of type `HeadersInit`. While the
parameter can be omitted (or explicitly set to `undefined`),
`null` is not a valid value.
This change fixes at least 2 "Create headers with null should throw"
WPT subtests which I have imported in this patch.
2024-12-10 06:46:31 -08:00
Aliaksandr Kalenik
46b95182a0
CodeGenerators: Delete unnecessary overrides in WebGL generator
...
getAttribLocation() and getAttribLocation() could be generated
automatically so we don't need to have overriden function bodies for
them.
2024-12-07 01:36:08 +01:00
Aliaksandr Kalenik
f074df171b
CodeGenerators: Use snake case for function parameter names in WebGL
2024-12-07 01:36:08 +01:00
Aliaksandr Kalenik
86c230cd8e
LibWeb/WebGL: Implement vertex array calls for WebGL2
2024-12-07 00:05:36 +01:00
Andrew Kaster
56d45282ea
LibWeb/WebGL: Don't crash on unknown getParameter on the context
...
And allow the implementation to set the error code.
2024-12-06 15:35:36 +01:00
Andrew Kaster
af536e1192
LibWeb: Add stubbed-out WebGL2RenderingContext
2024-12-06 15:35:36 +01:00
Andrew Kaster
7868b03d90
LibWeb: Alphabetize WebGL type list in generator
2024-12-06 15:35:36 +01:00
Luke Wilde
460f5fe511
LibWeb/WebGL: Support ArrayBuffer and DataView for BufferSource
2024-12-05 21:27:32 +01:00
Luke Wilde
5392aabded
LibWeb/WebGL: Implement texSubImage2D with ArrayBufferView
2024-12-05 21:27:32 +01:00
Luke Wilde
bf2b8c5f2b
LibWeb/WebGL: Implement getShaderPrecisionFormat
2024-12-05 21:27:32 +01:00
Luke Wilde
2e1702a14b
LibWeb/WebGL: Implement deleteFramebuffer
2024-12-05 21:27:32 +01:00
Luke Wilde
111c4495d9
LibWeb/WebGL: Implement deleteTexture
2024-12-05 21:27:32 +01:00
Luke Wilde
7b0c067f4d
LibWeb/WebGL: Implement uniform{1,2,3,4}iv
2024-12-05 21:27:32 +01:00
Luke Wilde
2e1640a6c5
LibWeb/WebGL: Implement deleteBuffer
2024-12-05 21:27:32 +01:00
Luke Wilde
4c0872ea1b
LibWeb/WebGL: Implement getBufferParameter
2024-12-05 21:27:32 +01:00
Luke Wilde
a65a981a6b
LibWeb/WebGL: Add initial implementation of texImage2D with image source
...
a
2024-12-05 21:27:32 +01:00
Luke Wilde
a513bdaac6
LibWeb/WebGL: Implement bindRenderbuffer
2024-12-05 21:27:32 +01:00
Luke Wilde
d185c2c28c
LibWeb/WebGL: Implement createRenderbuffer
2024-12-05 21:27:32 +01:00
Luke Wilde
b0bcecfc53
LibWeb/WebGL: Implement bindFramebuffer
2024-12-05 21:27:32 +01:00
Luke Wilde
c5e9615c29
LibWeb/WebGL: Implement createFramebuffer
2024-12-05 21:27:32 +01:00
Sam Atkins
2c3c821305
LibWeb: Remove Realm parameter from property_initial_value()
...
We don't need the Realm to parse a style value.
Fixes #2720
2024-12-05 19:59:57 +01:00
Aliaksandr Kalenik
ae6edfb845
LibWeb/WebGL: Implement getProgramInfoLog()
2024-12-05 16:42:19 +01:00
Aliaksandr Kalenik
b8109c3047
LibWeb/WebGL: Implement bindAttribLocation()
2024-12-05 16:42:19 +01:00
Aliaksandr Kalenik
11ddc88ed7
LibWeb/WebGL: Remove FIXME from isContextLost() IDL method
...
Currently this function always returns false, but that's better than
not having it at all.
2024-12-05 16:42:19 +01:00
Aliaksandr Kalenik
c817eb8d2b
LibWeb/WebGL: Implement getContextAttributes()
2024-12-05 09:57:10 +01:00
Aliaksandr Kalenik
a8c282a30e
IDLGenerators: Allow returning nullable dictionaries from IDL methods
2024-12-05 09:57:10 +01:00
Aliaksandr Kalenik
110f89ee25
LibWeb/WebGL: Implement getShaderInfoLog()
...
With this change we have enough WebGL support to display demos on
https://ciechanow.ski/lights-and-shadows/ but most of them are not
redering correctly yet.
2024-12-05 01:23:10 +01:00
Aliaksandr Kalenik
66a38f1abc
CodeGenerators: Implement getParameter() according to the WebGL spec
...
Fixes https://github.com/LadybirdBrowser/ladybird/issues/2759
2024-12-04 22:21:13 +01:00
Shannon Booth
0fa54c2327
LibURL+LibWeb: Make URL::serialize return a String
...
Simplifying a bunch of uneeded error handling around the place.
2024-12-04 16:34:13 +00:00
Jonne Ransijn
d7596a0a61
AK: Don't implicitly convert Optional<T&> to Optional<T>
...
C++ will jovially select the implicit conversion operator, even if it's
complete bogus, such as for unknown-size types or non-destructible
types. Therefore, all such conversions (which incur a copy) must
(unfortunately) be explicit so that non-copyable types continue to work.
NOTE: We make an exception for trivially copyable types, since they
are, well, trivially copyable.
Co-authored-by: kleines Filmröllchen <filmroellchen@serenityos.org>
2024-12-04 01:58:22 +01:00
Aliaksandr Kalenik
7e78d7d332
LibWeb/WebGL+Meta: Stub getSupportedExtensions() and getExtension()
2024-12-03 23:35:45 +01:00