LibWeb: Fire unhandled dedicated worker exceptions on the parent global

When a dedicated worker has an unhandled exception, we should propogate
that exception to be fired at the parent global. Fixes a timeout
in the included WPT test.
This commit is contained in:
Shannon Booth
2026-04-04 23:04:46 +02:00
committed by Shannon Booth
parent e15b1a33cb
commit a2e735b94c
Notes: github-actions[bot] 2026-04-05 21:39:29 +00:00
12 changed files with 96 additions and 11 deletions

View File

@@ -92,6 +92,11 @@ HTTP::Cookie::VersionedCookie PageHost::page_did_request_cookie(URL::URL const&
return m_client.did_request_cookie(url, source);
}
void PageHost::page_did_report_worker_exception(String const& message, String const& filename, u32 lineno, u32 colno)
{
m_client.async_did_report_worker_exception(message, filename, lineno, colno);
}
void PageHost::request_file(Web::FileRequest request)
{
m_client.request_file(move(request));

View File

@@ -37,6 +37,7 @@ public:
virtual Web::CSS::PreferredMotion preferred_motion() const override;
virtual size_t screen_count() const override { return 1; }
virtual HTTP::Cookie::VersionedCookie page_did_request_cookie(URL::URL const&, HTTP::Cookie::Source) override;
virtual void page_did_report_worker_exception(String const& message, String const& filename, u32 lineno, u32 colno) override;
virtual void request_file(Web::FileRequest) override;
virtual WorkerAgentResponse request_worker_agent(Web::Bindings::AgentType) override;
virtual Web::DisplayListPlayerType display_list_player_type() const override { VERIFY_NOT_REACHED(); }