LibWeb: Push promise rejection handling onto UniversalGlobalScopeMixin

This is needed for shadow realms which don't have a window or worker
global object. Fixes a crash for the attached test.
This commit is contained in:
Shannon Booth 2024-11-28 04:06:02 +13:00 committed by Andreas Kling
commit 6a668f27c7
Notes: github-actions[bot] 2024-11-30 11:07:17 +00:00
9 changed files with 129 additions and 109 deletions

View file

@ -161,7 +161,7 @@ ErrorOr<void> initialize_main_thread_vm(HTML::EventLoop::Type type)
auto& realm = script ? script->realm() : *vm.current_realm();
// 5. Let global be realm's global object.
auto* global_mixin = dynamic_cast<HTML::WindowOrWorkerGlobalScopeMixin*>(&realm.global_object());
auto* global_mixin = dynamic_cast<HTML::UniversalGlobalScopeMixin*>(&realm.global_object());
VERIFY(global_mixin);
auto& global = global_mixin->this_impl();