BaseAudioContext.cpp 949 B

1234567891011121314151617181920212223242526272829303132333435363738
  1. /*
  2. * Copyright (c) 2023, Luke Wilde <lukew@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibWeb/Bindings/Intrinsics.h>
  7. #include <LibWeb/HTML/EventNames.h>
  8. #include <LibWeb/WebAudio/BaseAudioContext.h>
  9. namespace Web::WebAudio {
  10. BaseAudioContext::BaseAudioContext(JS::Realm& realm)
  11. : DOM::EventTarget(realm)
  12. {
  13. }
  14. BaseAudioContext::~BaseAudioContext() = default;
  15. JS::ThrowCompletionOr<void> BaseAudioContext::initialize(JS::Realm& realm)
  16. {
  17. MUST_OR_THROW_OOM(Base::initialize(realm));
  18. set_prototype(&Bindings::ensure_web_prototype<Bindings::BaseAudioContextPrototype>(realm, "BaseAudioContext"));
  19. return {};
  20. }
  21. void BaseAudioContext::set_onstatechange(WebIDL::CallbackType* event_handler)
  22. {
  23. set_event_handler_attribute(HTML::EventNames::statechange, event_handler);
  24. }
  25. WebIDL::CallbackType* BaseAudioContext::onstatechange()
  26. {
  27. return event_handler_attribute(HTML::EventNames::statechange);
  28. }
  29. }