mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-06 07:48:38 +09:00
Merge remote-tracking branch 'origin/tracking' into custom
This commit is contained in:
commit
e72f8a3a81
140 changed files with 1117 additions and 466 deletions
|
|
@ -448,7 +448,8 @@ ScriptLoader::CheckContentPolicy(nsIDocument* aDocument,
|
|||
int16_t shouldLoad = nsIContentPolicy::ACCEPT;
|
||||
nsresult rv = NS_CheckContentLoadPolicy(contentPolicyType,
|
||||
aURI,
|
||||
aDocument->NodePrincipal(),
|
||||
aDocument->NodePrincipal(), // loading principal
|
||||
aDocument->NodePrincipal(), // triggering principal
|
||||
aContext,
|
||||
NS_LossyConvertUTF16toASCII(aType),
|
||||
nullptr, //extra
|
||||
|
|
@ -868,6 +869,8 @@ ScriptLoader::StartFetchingModuleAndDependencies(ModuleLoadRequest* aParent,
|
|||
RefPtr<ModuleLoadRequest> childRequest =
|
||||
ModuleLoadRequest::CreateStaticImport(aURI, aParent);
|
||||
|
||||
childRequest->mTriggeringPrincipal = aParent->mTriggeringPrincipal;
|
||||
|
||||
aParent->mImports.AppendElement(childRequest);
|
||||
|
||||
RefPtr<GenericPromise> ready = childRequest->mReady.Ensure(__func__);
|
||||
|
|
@ -1328,15 +1331,16 @@ ScriptLoader::StartLoad(ScriptLoadRequest *aRequest, const nsAString &aType,
|
|||
securityFlags |= nsILoadInfo::SEC_ALLOW_CHROME;
|
||||
|
||||
nsCOMPtr<nsIChannel> channel;
|
||||
nsresult rv = NS_NewChannel(getter_AddRefs(channel),
|
||||
aRequest->mURI,
|
||||
context,
|
||||
securityFlags,
|
||||
contentPolicyType,
|
||||
loadGroup,
|
||||
prompter,
|
||||
nsIRequest::LOAD_NORMAL |
|
||||
nsIChannel::LOAD_CLASSIFY_URI);
|
||||
nsresult rv = NS_NewChannelWithTriggeringPrincipal(
|
||||
getter_AddRefs(channel),
|
||||
aRequest->mURI,
|
||||
context,
|
||||
aRequest->mTriggeringPrincipal,
|
||||
securityFlags,
|
||||
contentPolicyType,
|
||||
loadGroup,
|
||||
prompter,
|
||||
nsIRequest::LOAD_NORMAL);
|
||||
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
|
|
@ -1637,10 +1641,14 @@ ScriptLoader::ProcessScriptElement(nsIScriptElement *aElement)
|
|||
}
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIPrincipal> principal = scriptContent->NodePrincipal();
|
||||
nsCOMPtr<nsIPrincipal> principal = aElement->GetScriptURITriggeringPrincipal();
|
||||
if (!principal) {
|
||||
principal = scriptContent->NodePrincipal();
|
||||
}
|
||||
|
||||
request = CreateLoadRequest(scriptKind, scriptURI, aElement, principal,
|
||||
ourCORSMode, sriMetadata, referrerPolicy);
|
||||
request->mTriggeringPrincipal = Move(principal);
|
||||
request->mIsInline = false;
|
||||
request->SetScriptMode(aElement->GetScriptDeferred(),
|
||||
aElement->GetScriptAsync());
|
||||
|
|
@ -1763,6 +1771,7 @@ ScriptLoader::ProcessScriptElement(nsIScriptElement *aElement)
|
|||
SRIMetadata(), // SRI doesn't apply
|
||||
referrerPolicy);
|
||||
request->mIsInline = true;
|
||||
request->mTriggeringPrincipal = mDocument->NodePrincipal();
|
||||
request->mLineNo = aElement->GetScriptLineNumber();
|
||||
|
||||
// Only the 'async' attribute is heeded on an inline module script and
|
||||
|
|
@ -3076,6 +3085,7 @@ ScriptLoader::PreloadURI(nsIURI *aURI,
|
|||
mDocument->NodePrincipal(),
|
||||
Element::StringToCORSMode(aCrossOrigin), sriMetadata,
|
||||
aReferrerPolicy);
|
||||
request->mTriggeringPrincipal = mDocument->NodePrincipal();
|
||||
request->mIsInline = false;
|
||||
request->SetScriptMode(aDefer, aAsync);
|
||||
request->SetIsPreloadRequest();
|
||||
|
|
|
|||
|
|
@ -248,6 +248,7 @@ public:
|
|||
char16_t* mScriptTextBuf; // Holds script text for non-inline scripts. Don't
|
||||
size_t mScriptTextLength; // use nsString so we can give ownership to jsapi.
|
||||
const nsCOMPtr<nsIURI> mURI;
|
||||
nsCOMPtr<nsIPrincipal> mTriggeringPrincipal;
|
||||
nsCOMPtr<nsIPrincipal> mOriginPrincipal;
|
||||
nsAutoCString mURL; // Keep the URI's filename alive during off thread parsing.
|
||||
int32_t mLineNo;
|
||||
|
|
|
|||
|
|
@ -68,6 +68,12 @@ public:
|
|||
return mUri;
|
||||
}
|
||||
|
||||
nsIPrincipal* GetScriptURITriggeringPrincipal()
|
||||
{
|
||||
NS_PRECONDITION(mFrozen, "Not ready for this call yet!");
|
||||
return mSrcTriggeringPrincipal;
|
||||
}
|
||||
|
||||
/**
|
||||
* Script source text for inline script elements.
|
||||
*/
|
||||
|
|
@ -363,6 +369,11 @@ protected:
|
|||
*/
|
||||
nsCOMPtr<nsIURI> mUri;
|
||||
|
||||
/**
|
||||
* The triggering principal for the src URL.
|
||||
*/
|
||||
nsCOMPtr<nsIPrincipal> mSrcTriggeringPrincipal;
|
||||
|
||||
/**
|
||||
* The creator parser of a non-defer, non-async parser-inserted script.
|
||||
*/
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue