Bug 1087442 - Attach LoadInfo inside each individual ProtocolHandler - netUtil changes (r=sicking,sworkman)

This commit is contained in:
Christoph Kerschbaumer 2014-12-11 20:45:16 -08:00
parent 05871a3a20
commit 5a98bf956c

View File

@ -188,24 +188,80 @@ NS_NewFileURI(nsIURI* *result,
}
/*
* How to create a new Channel using NS_NewChannel:
* 1) Please try to call NS_NewChannel providing a requesting *nsINode*
* 2) If no requesting nsINode is available,
* call NS_NewChannel providing a requesting *nsIPrincipal*.
* 3) Call NS_NewChannelInternal *only* if requesting Principal and
* the Node's Principal have to be different.
* >> Most likely this is not the case! <<
* Needs special approval!
*/
* How to create a new Channel, using NS_NewChannel,
* NS_NewChannelWithTriggeringPrincipal, NS_OpenURI,
* NS_NewInputStreamChannel, NS_NewChannelInternal
* and it's variations:
*
* @param aURI
* nsIURI from which to make a channel
* @param aLoadingNode
* The loadingDocument of the channel.
* The element or document where the result of this request will be
* used. This is the document/element that will get access to the
* result of this request. For example for an image load, it's the
* document in which the image will be loaded. And for a CSS
* stylesheet it's the document whose rendering will be affected by
* the stylesheet.
* If possible, pass in the element which is performing the load. But
* if the load is coming from a JS API (such as XMLHttpRequest) or if
* the load might be coalesced across multiple elements (such as
* for <img>) then pass in the Document node instead.
* For loads that are not related to any document, such as loads coming
* from addons or internal browser features, use null here.
* @param aLoadingPrincipal
* The loadingPrincipal of the channel.
* The principal of the document where the result of this request will be used.
* This is generally the principal of the aLoadingNode. However for
* loads where aLoadingNode is null this argument still needs to be
* passed. For example for loads from a WebWorker, pass the principal
* of that worker. For loads from an addon or from internal browser
* features, pass the system principal.
* This principal should almost always be the system principal if
* aLoadingNode is null. The only exception to this is for loads
* from WebWorkers since they don't have any nodes to be passed as
* aLoadingNode. Please note, aLoadingPrincipal is *not* the
* principal of the resource being loaded. But rather the principal
* of the context where the resource will be used.
* @param aTriggeringPrincipal
* The triggeringPrincipal of the load.
* The triggeringPrincipal is the principal of the resource that caused
* this particular URL to be loaded.
* Most likely the triggeringPrincipal and the loadingPrincipal are
* identical, in which case the triggeringPrincipal can be left out.
* In some cases the loadingPrincipal and the triggeringPrincipal are
* different however, e.g. a stylesheet may import a subresource. In
* that case the principal of the stylesheet which contains the
* import command is the triggeringPrincipal, and the principal of
* the document whose rendering is affected is the loadingPrincipal.
* @param aSecurityFlags
* The securityFlags of the channel.
* Any of the securityflags defined in nsILoadInfo.idl
* @param aContentPolicyType
* The contentPolicyType of the channel.
* Any of the content types defined in nsIContentPolicy.idl
*
* Please note, if you provide a loadingNode, then the loadingPrincipal
* must match the loadingNode->NodePrincipal(). Alternatively you can
* discard the loadingPrincipal if you provide a loadingNode.
*
* What specific API function to use:
* * If possible try to call NS_NewChannel() providing a loading *nsINode*
* * If no loading *nsINode* is avaialable, call NS_NewChannel() providing
* a loading *nsIPrincipal*.
* * Call NS_NewChannelWithTriggeringPrincipal() if the loading principal
* and the Node's principal have to be different (see above).
* * Call NS_NewChannelInternal() providing aLoadInfo object in cases where
* you already have loadInfo object, e.g in case of a channel redirect.
*/
inline nsresult
NS_NewChannelInternal(nsIChannel** outChannel,
nsIURI* aUri,
nsINode* aRequestingNode,
nsIPrincipal* aRequestingPrincipal,
nsINode* aLoadingNode,
nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsIURI* aBaseURI = nullptr,
nsILoadGroup* aLoadGroup = nullptr,
nsIInterfaceRequestor* aCallbacks = nullptr,
nsLoadFlags aLoadFlags = nsIRequest::LOAD_NORMAL,
@ -218,7 +274,15 @@ NS_NewChannelInternal(nsIChannel** outChannel,
NS_ENSURE_SUCCESS(rv, rv);
nsCOMPtr<nsIChannel> channel;
rv = aIoService->NewChannelFromURI(aUri, getter_AddRefs(channel));
rv = aIoService->NewChannelFromURI2(
aUri,
aLoadingNode ?
aLoadingNode->AsDOMNode() : nullptr,
aLoadingPrincipal,
aTriggeringPrincipal,
aSecurityFlags,
aContentPolicyType,
getter_AddRefs(channel));
NS_ENSURE_SUCCESS(rv, rv);
if (aLoadGroup) {
@ -252,9 +316,9 @@ NS_NewChannelInternal(nsIChannel** outChannel,
// create a new Loadinfo with the potentially updated securityFlags
loadInfo =
new mozilla::LoadInfo(aRequestingPrincipal, aTriggeringPrincipal,
aRequestingNode, aSecurityFlags,
aContentPolicyType, aBaseURI);
new mozilla::LoadInfo(aLoadingPrincipal, aTriggeringPrincipal,
aLoadingNode, aSecurityFlags,
aContentPolicyType);
if (!loadInfo) {
return NS_ERROR_UNEXPECTED;
}
@ -270,6 +334,7 @@ NS_NewChannelInternal(nsIChannel** outChannel,
return NS_OK;
}
// See NS_NewChannelInternal for usage and argument description
inline nsresult
NS_NewChannelInternal(nsIChannel** outChannel,
nsIURI* aUri,
@ -287,19 +352,22 @@ NS_NewChannelInternal(nsIChannel** outChannel,
aLoadInfo->TriggeringPrincipal(),
aLoadInfo->GetSecurityFlags(),
aLoadInfo->GetContentPolicyType(),
aLoadInfo->BaseURI(),
aLoadGroup,
aCallbacks,
aLoadFlags,
aIoService);
NS_ENSURE_SUCCESS(rv, rv);
// Please note that we still call SetLoadInfo on the channel because
// we want the same instance of the loadInfo to be set on the channel.
(*outChannel)->SetLoadInfo(aLoadInfo);
return NS_OK;
}
// See NS_NewChannelInternal for usage and argument description
inline nsresult /*NS_NewChannelWithNodeAndTriggeringPrincipal */
NS_NewChannelWithTriggeringPrincipal(nsIChannel** outChannel,
nsIURI* aUri,
nsINode* aRequestingNode,
nsINode* aLoadingNode,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
@ -308,26 +376,26 @@ NS_NewChannelWithTriggeringPrincipal(nsIChannel** outChannel,
nsLoadFlags aLoadFlags = nsIRequest::LOAD_NORMAL,
nsIIOService* aIoService = nullptr)
{
MOZ_ASSERT(aRequestingNode);
MOZ_ASSERT(aLoadingNode);
NS_ASSERTION(aTriggeringPrincipal, "Can not create channel without a triggering Principal!");
return NS_NewChannelInternal(outChannel,
aUri,
aRequestingNode,
aRequestingNode->NodePrincipal(),
aLoadingNode,
aLoadingNode->NodePrincipal(),
aTriggeringPrincipal,
aSecurityFlags,
aContentPolicyType,
nullptr, // aBaseURI
aLoadGroup,
aCallbacks,
aLoadFlags,
aIoService);
}
// See NS_NewChannelInternal for usage and argument description
inline nsresult /*NS_NewChannelWithPrincipalAndTriggeringPrincipal */
NS_NewChannelWithTriggeringPrincipal(nsIChannel** outChannel,
nsIURI* aUri,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
@ -336,25 +404,25 @@ NS_NewChannelWithTriggeringPrincipal(nsIChannel** outChannel,
nsLoadFlags aLoadFlags = nsIRequest::LOAD_NORMAL,
nsIIOService* aIoService = nullptr)
{
NS_ASSERTION(aRequestingPrincipal, "Can not create channel without a requesting Principal!");
NS_ASSERTION(aLoadingPrincipal, "Can not create channel without a loading Principal!");
return NS_NewChannelInternal(outChannel,
aUri,
nullptr, // aRequestingNode
aRequestingPrincipal,
nullptr, // aLoadingNode
aLoadingPrincipal,
aTriggeringPrincipal,
aSecurityFlags,
aContentPolicyType,
nullptr, // aBaseURI
aLoadGroup,
aCallbacks,
aLoadFlags,
aIoService);
}
// See NS_NewChannelInternal for usage and argument description
inline nsresult /* NS_NewChannelNode */
NS_NewChannel(nsIChannel** outChannel,
nsIURI* aUri,
nsINode* aRequestingNode,
nsINode* aLoadingNode,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsILoadGroup* aLoadGroup = nullptr,
@ -362,25 +430,25 @@ NS_NewChannel(nsIChannel** outChannel,
nsLoadFlags aLoadFlags = nsIRequest::LOAD_NORMAL,
nsIIOService* aIoService = nullptr)
{
NS_ASSERTION(aRequestingNode, "Can not create channel without a requesting Node!");
NS_ASSERTION(aLoadingNode, "Can not create channel without a loading Node!");
return NS_NewChannelInternal(outChannel,
aUri,
aRequestingNode,
aRequestingNode->NodePrincipal(),
aLoadingNode,
aLoadingNode->NodePrincipal(),
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType,
nullptr, // aBaseURI
aLoadGroup,
aCallbacks,
aLoadFlags,
aIoService);
}
// See NS_NewChannelInternal for usage and argument description
inline nsresult /* NS_NewChannelPrincipal */
NS_NewChannel(nsIChannel** outChannel,
nsIURI* aUri,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsILoadGroup* aLoadGroup = nullptr,
@ -390,12 +458,11 @@ NS_NewChannel(nsIChannel** outChannel,
{
return NS_NewChannelInternal(outChannel,
aUri,
nullptr, // aRequestingNode,
aRequestingPrincipal,
nullptr, // aLoadingNode,
aLoadingPrincipal,
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType,
nullptr, // aBaseURI
aLoadGroup,
aCallbacks,
aLoadFlags,
@ -409,8 +476,8 @@ NS_NewChannel(nsIChannel** outChannel,
inline nsresult
NS_OpenURIInternal(nsIInputStream** outStream,
nsIURI* aUri,
nsINode* aRequestingNode,
nsIPrincipal* aRequestingPrincipal,
nsINode* aLoadingNode,
nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
@ -420,17 +487,16 @@ NS_OpenURIInternal(nsIInputStream** outStream,
nsIIOService* aIoService = nullptr, // pass in nsIIOService to optimize callers
nsIChannel** outChannel = nullptr)
{
NS_ASSERTION(aRequestingPrincipal, "Can not create channel without a requesting Principal!");
NS_ASSERTION(aLoadingPrincipal, "Can not create channel without a loading Principal!");
nsCOMPtr<nsIChannel> channel;
nsresult rv = NS_NewChannelInternal(getter_AddRefs(channel),
aUri,
aRequestingNode,
aRequestingPrincipal,
aLoadingNode,
aLoadingPrincipal,
aTriggeringPrincipal,
aSecurityFlags,
aContentPolicyType,
nullptr, // aBaseURI
aLoadGroup,
aCallbacks,
aLoadFlags,
@ -451,7 +517,7 @@ NS_OpenURIInternal(nsIInputStream** outStream,
inline nsresult /* NS_OpenURIprincipal */
NS_OpenURI(nsIInputStream** outStream,
nsIURI* aUri,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsILoadGroup* aLoadGroup = nullptr,
@ -462,8 +528,8 @@ NS_OpenURI(nsIInputStream** outStream,
{
return NS_OpenURIInternal(outStream,
aUri,
nullptr, // aRequestingNode
aRequestingPrincipal,
nullptr, // aLoadingNode
aLoadingPrincipal,
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType,
@ -477,7 +543,7 @@ NS_OpenURI(nsIInputStream** outStream,
inline nsresult /* NS_OpenURIWithTriggeringPrincipalAndNode */
NS_OpenURIWithTriggeringPrincipal(nsIInputStream** outStream,
nsIURI* aUri,
nsINode* aRequestingNode,
nsINode* aLoadingNode,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
@ -487,12 +553,12 @@ NS_OpenURIWithTriggeringPrincipal(nsIInputStream** outStream,
nsIIOService* aIoService = nullptr,
nsIChannel** outChannel = nullptr)
{
MOZ_ASSERT(aRequestingNode);
MOZ_ASSERT(aLoadingNode);
NS_ASSERTION(aTriggeringPrincipal, "Can not open uri without a triggering Principal!");
return NS_OpenURIInternal(outStream,
aUri,
aRequestingNode,
aRequestingNode->NodePrincipal(),
aLoadingNode,
aLoadingNode->NodePrincipal(),
aTriggeringPrincipal,
aSecurityFlags,
aContentPolicyType,
@ -529,8 +595,8 @@ inline nsresult
NS_OpenURIInternal(nsIStreamListener* aListener,
nsISupports* aContext,
nsIURI* aUri,
nsINode* aRequestingNode,
nsIPrincipal* aRequestingPrincipal,
nsINode* aLoadingNode,
nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
@ -539,12 +605,12 @@ NS_OpenURIInternal(nsIStreamListener* aListener,
nsLoadFlags aLoadFlags = nsIRequest::LOAD_NORMAL,
nsIIOService* aIoService = nullptr)
{
NS_ASSERTION(aRequestingPrincipal, "Can not create channel without a requesting Principal!");
NS_ASSERTION(aLoadingPrincipal, "Can not create channel without a loading Principal!");
nsCOMPtr<nsILoadInfo> loadInfo =
new mozilla::LoadInfo(aRequestingPrincipal,
new mozilla::LoadInfo(aLoadingPrincipal,
aTriggeringPrincipal,
aRequestingNode,
aLoadingNode,
aSecurityFlags,
aContentPolicyType);
if (!loadInfo) {
@ -564,7 +630,7 @@ inline nsresult
NS_OpenURI(nsIStreamListener* aListener,
nsISupports* aContext,
nsIURI* aUri,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsILoadGroup* aLoadGroup = nullptr,
@ -575,8 +641,8 @@ NS_OpenURI(nsIStreamListener* aListener,
return NS_OpenURIInternal(aListener,
aContext,
aUri,
nullptr, // aRequestingNode
aRequestingPrincipal,
nullptr, // aLoadingNode
aLoadingPrincipal,
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType,
@ -710,19 +776,15 @@ NS_GetRealPort(nsIURI* aURI)
return NS_GetDefaultPort(scheme.get());
}
inline nsresult
inline nsresult /* NS_NewInputStreamChannelWithLoadInfo */
NS_NewInputStreamChannelInternal(nsIChannel** outChannel,
nsIURI* aUri,
nsIInputStream* aStream,
const nsACString& aContentType,
const nsACString& aContentCharset,
nsINode* aRequestingNode,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsIURI* aBaseURI = nullptr)
nsILoadInfo* aLoadInfo)
{
MOZ_ASSERT(aLoadInfo, "can not create channel without a loadinfo");
nsresult rv;
nsCOMPtr<nsIInputStreamChannel> isc =
do_CreateInstance(NS_INPUTSTREAMCHANNEL_CONTRACTID, &rv);
@ -745,21 +807,11 @@ NS_NewInputStreamChannelInternal(nsIChannel** outChannel,
NS_ENSURE_SUCCESS(rv, rv);
}
nsCOMPtr<nsILoadInfo> loadInfo =
new mozilla::LoadInfo(aRequestingPrincipal,
aTriggeringPrincipal,
aRequestingNode,
aSecurityFlags,
aContentPolicyType,
aBaseURI);
if (!loadInfo) {
return NS_ERROR_UNEXPECTED;
}
channel->SetLoadInfo(loadInfo);
channel->SetLoadInfo(aLoadInfo);
// If we're sandboxed, make sure to clear any owner the channel
// might already have.
if (loadInfo->GetLoadingSandboxed()) {
if (aLoadInfo->GetLoadingSandboxed()) {
channel->SetOwner(nullptr);
}
@ -767,11 +819,42 @@ NS_NewInputStreamChannelInternal(nsIChannel** outChannel,
return NS_OK;
}
inline nsresult
NS_NewInputStreamChannelInternal(nsIChannel** outChannel,
nsIURI* aUri,
nsIInputStream* aStream,
const nsACString& aContentType,
const nsACString& aContentCharset,
nsINode* aLoadingNode,
nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsIURI* aBaseURI = nullptr)
{
nsCOMPtr<nsILoadInfo> loadInfo =
new mozilla::LoadInfo(aLoadingPrincipal,
aTriggeringPrincipal,
aLoadingNode,
aSecurityFlags,
aContentPolicyType,
aBaseURI);
if (!loadInfo) {
return NS_ERROR_UNEXPECTED;
}
return NS_NewInputStreamChannelInternal(outChannel,
aUri,
aStream,
aContentType,
aContentCharset,
loadInfo);
}
inline nsresult /* NS_NewInputStreamChannelPrincipal */
NS_NewInputStreamChannel(nsIChannel** outChannel,
nsIURI* aUri,
nsIInputStream* aStream,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
const nsACString& aContentType = EmptyCString(),
@ -782,8 +865,8 @@ NS_NewInputStreamChannel(nsIChannel** outChannel,
aStream,
aContentType,
aContentCharset,
nullptr, // aRequestingNode
aRequestingPrincipal,
nullptr, // aLoadingNode
aLoadingPrincipal,
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType);
@ -794,8 +877,8 @@ NS_NewInputStreamChannelInternal(nsIChannel** outChannel,
nsIURI* aUri,
const nsAString& aData,
const nsACString& aContentType,
nsINode* aRequestingNode,
nsIPrincipal* aRequestingPrincipal,
nsINode* aLoadingNode,
nsIPrincipal* aLoadingPrincipal,
nsIPrincipal* aTriggeringPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
@ -822,8 +905,8 @@ NS_NewInputStreamChannelInternal(nsIChannel** outChannel,
stream,
aContentType,
NS_LITERAL_CSTRING("UTF-8"),
aRequestingNode,
aRequestingPrincipal,
aLoadingNode,
aLoadingPrincipal,
aTriggeringPrincipal,
aSecurityFlags,
aContentPolicyType,
@ -845,7 +928,7 @@ NS_NewInputStreamChannel(nsIChannel** outChannel,
nsIURI* aUri,
const nsAString& aData,
const nsACString& aContentType,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
bool aIsSrcdocChannel = false,
@ -855,8 +938,8 @@ NS_NewInputStreamChannel(nsIChannel** outChannel,
aUri,
aData,
aContentType,
nullptr, // aRequestingNode
aRequestingPrincipal,
nullptr, // aLoadingNode
aLoadingPrincipal,
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType,
@ -969,8 +1052,8 @@ inline nsresult
NS_NewStreamLoaderInternal(nsIStreamLoader** outStream,
nsIURI* aUri,
nsIStreamLoaderObserver* aObserver,
nsINode* aRequestingNode,
nsIPrincipal* aRequestingPrincipal,
nsINode* aLoadingNode,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsISupports* aContext = nullptr,
@ -982,12 +1065,11 @@ NS_NewStreamLoaderInternal(nsIStreamLoader** outStream,
nsCOMPtr<nsIChannel> channel;
nsresult rv = NS_NewChannelInternal(getter_AddRefs(channel),
aUri,
aRequestingNode,
aRequestingPrincipal,
aLoadingNode,
aLoadingPrincipal,
nullptr, // aTriggeringPrincipal
aSecurityFlags,
aContentPolicyType,
nullptr, // aBaseURI
aLoadGroup,
aCallbacks,
aLoadFlags);
@ -1007,7 +1089,7 @@ inline nsresult /* NS_NewStreamLoaderNode */
NS_NewStreamLoader(nsIStreamLoader** outStream,
nsIURI* aUri,
nsIStreamLoaderObserver* aObserver,
nsINode* aRequestingNode,
nsINode* aLoadingNode,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsISupports* aContext = nullptr,
@ -1016,12 +1098,12 @@ NS_NewStreamLoader(nsIStreamLoader** outStream,
nsLoadFlags aLoadFlags = nsIRequest::LOAD_NORMAL,
nsIURI* aReferrer = nullptr)
{
NS_ASSERTION(aRequestingNode, "Can not create stream loader without a requesting Node!");
NS_ASSERTION(aLoadingNode, "Can not create stream loader without a loading Node!");
return NS_NewStreamLoaderInternal(outStream,
aUri,
aObserver,
aRequestingNode,
aRequestingNode->NodePrincipal(),
aLoadingNode,
aLoadingNode->NodePrincipal(),
aSecurityFlags,
aContentPolicyType,
aContext,
@ -1035,7 +1117,7 @@ inline nsresult /* NS_NewStreamLoaderPrincipal */
NS_NewStreamLoader(nsIStreamLoader** outStream,
nsIURI* aUri,
nsIStreamLoaderObserver* aObserver,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsSecurityFlags aSecurityFlags,
nsContentPolicyType aContentPolicyType,
nsISupports* aContext = nullptr,
@ -1047,8 +1129,8 @@ NS_NewStreamLoader(nsIStreamLoader** outStream,
return NS_NewStreamLoaderInternal(outStream,
aUri,
aObserver,
nullptr, // aRequestingNode
aRequestingPrincipal,
nullptr, // aLoadingNode
aLoadingPrincipal,
aSecurityFlags,
aContentPolicyType,
aContext,
@ -1664,14 +1746,14 @@ NS_ReadInputStreamToString(nsIInputStream *aInputStream,
inline nsresult
NS_LoadPersistentPropertiesFromURI(nsIPersistentProperties** outResult,
nsIURI* aUri,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsContentPolicyType aContentPolicyType,
nsIIOService* aIoService = nullptr)
{
nsCOMPtr<nsIInputStream> in;
nsresult rv = NS_OpenURI(getter_AddRefs(in),
aUri,
aRequestingPrincipal,
aLoadingPrincipal,
nsILoadInfo::SEC_NORMAL,
aContentPolicyType,
nullptr, // aLoadGroup
@ -1694,7 +1776,7 @@ NS_LoadPersistentPropertiesFromURI(nsIPersistentProperties** outResult,
inline nsresult
NS_LoadPersistentPropertiesFromURISpec(nsIPersistentProperties** outResult,
const nsACString& aSpec,
nsIPrincipal* aRequestingPrincipal,
nsIPrincipal* aLoadingPrincipal,
nsContentPolicyType aContentPolicyType,
const char* aCharset = nullptr,
nsIURI* aBaseURI = nullptr,
@ -1710,7 +1792,7 @@ NS_LoadPersistentPropertiesFromURISpec(nsIPersistentProperties** outResult,
return NS_LoadPersistentPropertiesFromURI(outResult,
uri,
aRequestingPrincipal,
aLoadingPrincipal,
aContentPolicyType,
aIoService);
}