mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-10-26 00:57:30 +09:00
Issue #2402 - Persist response headers for offlined service worker scripts. https://bugzilla.mozilla.org/show_bug.cgi?id=1337543
This commit is contained in:
parent
14f0bc5e7c
commit
b723bb60ad
2 changed files with 19 additions and 4 deletions
|
|
@ -693,6 +693,7 @@ private:
|
||||||
}
|
}
|
||||||
|
|
||||||
ir->SetPrincipalInfo(Move(principalInfo));
|
ir->SetPrincipalInfo(Move(principalInfo));
|
||||||
|
ir->Headers()->FillResponseHeaders(loadInfo.mChannel);
|
||||||
|
|
||||||
RefPtr<mozilla::dom::Response> response =
|
RefPtr<mozilla::dom::Response> response =
|
||||||
new mozilla::dom::Response(mCacheCreator->Global(), ir, nullptr);
|
new mozilla::dom::Response(mCacheCreator->Global(), ir, nullptr);
|
||||||
|
|
|
||||||
|
|
@ -239,6 +239,7 @@ public:
|
||||||
CompareCallback* aCallback)
|
CompareCallback* aCallback)
|
||||||
: mRegistration(aRegistration)
|
: mRegistration(aRegistration)
|
||||||
, mCallback(aCallback)
|
, mCallback(aCallback)
|
||||||
|
, mInternalHeaders(new InternalHeaders())
|
||||||
, mState(WaitingForOpen)
|
, mState(WaitingForOpen)
|
||||||
, mNetworkFinished(false)
|
, mNetworkFinished(false)
|
||||||
, mCacheFinished(false)
|
, mCacheFinished(false)
|
||||||
|
|
@ -425,12 +426,22 @@ public:
|
||||||
return mCacheStorage;
|
return mCacheStorage;
|
||||||
}
|
}
|
||||||
|
|
||||||
void
|
nsresult
|
||||||
InitChannelInfo(nsIChannel* aChannel)
|
OnStartRequest(nsIChannel* aChannel)
|
||||||
{
|
{
|
||||||
|
nsresult rv = SetPrincipalInfo(aChannel);
|
||||||
|
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||||
|
return rv;
|
||||||
|
}
|
||||||
|
|
||||||
mChannelInfo.InitFromChannel(aChannel);
|
mChannelInfo.InitFromChannel(aChannel);
|
||||||
|
|
||||||
|
mInternalHeaders->FillResponseHeaders(aChannel);
|
||||||
|
|
||||||
|
return NS_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
nsresult
|
nsresult
|
||||||
SetPrincipalInfo(nsIChannel* aChannel)
|
SetPrincipalInfo(nsIChannel* aChannel)
|
||||||
{
|
{
|
||||||
|
|
@ -553,6 +564,9 @@ private:
|
||||||
ir->SetPrincipalInfo(Move(mPrincipalInfo));
|
ir->SetPrincipalInfo(Move(mPrincipalInfo));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
IgnoredErrorResult ignored;
|
||||||
|
ir->Headers()->Fill(*mInternalHeaders, ignored);
|
||||||
|
|
||||||
RefPtr<Response> response = new Response(aCache->GetGlobalObject(), ir, nullptr);
|
RefPtr<Response> response = new Response(aCache->GetGlobalObject(), ir, nullptr);
|
||||||
|
|
||||||
RequestOrUSVString request;
|
RequestOrUSVString request;
|
||||||
|
|
@ -587,6 +601,7 @@ private:
|
||||||
nsString mNewCacheName;
|
nsString mNewCacheName;
|
||||||
|
|
||||||
ChannelInfo mChannelInfo;
|
ChannelInfo mChannelInfo;
|
||||||
|
RefPtr<InternalHeaders> mInternalHeaders;
|
||||||
|
|
||||||
UniquePtr<mozilla::ipc::PrincipalInfo> mPrincipalInfo;
|
UniquePtr<mozilla::ipc::PrincipalInfo> mPrincipalInfo;
|
||||||
|
|
||||||
|
|
@ -682,8 +697,7 @@ CompareNetwork::OnStartRequest(nsIRequest* aRequest, nsISupports* aContext)
|
||||||
MOZ_ASSERT(channel == mChannel);
|
MOZ_ASSERT(channel == mChannel);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
mManager->InitChannelInfo(mChannel);
|
nsresult rv = mManager->OnStartRequest(mChannel);
|
||||||
nsresult rv = mManager->SetPrincipalInfo(mChannel);
|
|
||||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||||
return rv;
|
return rv;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue