Commit graph

2231 commits

Author SHA1 Message Date
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
Aliaksandr Kalenik
64fec8b2de LibWeb/WebGL: Implement texImage2D() 2024-12-03 23:35:45 +01:00
Aliaksandr Kalenik
3c2ac309ca LibWeb/WebGL: Implement getActiveAttrib() and getActiveUniform() 2024-12-03 23:35:45 +01:00
Aliaksandr Kalenik
f3a24d1569 LibWeb: Implement more WebGL calls 2024-12-03 23:35:45 +01:00
Aliaksandr Kalenik
46cbbda944 LibWeb: Increase SkSurface's generation id when it's modified by WebGL
Skia is not aware of surface modifications done by WebGL, so we need to
manually increase generation id whenver WebGL invokes a writing
function.
2024-12-03 23:35:45 +01:00
Aliaksandr Kalenik
e2e54dccc3 LibWeb: Generate WebGLRenderingContext implementation 2024-12-03 23:35:45 +01:00
Jonne Ransijn
58631e9eef LibJS: Add missing CommonPropertyNamess and StringMayBeNumber::Nos 2024-12-01 10:42:49 +01:00
Sam Atkins
3124dca528 LibURL+LibWebView: Move public suffix data to LibURL 2024-11-30 12:07:39 +01:00
Sam Atkins
edcdcea92d LibWebView: Simplify string joining in GeneratePublicSuffixData
Super minor, but gets rid of a clangd warning about the builder name
already being used.
2024-11-30 12:07:39 +01:00
Shannon Booth
286c177896 LibWeb: Support 'Worklet' exposed 2024-11-30 11:19:35 +01:00
Shannon Booth
4417f63ca0 LibWeb: Move ServiceWorker classes to ServiceWorker namespace
These are defined by the ServiceWorker spec, not the HTML one.
2024-11-30 11:19:35 +01:00
Shannon Booth
04508841e9 LibWeb: Fix indent of the IDL generator using namespace hack 2024-11-30 11:19:35 +01:00
devgianlu
1f7586ce14 LibCrypto: Use ASN1 macros for RSA key parsing
Improve error handling in `RSA::parse_rsa_key` by using ASN1 macros and
generalizing the parsing to both private and public keys.
2024-11-30 11:17:44 +01:00
Sam Atkins
c405c4bcf1 LibWeb: Allow calling property_initial_value() without a Realm
In this situation we're only able to get initial values that have
already been parsed. It's a little sketchy but doesn't seem to break
anything.
2024-11-30 11:01:12 +01:00
Pavel Shliak
d223cf25af LibWeb: Fix LegacyNullToEmptyString flag handler in IDL 2024-11-29 20:23:01 +00:00
Tim Ledbetter
e5c99b475a IDLGenerators: Set reflected unsigned long value according to spec
Setting an unsigned long attribute with IDL to a value outside the
range 0 to 2147483647, the value should be set to the default value.
2024-11-27 11:00:25 +01:00
stelar7
48fae7b64f LibWeb: Add IDBKeyRange 2024-11-26 14:50:27 +01:00
stelar7
20a92a81c4 LibWeb: Add IDBTransaction 2024-11-26 14:50:27 +01:00
stelar7
16ce2b975a LibWeb: Add IDBObjectStore 2024-11-26 14:50:27 +01:00
stelar7
297c775b34 LibWeb: Add IDBIndex 2024-11-26 14:50:27 +01:00
stelar7
71772d97dc LibWeb: Add IDBCursor 2024-11-26 14:50:27 +01:00
Jelle Raaijmakers
614b93beca Meta: Set constructor prototype in IDLGenerators
Without this, retrieving `__proto__` from any interface will always
yield an instance of `FunctionPrototype`.
2024-11-26 12:44:05 +00:00
Jelle Raaijmakers
db43ed03a8 Meta: Use namespaced JS::call invocations in IDLGenerators
When experimenting with different inheritance structures, I ended up
seeing compilation failures whenever a parent class defined a `call`
method. This seems more in line with the rest of the code.
2024-11-26 12:44:05 +00:00
devgianlu
49c388b891 LibTLS+LibWeb+LibCrypto: Move Certificate to LibCrypto
By moving `Certificate` to `LibCrypto` it is possible to reuse a bunch
of code from in `LibCrypto` itself. It also moves some constants
and pieces of code to a more appropriate place than `LibTLS`.

This also makes future work on WebCryptoAPI easier.
2024-11-25 13:38:38 +01:00
rmg-x
03b9e555c0 Libraries: Remove LibArchive
This library isn't used by anything but the Android build which
currently doesn't work. We most likely won't be using a homegrown
implementation for archive formats in the future, regardless.
2024-11-25 13:37:45 +01:00
Tim Ledbetter
19a5780f0c IDLGenerators: Throw TypeError if IDL ByteString contains element > 255 2024-11-21 15:49:48 -05:00
Pavel Shliak
8d13115d9a LibCrypto: Clean up #include directives
This change aims to improve the speed of incremental builds.
2024-11-21 14:08:33 +01:00
Aliaksandr Kalenik
0448d4d609 LibWeb: Update property_id_from_string() generator to handle ::Custom 2024-11-21 13:16:08 +01:00
Shannon Booth
d6bcd3fb0b LibWeb: Make CallbackType take a realm instead of settings object
In line with the ShadowRealm proposal changes in the WebIDL spec:
webidl#1437 and supporting changes in HTML spec.

This is required for ShadowRealms as they have no relevant settings
object on the shadow realm, so fixes a crash in the QueueingStrategy
test in this commit.
2024-11-20 18:01:21 -07:00
Ali Mohammad Pur
7e20f4726f LibDNS+LibWeb+Ladybird+RequestServer: Let there be DNS over TLS
This commit adds our own DNS resolver, with the aim of implementing DoT
(and eventually DoH, maybe even DNSSEC etc.)
2024-11-20 21:37:58 +01:00
Andrew Kaster
fca6fd0b85 LibGC: Add Swift bindings to the GC heap
This includes a protocol for creating LibGC Heap allocated Swift
objects. Pay no attention to the Unmanaged shenanigans, they are
all behind the curtain.
2024-11-19 14:32:11 -07:00