mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-08 08:48:39 +09:00
Issue #1587 Part 11 (followup 1): Implement multithreaded signals for workers.
This commit is contained in:
parent
95c5a64b1f
commit
1ae6431766
13 changed files with 823 additions and 728 deletions
|
|
@ -34,10 +34,11 @@ NS_INTERFACE_MAP_BEGIN_CYCLE_COLLECTION(Response)
|
|||
NS_INTERFACE_MAP_ENTRY(nsISupports)
|
||||
NS_INTERFACE_MAP_END
|
||||
|
||||
Response::Response(nsIGlobalObject* aGlobal, InternalResponse* aInternalResponse)
|
||||
Response::Response(nsIGlobalObject* aGlobal, InternalResponse* aInternalResponse, AbortSignal* aSignal)
|
||||
: FetchBody<Response>()
|
||||
, mOwner(aGlobal)
|
||||
, mInternalResponse(aInternalResponse)
|
||||
, mSignal(aSignal)
|
||||
{
|
||||
MOZ_ASSERT(aInternalResponse->Headers()->Guard() == HeadersGuardEnum::Immutable ||
|
||||
aInternalResponse->Headers()->Guard() == HeadersGuardEnum::Response);
|
||||
|
|
@ -53,7 +54,7 @@ Response::Error(const GlobalObject& aGlobal)
|
|||
{
|
||||
nsCOMPtr<nsIGlobalObject> global = do_QueryInterface(aGlobal.GetAsSupports());
|
||||
RefPtr<InternalResponse> error = InternalResponse::NetworkError();
|
||||
RefPtr<Response> r = new Response(global, error);
|
||||
RefPtr<Response> r = new Response(global, error, nullptr);
|
||||
return r.forget();
|
||||
}
|
||||
|
||||
|
|
@ -173,7 +174,7 @@ Response::Constructor(const GlobalObject& aGlobal,
|
|||
internalResponse->InitChannelInfo(worker->GetChannelInfo());
|
||||
}
|
||||
|
||||
RefPtr<Response> r = new Response(global, internalResponse);
|
||||
RefPtr<Response> r = new Response(global, internalResponse, nullptr);
|
||||
|
||||
if (aInit.mHeaders.WasPassed()) {
|
||||
internalResponse->Headers()->Clear();
|
||||
|
|
@ -236,7 +237,7 @@ Response::Clone(ErrorResult& aRv) const
|
|||
}
|
||||
|
||||
RefPtr<InternalResponse> ir = mInternalResponse->Clone();
|
||||
RefPtr<Response> response = new Response(mOwner, ir);
|
||||
RefPtr<Response> response = new Response(mOwner, ir, mSignal);
|
||||
return response.forget();
|
||||
}
|
||||
|
||||
|
|
@ -250,7 +251,7 @@ Response::CloneUnfiltered(ErrorResult& aRv) const
|
|||
|
||||
RefPtr<InternalResponse> clone = mInternalResponse->Clone();
|
||||
RefPtr<InternalResponse> ir = clone->Unfiltered();
|
||||
RefPtr<Response> ref = new Response(mOwner, ir);
|
||||
RefPtr<Response> ref = new Response(mOwner, ir, mSignal);
|
||||
return ref.forget();
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue