/* * Copyright (c) 2023, Matthew Olsson * Copyright (c) 2023, Shannon Booth * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include #include namespace Web::Streams { ReadableStreamBYOBReader::ReadableStreamBYOBReader(JS::Realm& realm) : Bindings::PlatformObject(realm) , ReadableStreamGenericReaderMixin(realm) { } // https://streams.spec.whatwg.org/#byob-reader-constructor WebIDL::ExceptionOr> ReadableStreamBYOBReader::construct_impl(JS::Realm& realm, JS::NonnullGCPtr stream) { auto reader = realm.heap().allocate(realm, realm); // 1. Perform ? SetUpReadableStreamBYOBReader(this, stream). TRY(set_up_readable_stream_byob_reader(reader, *stream)); return reader; } void ReadableStreamBYOBReader::visit_edges(Cell::Visitor& visitor) { Base::visit_edges(visitor); ReadableStreamGenericReaderMixin::visit_edges(visitor); } }