ShadowRealmGlobalScope.cpp 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. /*
  2. * Copyright (c) 2024, Shannon Booth <shannon@serenityos.org>
  3. *
  4. * SPDX-License-Identifier: BSD-2-Clause
  5. */
  6. #include <LibWeb/Bindings/ShadowRealmExposedInterfaces.h>
  7. #include <LibWeb/Bindings/ShadowRealmGlobalScopePrototype.h>
  8. #include <LibWeb/HTML/ShadowRealmGlobalScope.h>
  9. namespace Web::HTML {
  10. GC_DEFINE_ALLOCATOR(ShadowRealmGlobalScope);
  11. ShadowRealmGlobalScope::ShadowRealmGlobalScope(JS::Realm& realm)
  12. : DOM::EventTarget(realm)
  13. {
  14. }
  15. ShadowRealmGlobalScope::~ShadowRealmGlobalScope() = default;
  16. GC::Ref<ShadowRealmGlobalScope> ShadowRealmGlobalScope::create(JS::Realm& realm)
  17. {
  18. return realm.create<ShadowRealmGlobalScope>(realm);
  19. }
  20. void ShadowRealmGlobalScope::initialize(JS::Realm&)
  21. {
  22. }
  23. void ShadowRealmGlobalScope::initialize_web_interfaces()
  24. {
  25. auto& realm = this->realm();
  26. WEB_SET_PROTOTYPE_FOR_INTERFACE(ShadowRealmGlobalScope);
  27. add_shadow_realm_exposed_interfaces(*this);
  28. Bindings::ShadowRealmGlobalScopeGlobalMixin::initialize(realm, *this);
  29. }
  30. void ShadowRealmGlobalScope::visit_edges(Cell::Visitor& visitor)
  31. {
  32. Base::visit_edges(visitor);
  33. UniversalGlobalScopeMixin::visit_edges(visitor);
  34. }
  35. }