ladybird/Libraries/LibWeb/Streams
Andreas Kling 45c499d185 LibJS: Isolate ArrayBuffer backing stores
Move owned ArrayBuffer and SharedArrayBuffer data blocks into the
ArrayBuffer heap partition. Keep unowned and host storage explicit, so
Wasm memory and external LibWeb buffers stay outside this partition.

Introduce DataBlock::OwnedBackingStore as the LibJS-owned byte storage
representation. Expose byte spans instead of a ByteBuffer object, giving
ArrayBuffer one allocation boundary that can later grow toward guarded
or caged storage.

Let callers that need ByteBuffer data copy from backing-store bytes.
Keep TransferArrayBuffer zero-copy by moving the DataBlock directly
instead of materializing a ByteBuffer in between.

Update the Wasm typed-array test helper to compare viewed byte ranges
after ArrayBuffer stops exposing ByteBuffer identity.
2026-06-10 14:50:10 +02:00
..
AbstractOperations.cpp LibJS: Isolate ArrayBuffer backing stores 2026-06-10 14:50:10 +02:00
AbstractOperations.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
Algorithms.h LibWeb/Streams: Put algorithm definitions in a separate header file 2024-12-11 15:11:21 +01:00
ByteLengthQueuingStrategy.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ByteLengthQueuingStrategy.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ByteLengthQueuingStrategy.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
CountQueuingStrategy.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CountQueuingStrategy.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
CountQueuingStrategy.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
GenericTransformStream.cpp LibWeb: Add the IDL for the GenericTransformStream mixin 2024-11-17 22:37:45 +01:00
GenericTransformStream.h LibWeb: Add the IDL for the GenericTransformStream mixin 2024-11-17 22:37:45 +01:00
GenericTransformStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
QueuingStrategy.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
QueuingStrategy.idl
QueuingStrategyInit.idl
ReadableByteStreamController.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableByteStreamController.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableByteStreamController.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStream.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStream.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStreamAsyncIterator.cpp LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ReadableStreamAsyncIterator.h LibWeb/Bindings: Generate struct definitions from IDL dictionaries 2026-05-09 10:49:49 +02:00
ReadableStreamBYOBReader.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBReader.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBReader.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStreamBYOBRequest.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBRequest.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamBYOBRequest.idl
ReadableStreamDefaultController.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamDefaultController.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamDefaultController.idl
ReadableStreamDefaultReader.cpp LibWeb: Remove ChunkSteps & ReadAllOn* dead code from Streams reader 2026-06-09 16:45:19 +12:00
ReadableStreamDefaultReader.h LibWeb: Remove ChunkSteps & ReadAllOn* dead code from Streams reader 2026-06-09 16:45:19 +12:00
ReadableStreamDefaultReader.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
ReadableStreamGenericReader.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamGenericReader.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
ReadableStreamGenericReader.idl
ReadableStreamOperations.cpp LibJS: Isolate ArrayBuffer backing stores 2026-06-10 14:50:10 +02:00
ReadableStreamOperations.h LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamPipeTo.cpp LibWeb: Register shutdown-on-close handler once in ReadableStreamPipeTo 2025-12-08 13:57:14 -05:00
ReadableStreamPipeTo.h LibWeb: Register shutdown-on-close handler once in ReadableStreamPipeTo 2025-12-08 13:57:14 -05:00
ReadableStreamTee.cpp LibWeb/Bindings: Generate buffer typedefs as variants 2026-05-30 11:22:08 +02:00
ReadableStreamTee.h LibWeb: Move ReadableStream AOs into their own file 2025-04-18 06:55:40 -04:00
Transformer.idl LibWeb/Streams: Convert Transformer to IDL bindings conversion 2026-05-09 10:49:49 +02:00
TransformStream.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
TransformStream.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
TransformStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
TransformStreamDefaultController.cpp LibWeb/Bindings: Emit one bindings header and cpp per IDL 2026-04-21 07:36:13 +02:00
TransformStreamDefaultController.h LibWeb: Move ReadableStream AOs into their own file 2025-04-18 06:55:40 -04:00
TransformStreamDefaultController.idl
TransformStreamOperations.cpp LibWeb/Streams: Convert Transformer to IDL bindings conversion 2026-05-09 10:49:49 +02:00
TransformStreamOperations.h LibWeb/Streams: Convert Transformer to IDL bindings conversion 2026-05-09 10:49:49 +02:00
UnderlyingSink.idl LibWeb/Streams: Convert UnderlyingSink to IDL bindings conversion 2026-05-09 10:49:49 +02:00
UnderlyingSource.idl LibWeb/Streams: Convert UnderlyingSource to IDL bindings conversion 2026-05-09 10:49:49 +02:00
WritableStream.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStream.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStream.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WritableStreamDefaultController.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultController.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultController.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WritableStreamDefaultWriter.cpp LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultWriter.h LibWeb: Unify WebIDL C++ type generation 2026-05-23 18:26:12 +02:00
WritableStreamDefaultWriter.idl LibWeb+LibIDL: Remove support for #import directives during parsing 2026-04-24 20:08:29 +02:00
WritableStreamOperations.cpp LibWeb/Streams: Convert UnderlyingSink to IDL bindings conversion 2026-05-09 10:49:49 +02:00
WritableStreamOperations.h LibWeb/Streams: Convert UnderlyingSink to IDL bindings conversion 2026-05-09 10:49:49 +02:00