/* * Copyright (c) 2024, Jelle Raaijmakers * * SPDX-License-Identifier: BSD-2-Clause */ #include #include #include #include namespace Web::MediaSourceExtensions { GC_DEFINE_ALLOCATOR(ManagedSourceBuffer); ManagedSourceBuffer::ManagedSourceBuffer(JS::Realm& realm) : SourceBuffer(realm) { } ManagedSourceBuffer::~ManagedSourceBuffer() = default; void ManagedSourceBuffer::initialize(JS::Realm& realm) { Base::initialize(realm); WEB_SET_PROTOTYPE_FOR_INTERFACE(ManagedSourceBuffer); } // https://w3c.github.io/media-source/#dom-managedsourcebuffer-onbufferedchange void ManagedSourceBuffer::set_onbufferedchange(GC::Ptr event_handler) { set_event_handler_attribute(EventNames::bufferedchange, event_handler); } // https://w3c.github.io/media-source/#dom-managedsourcebuffer-onbufferedchange GC::Ptr ManagedSourceBuffer::onbufferedchange() { return event_handler_attribute(EventNames::bufferedchange); } }