Psychpsyo
fa3c45d0b4
LibWeb: Implement optional function IDL arguments
...
This allows us to run some more view transitions WPT tests, one of
which has been imported.
2025-09-10 09:49:14 -04:00
Psychpsyo
56739b4b16
LibWeb: Implement plumbing for view transitions
...
This implements large parts of the CSS view-transitions-1 spec.
2025-09-07 13:58:05 +01:00
Luke Wilde
74e0483ea5
LibWeb: Implement the Gamepad API with SDL3
2025-09-01 21:10:47 +02:00
Luke Wilde
36d5e814ef
IDLGenerator: Use fully qualified type names for namespace conflicts
2025-09-01 21:10:47 +02:00
Sam Atkins
ffb236adbd
IDLGenerators: Correctly treat optional enums as optional
...
Specifically, this makes enums in dictionaries not cause compile errors.
2025-08-29 11:57:10 +02:00
Sam Atkins
a46c980629
LibWeb/CSS: Implement CSSNumericArray
2025-08-29 11:57:10 +02:00
Sam Atkins
ef8ca729cc
IDLGenerators: Make 'operator' a reserved word
...
This is the name of an attribute of CSSMathValue.
2025-08-29 11:57:10 +02:00
Sam Atkins
4791f9e88f
IDLGenerators: Make attribute names C++-safe
2025-08-29 11:57:10 +02:00
stelar7
752210aec1
LibWeb/IDB: Implement IDBRecord
2025-08-27 16:13:25 +02:00
stelar7
b1c1e33bae
LibWeb/EME: Implement MediaKeySystemAccess
2025-08-27 09:58:00 +02:00
stelar7
7f2b431810
Meta/IDL: Ensure unique variable name when iterating dictionary members
2025-08-27 09:58:00 +02:00
stelar7
69c6b6df91
Meta/IDL: Correctly generate variable names when value contains a dot
2025-08-27 09:58:00 +02:00
Idan Horowitz
4c49ce5fe5
LibWeb: Add support for caching IDL attribute values
...
This lets us properly implement for [SameObject] for generated
constructs like FrozenArray<T>.
2025-08-26 06:28:10 -04:00
Jelle Raaijmakers
3522ff16c0
Meta: Reuse "define the operations" algorithm for generated namespaces
...
This is one step closer to the spec. No functional changes.
2025-08-26 10:14:22 +02:00
Sam Atkins
5384338788
LibWeb/CSS: Implement CSSUnitValue
2025-08-22 09:48:30 +01:00
Sam Atkins
6cb8e92bd4
LibWeb/CSS: Stub out CSSNumericValue
...
Most of the methods on this rely on its subclasses existing, so for now
it's very basic.
2025-08-22 09:48:30 +01:00
Sam Atkins
6428c9990d
LibWeb/CSS: Implement CSSUnparsedValue and CSSVariableReferenceValue
...
We don't serialize these the way WPT expects, because we don't implement
the comment-insertion rules from CSS-Syntax. We don't implement that
for regular serialization either, so it's something we can worry about
later.
2025-08-21 10:21:54 +01:00
Sam Atkins
a93c6a347f
LibWeb/CSS: Implement CSSKeywordValue
...
CSSStyleValue is adjusted to allow for subclasses. Serialization for
CSSKeywordValue is implemented differently than the spec says because
of a spec bug: https://github.com/w3c/csswg-drafts/issues/12545
2025-08-21 10:21:54 +01:00
Tete17
658477620a
LibWeb/LibURL/LibIPC: Extend createObjectURL to also accept MediaSources
...
This required some changes in LibURL & LibIPC since it has its own
definition of an BlobURLEntry. For now, we don't have a concrete usage
of MediaSource in LibURL so it is defined as an empty struct.
This removes one FIXME in an idl file.
2025-08-19 23:50:38 +02:00
Sam Atkins
882288bf86
LibWeb/CSS: Stub out CSSStyleValue
2025-08-13 09:47:50 +01:00
Sam Atkins
b447dc63c4
IDLGenerators: Include JS::Array in constructor implementations
...
Will be required by CSSStyleValue.
2025-08-13 09:47:50 +01:00
Tete17
adaad653ca
LibWeb: Implement TrustedScriptURL class
2025-08-11 12:21:31 +01:00
Tete17
56cab6955a
LibWeb: Implement TrustedScript type
...
This turns out to be very similar to TrustedHTML.
2025-08-11 12:21:31 +01:00
Tete17
90bcc16a7b
LibWeb: Add TrustedTypePolicy class
...
It is mostly a skeleton with no actual implementation.
2025-08-11 12:21:31 +01:00
Tete17
0a147aa9a1
LibWeb: Implement TrustedHTML class
...
The TrustedHTML interface represents a string that a developer can
confidently insert into an injection sink that will render it as HTML.
These objects are immutable wrappers around a string, constructed via a
TrustedTypePolicy’s createHTML method.
2025-08-11 12:21:31 +01:00
Idan Horowitz
dc1b7b1925
IDLGenerators: Support generating dictionary to value converter helpers
...
This is useful when returning dictionaries as a Promise.
2025-08-08 13:09:58 -04:00
Idan Horowitz
d6c2893663
LibWeb: Add initial CookieStore support
2025-08-08 13:09:58 -04:00
Edwin Hoksberg
1be31c103f
LibWeb: Stub WebSerial API
2025-08-08 10:23:17 +02:00
Edwin Hoksberg
6d954b73f1
LibWeb: Fix IDL codegen for dictionary return type with optional members
2025-08-06 16:34:44 -04:00
Timothy Flynn
0efa98a57a
LibJS+LibWeb+WebContent: Port JS::PropertyKey to UTF-16
...
This has quite a lot of fall out. But the majority of it is just type or
UDL substitution, where the changes just fall through to other function
calls.
By changing property key storage to UTF-16, the main affected areas are:
* NativeFunction names must now be UTF-16
* Bytecode identifiers must now be UTF-16
* Module/binding names must now be UTF-16
2025-08-05 07:07:15 -04:00
Tete17
8fdd9b68dc
LibWeb: First implementation of the TrustedTypePolicyFactory
...
Most of the functions are either not implemented of filled with dummy
values.
2025-07-30 15:51:35 +01:00
Tete17
223b1cc704
LibWeb: Add barebones SVGAnimationElement class
...
Many wpt test on trusted-types relay on this class being defined to even
begin the test as it declares some event handlers.
This is not really an implementation but the most basic setup needed to
run the tests.
2025-07-30 15:51:35 +01:00
Timothy Flynn
49467d0583
LibIDL+LibWeb: Support UTF-16 USVString
2025-07-26 00:40:06 +02:00
Jelle Raaijmakers
acc7c2f7f3
LibWeb: Do not use namespace in interface names
...
Gives us 20 additional WPT subtest passes in `wasm/jsapi`.
2025-07-25 16:50:45 +02:00
Luke Wilde
da5fca15ee
LibWeb: Only expose performance.{timing,navigation} on Window
...
They are only valid in a Window context, and the spec only exposes them
in Window contexts.
Fixes workers crashing on:
- https://web.whatsapp.com/
- https://pro.kraken.com/app/trade/btc-usd
2025-07-25 11:46:58 +02:00
Timothy Flynn
cb85eac3d8
LibIDL+IDLGenerators: Begin supporting UTF-16 strings in IDL
...
This adds a new IDL type, Utf16DOMString. This is the same as DOMString,
except it is UTF-16. This type is temporary - we will want DOMString to
be UTF-16 by default once we've ported enough of LibWeb.
To make this support easier, some string IDL generator handling is moved
directly into `generate_to_string` from the call sites.
2025-07-24 19:00:20 +02:00
Jelle Raaijmakers
526615bc10
LibWeb: Stub Navigator.getGamepads()
2025-07-22 11:55:29 -04:00
Jelle Raaijmakers
cdb736bea5
LibWeb: Remove WrappingReference from IDLGenerators
...
We have no cases where WrappingReferences::No does not result in the
right wrapper expression, so let's remove the enum.
2025-07-22 11:55:29 -04:00
Sam Atkins
16ef883e44
IDLGenerators: Update spec steps for "internally create a new object..."
...
Also wrap these in {} so it's clearer which steps are from this, and
which are from the HTML algorithm.
2025-07-21 10:05:32 +01:00
Sam Atkins
3ca879776f
IDLGenerators: Allow initialize() as an IDL member name
...
While not a C++ keyword, we already define a `Foo::initialize()` method
on every generated binding type, so we need to avoid clashing with that.
2025-07-21 10:05:32 +01:00
Sam Atkins
ef252d63c8
IDLGenerators: Add support for default values on bool dictionary members
2025-07-21 10:05:32 +01:00
Timothy Flynn
a458a7d35b
LibWeb: Do not coerce object IDL types to JS objects
...
We should bail with a TypeError if the provided value is not a JS object
already.
2025-07-19 16:48:01 -04:00
Jelle Raaijmakers
ead0a2c78a
Everywhere: Rename serenity_main to ladybird_main
...
No functional changes.
2025-07-08 09:17:16 -04:00
Sam Atkins
e63d81b36e
LibWeb: Add CustomStateSet IDL type
2025-07-04 18:10:28 +01:00
Sam Atkins
bc94431b99
IDLGenerators: Add a callback for when a setlike's set is modified
...
For simplicity, this requires that the setlike Foo class has a
`void on_set_modified_from_js(Badge<Bindings::FooPrototype>)` method.
This will be called after the set is modified from a generated `add()`,
`delete()`, or `clear()` method.
2025-07-04 18:10:28 +01:00
Sam Atkins
be21d952b1
IDLGenerators: Generate impl_from() for types that have setlike
...
Found by this interface, which has nothing else in it:
```
[Exposed=Window]
interface CustomStateSet {
setlike<DOMString>;
};
```
2025-07-04 18:10:28 +01:00
Sam Atkins
efcbec250f
IDLGenerators: Support string types in setlike
2025-07-04 18:10:28 +01:00
Sam Atkins
0f859fd126
IDLGenerators: Remove redundant function forward declaration
2025-07-04 18:10:28 +01:00
Sam Atkins
9e1bbe7edd
IDLGenerators: Correct the parameter type check for setlike methods
2025-07-04 18:10:28 +01:00
Sam Atkins
f2dd66e039
IDLGenerators: Remove unused numeric_type definition
2025-07-04 18:10:28 +01:00