mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-08-11 02:29:21 +00:00
LibWeb: Remove unused VM from ReadLoopReadRequest
This commit is contained in:
parent
6b4b7a54de
commit
6cc5ac8f82
Notes:
github-actions[bot]
2025-04-30 13:31:31 +00:00
Author: https://github.com/trflynn89
Commit: 6cc5ac8f82
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4532
Reviewed-by: https://github.com/awesomekling ✅
2 changed files with 19 additions and 24 deletions
|
@ -27,16 +27,6 @@ namespace Web::Streams {
|
||||||
GC_DEFINE_ALLOCATOR(ReadableStreamDefaultReader);
|
GC_DEFINE_ALLOCATOR(ReadableStreamDefaultReader);
|
||||||
GC_DEFINE_ALLOCATOR(ReadLoopReadRequest);
|
GC_DEFINE_ALLOCATOR(ReadLoopReadRequest);
|
||||||
|
|
||||||
void ReadLoopReadRequest::visit_edges(Visitor& visitor)
|
|
||||||
{
|
|
||||||
Base::visit_edges(visitor);
|
|
||||||
visitor.visit(m_realm);
|
|
||||||
visitor.visit(m_reader);
|
|
||||||
visitor.visit(m_success_steps);
|
|
||||||
visitor.visit(m_failure_steps);
|
|
||||||
visitor.visit(m_chunk_steps);
|
|
||||||
}
|
|
||||||
|
|
||||||
// https://streams.spec.whatwg.org/#default-reader-constructor
|
// https://streams.spec.whatwg.org/#default-reader-constructor
|
||||||
WebIDL::ExceptionOr<GC::Ref<ReadableStreamDefaultReader>> ReadableStreamDefaultReader::construct_impl(JS::Realm& realm, GC::Ref<ReadableStream> stream)
|
WebIDL::ExceptionOr<GC::Ref<ReadableStreamDefaultReader>> ReadableStreamDefaultReader::construct_impl(JS::Realm& realm, GC::Ref<ReadableStream> stream)
|
||||||
{
|
{
|
||||||
|
@ -70,9 +60,8 @@ void ReadableStreamDefaultReader::visit_edges(Cell::Visitor& visitor)
|
||||||
}
|
}
|
||||||
|
|
||||||
// https://streams.spec.whatwg.org/#read-loop
|
// https://streams.spec.whatwg.org/#read-loop
|
||||||
ReadLoopReadRequest::ReadLoopReadRequest(JS::VM& vm, JS::Realm& realm, ReadableStreamDefaultReader& reader, GC::Ref<SuccessSteps> success_steps, GC::Ref<FailureSteps> failure_steps, GC::Ptr<ChunkSteps> chunk_steps)
|
ReadLoopReadRequest::ReadLoopReadRequest(JS::Realm& realm, ReadableStreamDefaultReader& reader, GC::Ref<SuccessSteps> success_steps, GC::Ref<FailureSteps> failure_steps, GC::Ptr<ChunkSteps> chunk_steps)
|
||||||
: m_vm(vm)
|
: m_realm(realm)
|
||||||
, m_realm(realm)
|
|
||||||
, m_reader(reader)
|
, m_reader(reader)
|
||||||
, m_success_steps(success_steps)
|
, m_success_steps(success_steps)
|
||||||
, m_failure_steps(failure_steps)
|
, m_failure_steps(failure_steps)
|
||||||
|
@ -80,6 +69,16 @@ ReadLoopReadRequest::ReadLoopReadRequest(JS::VM& vm, JS::Realm& realm, ReadableS
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ReadLoopReadRequest::visit_edges(Visitor& visitor)
|
||||||
|
{
|
||||||
|
Base::visit_edges(visitor);
|
||||||
|
visitor.visit(m_realm);
|
||||||
|
visitor.visit(m_reader);
|
||||||
|
visitor.visit(m_success_steps);
|
||||||
|
visitor.visit(m_failure_steps);
|
||||||
|
visitor.visit(m_chunk_steps);
|
||||||
|
}
|
||||||
|
|
||||||
// chunk steps, given chunk
|
// chunk steps, given chunk
|
||||||
void ReadLoopReadRequest::on_chunk(JS::Value chunk)
|
void ReadLoopReadRequest::on_chunk(JS::Value chunk)
|
||||||
{
|
{
|
||||||
|
@ -203,11 +202,10 @@ void ReadableStreamDefaultReader::read_a_chunk(Fetch::Infrastructure::Incrementa
|
||||||
void ReadableStreamDefaultReader::read_all_bytes(GC::Ref<ReadLoopReadRequest::SuccessSteps> success_steps, GC::Ref<ReadLoopReadRequest::FailureSteps> failure_steps)
|
void ReadableStreamDefaultReader::read_all_bytes(GC::Ref<ReadLoopReadRequest::SuccessSteps> success_steps, GC::Ref<ReadLoopReadRequest::FailureSteps> failure_steps)
|
||||||
{
|
{
|
||||||
auto& realm = this->realm();
|
auto& realm = this->realm();
|
||||||
auto& vm = realm.vm();
|
|
||||||
|
|
||||||
// 1. Let readRequest be a new read request with the following items:
|
// 1. Let readRequest be a new read request with the following items:
|
||||||
// NOTE: items and steps in ReadLoopReadRequest.
|
// NOTE: items and steps in ReadLoopReadRequest.
|
||||||
auto read_request = heap().allocate<ReadLoopReadRequest>(vm, realm, *this, success_steps, failure_steps);
|
auto read_request = heap().allocate<ReadLoopReadRequest>(realm, *this, success_steps, failure_steps);
|
||||||
|
|
||||||
// 2. Perform ! ReadableStreamDefaultReaderRead(this, readRequest).
|
// 2. Perform ! ReadableStreamDefaultReaderRead(this, readRequest).
|
||||||
readable_stream_default_reader_read(*this, read_request);
|
readable_stream_default_reader_read(*this, read_request);
|
||||||
|
|
|
@ -49,18 +49,15 @@ public:
|
||||||
// AD-HOC: callback triggered on every chunk received from the stream.
|
// AD-HOC: callback triggered on every chunk received from the stream.
|
||||||
using ChunkSteps = GC::Function<void(ByteBuffer)>;
|
using ChunkSteps = GC::Function<void(ByteBuffer)>;
|
||||||
|
|
||||||
ReadLoopReadRequest(JS::VM& vm, JS::Realm& realm, ReadableStreamDefaultReader& reader, GC::Ref<SuccessSteps> success_steps, GC::Ref<FailureSteps> failure_steps, GC::Ptr<ChunkSteps> chunk_steps = {});
|
|
||||||
|
|
||||||
virtual void on_chunk(JS::Value chunk) override;
|
|
||||||
|
|
||||||
virtual void on_close() override;
|
|
||||||
|
|
||||||
virtual void on_error(JS::Value error) override;
|
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
ReadLoopReadRequest(JS::Realm&, ReadableStreamDefaultReader&, GC::Ref<SuccessSteps>, GC::Ref<FailureSteps>, GC::Ptr<ChunkSteps> = {});
|
||||||
|
|
||||||
virtual void visit_edges(Visitor&) override;
|
virtual void visit_edges(Visitor&) override;
|
||||||
|
|
||||||
JS::VM& m_vm;
|
virtual void on_chunk(JS::Value chunk) override;
|
||||||
|
virtual void on_close() override;
|
||||||
|
virtual void on_error(JS::Value error) override;
|
||||||
|
|
||||||
GC::Ref<JS::Realm> m_realm;
|
GC::Ref<JS::Realm> m_realm;
|
||||||
GC::Ref<ReadableStreamDefaultReader> m_reader;
|
GC::Ref<ReadableStreamDefaultReader> m_reader;
|
||||||
ByteBuffer m_bytes;
|
ByteBuffer m_bytes;
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue