ladybird/Libraries/LibWeb/FileAPI
Shannon Booth 637fd51595 LibWeb: Unify WebIDL C++ type generation
Represent WebIDL C++ types with a single CppType model that tracks
nullability, optional presence, and contained storage.

GC-like values now use GC::Ref/GC::Ptr directly, while containers choose
"plain", "Root", or "Conservative" container types depending on what
they contain. For example, sequence<Element> becomes a RootVector of
GC::Ref values, while sequence<SomeDictionary> becomes a
ConservativeVector only when the dictionary contains GC-like values.
This moves the generated bindings away from wrapping GC values in
GC::Root by default.

This has broad fallout as the types passed to interfaces for GC
objects changes almost fully across the board.
2026-05-23 18:26:12 +02:00
..
Blob.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Blob.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
Blob.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
BlobURLStore.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
BlobURLStore.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
File.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
File.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
File.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
FileList.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
FileList.h LibWeb: Use interface_name instead of serialize_type virtual 2026-02-14 20:22:40 +01:00
FileList.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
FileReader.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
FileReader.h LibWeb: Don't store GC::Root<JS::ArrayBuffer> in FileAPI::FileReader 2025-12-26 11:57:00 +01:00
FileReader.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
FileReaderSync.cpp LibJS+LibWeb: Allow instantiating DataBlock with an external buffer 2026-05-10 16:41:42 +02:00
FileReaderSync.h LibWeb: Don't store GC::Root<JS::ArrayBuffer> in FileAPI::FileReader 2025-12-26 11:57:00 +01:00
FileReaderSync.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00