LibWeb/Fetch: Enable callbacks in the abort signal algorithm callback

If the request has a body, the abort will interact with promises, which
requires callbacks to be enabled.

Fixes crashing on Atlassian products.
This commit is contained in:
Luke Wilde 2025-08-26 14:44:31 +01:00 committed by Jelle Raaijmakers
commit e2c935475f
Notes: github-actions[bot] 2025-08-26 14:30:40 +00:00
3 changed files with 14 additions and 1 deletions

View file

@ -143,7 +143,7 @@ GC::Ref<WebIDL::Promise> fetch(JS::VM& vm, RequestInfo const& input, RequestInit
controller_holder->controller()->abort(relevant_realm, request_object->signal()->reason());
// AD-HOC: An execution context is required for Promise functions.
HTML::TemporaryExecutionContext execution_context { relevant_realm };
HTML::TemporaryExecutionContext execution_context { relevant_realm, HTML::TemporaryExecutionContext::CallbacksEnabled::Yes };
// 4. Abort the fetch() call with p, request, responseObject, and requestObjects signals abort reason.
abort_fetch(relevant_realm, *promise_capability, request, response_object, request_object->signal()->reason());