mirror of
https://repo.dactyloidae.xyz/Dactyloidae/UXP.git
synced 2026-09-07 16:28: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
|
|
@ -1366,7 +1366,8 @@ FontFaceSet::IsFontLoadAllowed(nsIURI* aFontLocation, nsIPrincipal* aPrincipal)
|
|||
int16_t shouldLoad = nsIContentPolicy::ACCEPT;
|
||||
nsresult rv = NS_CheckContentLoadPolicy(nsIContentPolicy::TYPE_FONT,
|
||||
aFontLocation,
|
||||
aPrincipal,
|
||||
aPrincipal, // loading principal
|
||||
aPrincipal, // triggering principal
|
||||
mDocument,
|
||||
EmptyCString(), // mime type
|
||||
nullptr, // aExtra
|
||||
|
|
|
|||
|
|
@ -1028,14 +1028,15 @@ Loader::ObsoleteSheet(nsIURI* aURI)
|
|||
}
|
||||
|
||||
nsresult
|
||||
Loader::CheckContentPolicy(nsIPrincipal* aSourcePrincipal,
|
||||
nsIURI* aTargetURI,
|
||||
nsISupports* aContext,
|
||||
bool aIsPreload)
|
||||
Loader::CheckContentPolicy(nsIPrincipal* aLoadingPrincipal,
|
||||
nsIPrincipal* aTriggeringPrincipal,
|
||||
nsIURI* aTargetURI,
|
||||
nsISupports* aContext,
|
||||
bool aIsPreload)
|
||||
{
|
||||
// When performing a system load (e.g. aUseSystemPrincipal = true)
|
||||
// then aSourcePrincipal == null; don't consult content policies.
|
||||
if (!aSourcePrincipal) {
|
||||
// then aLoadingPrincipal == null; don't consult content policies.
|
||||
if (!aLoadingPrincipal) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
|
|
@ -1046,7 +1047,8 @@ Loader::CheckContentPolicy(nsIPrincipal* aSourcePrincipal,
|
|||
int16_t shouldLoad = nsIContentPolicy::ACCEPT;
|
||||
nsresult rv = NS_CheckContentLoadPolicy(contentPolicyType,
|
||||
aTargetURI,
|
||||
aSourcePrincipal,
|
||||
aLoadingPrincipal,
|
||||
aTriggeringPrincipal,
|
||||
aContext,
|
||||
NS_LITERAL_CSTRING("text/css"),
|
||||
nullptr, //extra param
|
||||
|
|
@ -2013,6 +2015,7 @@ Loader::LoadInlineStyle(nsIContent* aElement,
|
|||
nsresult
|
||||
Loader::LoadStyleLink(nsIContent* aElement,
|
||||
nsIURI* aURL,
|
||||
nsIPrincipal* aTriggeringPrincipal,
|
||||
const nsAString& aTitle,
|
||||
const nsAString& aMedia,
|
||||
bool aHasAlternateRel,
|
||||
|
|
@ -2039,15 +2042,18 @@ Loader::LoadStyleLink(nsIContent* aElement,
|
|||
|
||||
NS_ENSURE_TRUE(mDocument, NS_ERROR_NOT_INITIALIZED);
|
||||
|
||||
nsIPrincipal* principal =
|
||||
aElement ? aElement->NodePrincipal() : mDocument->NodePrincipal();
|
||||
nsIPrincipal* loadingPrincipal = aElement ? aElement->NodePrincipal()
|
||||
: mDocument->NodePrincipal();
|
||||
|
||||
nsIPrincipal* principal = aTriggeringPrincipal ? aTriggeringPrincipal
|
||||
: loadingPrincipal;
|
||||
|
||||
nsISupports* context = aElement;
|
||||
if (!context) {
|
||||
context = mDocument;
|
||||
}
|
||||
|
||||
nsresult rv = CheckContentPolicy(principal, aURL, context, false);
|
||||
nsresult rv = CheckContentPolicy(loadingPrincipal, principal, aURL, context, false);
|
||||
if (NS_WARN_IF(NS_FAILED(rv))) {
|
||||
// Don't fire the error event if our document is loaded as data. We're
|
||||
// supposed to not even try to do loads in that case... Unfortunately, we
|
||||
|
|
@ -2188,13 +2194,18 @@ Loader::LoadChildSheet(StyleSheet* aParentSheet,
|
|||
owningNode = topSheet->GetOwnerNode();
|
||||
}
|
||||
|
||||
nsISupports* context = owningNode;
|
||||
if (!context) {
|
||||
nsISupports* context = nullptr;
|
||||
nsIPrincipal* loadingPrincipal = nullptr;
|
||||
if (owningNode) {
|
||||
context = owningNode;
|
||||
loadingPrincipal = owningNode->NodePrincipal();
|
||||
} else if (mDocument) {
|
||||
context = mDocument;
|
||||
loadingPrincipal = mDocument->NodePrincipal();
|
||||
}
|
||||
|
||||
nsIPrincipal* principal = aParentSheet->Principal();
|
||||
nsresult rv = CheckContentPolicy(principal, aURL, context, false);
|
||||
nsresult rv = CheckContentPolicy(loadingPrincipal, principal, aURL, context, false);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
SheetLoadData* parentData = nullptr;
|
||||
|
|
@ -2351,7 +2362,11 @@ Loader::InternalLoadNonDocumentSheet(nsIURI* aURL,
|
|||
return NS_ERROR_NOT_AVAILABLE;
|
||||
}
|
||||
|
||||
nsresult rv = CheckContentPolicy(aOriginPrincipal, aURL, mDocument, aIsPreload);
|
||||
nsCOMPtr<nsIPrincipal> loadingPrincipal = (aOriginPrincipal && mDocument
|
||||
? mDocument->NodePrincipal()
|
||||
: nullptr);
|
||||
nsresult rv = CheckContentPolicy(loadingPrincipal, aOriginPrincipal,
|
||||
aURL, mDocument, aIsPreload);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
|
||||
StyleSheetState state;
|
||||
|
|
|
|||
|
|
@ -254,6 +254,9 @@ public:
|
|||
*
|
||||
* @param aElement the element linking to the the stylesheet. May be null.
|
||||
* @param aURL the URL of the sheet.
|
||||
* @param aTriggeringPrincipal the triggering principal for the load. May be
|
||||
* null, in which case the NodePrincipal() of the element (or
|
||||
* document if aElement is null) should be used.
|
||||
* @param aTitle the title of the sheet.
|
||||
* @param aMedia the media string for the sheet.
|
||||
* @param aHasAlternateRel whether the rel for this link included
|
||||
|
|
@ -269,6 +272,7 @@ public:
|
|||
*/
|
||||
nsresult LoadStyleLink(nsIContent* aElement,
|
||||
nsIURI* aURL,
|
||||
nsIPrincipal* aTriggeringPrincipal,
|
||||
const nsAString& aTitle,
|
||||
const nsAString& aMedia,
|
||||
bool aHasAlternateRel,
|
||||
|
|
@ -452,7 +456,8 @@ public:
|
|||
private:
|
||||
friend class SheetLoadData;
|
||||
|
||||
nsresult CheckContentPolicy(nsIPrincipal* aSourcePrincipal,
|
||||
nsresult CheckContentPolicy(nsIPrincipal* aLoadingPrincipal,
|
||||
nsIPrincipal* aTriggeringPrincipal,
|
||||
nsIURI* aTargetURI,
|
||||
nsISupports* aContext,
|
||||
bool aIsPreload);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue