Bug 1472087 - Convert nsDocShellLoadInfo to WebIDL style; r=nika

While nsDocShellLoadInfo isn't represented by WebIDL (because we don't
need it in JS currently), make the getter/setter interface look
similar, just to keep consistent code style.

MozReview-Commit-ID: 3UfLR6jWVGK
This commit is contained in:
Kyle Machulis 2018-07-03 11:21:26 -07:00
Родитель 20ef963279
Коммит 7bbabca468
5 изменённых файлов: 204 добавлений и 320 удалений

Просмотреть файл

@ -705,30 +705,29 @@ nsDocShell::LoadURI(nsIURI* aURI,
// Extract the info from the DocShellLoadInfo struct...
if (aLoadInfo) {
aLoadInfo->GetReferrer(getter_AddRefs(referrer));
aLoadInfo->GetOriginalURI(getter_AddRefs(originalURI));
GetMaybeResultPrincipalURI(aLoadInfo, resultPrincipalURI);
aLoadInfo->GetLoadReplace(&loadReplace);
nsDocShellLoadInfo::nsDocShellInfoLoadType lt = nsDocShellLoadInfo::loadNormal;
aLoadInfo->GetLoadType(&lt);
referrer = aLoadInfo->Referrer();
originalURI = aLoadInfo->OriginalURI();
aLoadInfo->GetMaybeResultPrincipalURI(resultPrincipalURI);
loadReplace = aLoadInfo->LoadReplace();
nsDocShellLoadInfo::nsDocShellInfoLoadType lt = aLoadInfo->LoadType();
// Get the appropriate loadType from nsIDocShellLoadInfo type
loadType = ConvertDocShellInfoLoadTypeToLoadType(lt);
aLoadInfo->GetTriggeringPrincipal(getter_AddRefs(triggeringPrincipal));
aLoadInfo->GetInheritPrincipal(&inheritPrincipal);
aLoadInfo->GetPrincipalIsExplicit(&principalIsExplicit);
aLoadInfo->GetSHEntry(getter_AddRefs(shEntry));
aLoadInfo->GetTarget(getter_Copies(target));
aLoadInfo->GetPostDataStream(getter_AddRefs(postStream));
aLoadInfo->GetHeadersStream(getter_AddRefs(headersStream));
aLoadInfo->GetSendReferrer(&sendReferrer);
aLoadInfo->GetReferrerPolicy(&referrerPolicy);
aLoadInfo->GetIsSrcdocLoad(&isSrcdoc);
triggeringPrincipal = aLoadInfo->TriggeringPrincipal();
inheritPrincipal = aLoadInfo->InheritPrincipal();
principalIsExplicit = aLoadInfo->PrincipalIsExplicit();
shEntry = aLoadInfo->SHEntry();
aLoadInfo->GetTarget(target);
postStream = aLoadInfo->PostDataStream();
headersStream = aLoadInfo->HeadersStream();
sendReferrer = aLoadInfo->SendReferrer();
referrerPolicy = aLoadInfo->ReferrerPolicy();
isSrcdoc = aLoadInfo->IsSrcdocLoad();
aLoadInfo->GetSrcdocData(srcdoc);
aLoadInfo->GetSourceDocShell(getter_AddRefs(sourceDocShell));
aLoadInfo->GetBaseURI(getter_AddRefs(baseURI));
aLoadInfo->GetForceAllowDataURI(&forceAllowDataURI);
aLoadInfo->GetOriginalFrameSrc(&originalFrameSrc);
sourceDocShell = aLoadInfo->SourceDocShell();
baseURI = aLoadInfo->BaseURI();
forceAllowDataURI = aLoadInfo->ForceAllowDataURI();
originalFrameSrc = aLoadInfo->OriginalFrameSrc();
}
MOZ_LOG(gDocShellLeakLog, LogLevel::Debug,
@ -9418,7 +9417,7 @@ nsDocShell::InternalLoad(nsIURI* aURI,
loadInfo->SetSendReferrer(!(aFlags &
INTERNAL_LOAD_FLAGS_DONT_SEND_REFERRER));
loadInfo->SetOriginalURI(aOriginalURI);
SetMaybeResultPrincipalURI(loadInfo, aResultPrincipalURI);
loadInfo->SetMaybeResultPrincipalURI(aResultPrincipalURI);
loadInfo->SetLoadReplace(aLoadReplace);
loadInfo->SetTriggeringPrincipal(aTriggeringPrincipal);
loadInfo->SetInheritPrincipal(

Просмотреть файл

@ -15,51 +15,6 @@
namespace mozilla {
void
GetMaybeResultPrincipalURI(nsDocShellLoadInfo* aLoadInfo, Maybe<nsCOMPtr<nsIURI>>& aRPURI)
{
if (!aLoadInfo) {
return;
}
nsresult rv;
bool isSome;
rv = aLoadInfo->GetResultPrincipalURIIsSome(&isSome);
if (NS_WARN_IF(NS_FAILED(rv))) {
return;
}
aRPURI.reset();
if (!isSome) {
return;
}
nsCOMPtr<nsIURI> uri;
rv = aLoadInfo->GetResultPrincipalURI(getter_AddRefs(uri));
if (NS_WARN_IF(NS_FAILED(rv))) {
return;
}
aRPURI.emplace(std::move(uri));
}
void
SetMaybeResultPrincipalURI(nsDocShellLoadInfo* aLoadInfo, Maybe<nsCOMPtr<nsIURI>> const& aRPURI)
{
if (!aLoadInfo) {
return;
}
nsresult rv;
rv = aLoadInfo->SetResultPrincipalURI(aRPURI.refOr(nullptr));
Unused << NS_WARN_IF(NS_FAILED(rv));
rv = aLoadInfo->SetResultPrincipalURIIsSome(aRPURI.isSome());
Unused << NS_WARN_IF(NS_FAILED(rv));
}
} // mozilla
@ -81,323 +36,270 @@ nsDocShellLoadInfo::~nsDocShellLoadInfo()
{
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetReferrer(nsIURI** aReferrer)
nsIURI*
nsDocShellLoadInfo::Referrer() const
{
NS_ENSURE_ARG_POINTER(aReferrer);
*aReferrer = mReferrer;
NS_IF_ADDREF(*aReferrer);
return NS_OK;
return mReferrer;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetReferrer(nsIURI* aReferrer)
{
mReferrer = aReferrer;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetOriginalURI(nsIURI** aOriginalURI)
nsIURI*
nsDocShellLoadInfo::OriginalURI() const
{
NS_ENSURE_ARG_POINTER(aOriginalURI);
*aOriginalURI = mOriginalURI;
NS_IF_ADDREF(*aOriginalURI);
return NS_OK;
return mOriginalURI;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetOriginalURI(nsIURI* aOriginalURI)
{
mOriginalURI = aOriginalURI;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetResultPrincipalURI(nsIURI** aResultPrincipalURI)
nsIURI*
nsDocShellLoadInfo::ResultPrincipalURI() const
{
NS_ENSURE_ARG_POINTER(aResultPrincipalURI);
*aResultPrincipalURI = mResultPrincipalURI;
NS_IF_ADDREF(*aResultPrincipalURI);
return NS_OK;
return mResultPrincipalURI;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetResultPrincipalURI(nsIURI* aResultPrincipalURI)
{
mResultPrincipalURI = aResultPrincipalURI;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetResultPrincipalURIIsSome(bool* aIsSome)
bool
nsDocShellLoadInfo::ResultPrincipalURIIsSome() const
{
*aIsSome = mResultPrincipalURIIsSome;
return NS_OK;
return mResultPrincipalURIIsSome;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetResultPrincipalURIIsSome(bool aIsSome)
{
mResultPrincipalURIIsSome = aIsSome;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetLoadReplace(bool* aLoadReplace)
bool
nsDocShellLoadInfo::LoadReplace() const
{
*aLoadReplace = mLoadReplace;
return NS_OK;
return mLoadReplace;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetLoadReplace(bool aLoadReplace)
{
mLoadReplace = aLoadReplace;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetTriggeringPrincipal(nsIPrincipal** aTriggeringPrincipal)
nsIPrincipal*
nsDocShellLoadInfo::TriggeringPrincipal() const
{
NS_ENSURE_ARG_POINTER(aTriggeringPrincipal);
NS_IF_ADDREF(*aTriggeringPrincipal = mTriggeringPrincipal);
return NS_OK;
return mTriggeringPrincipal;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetTriggeringPrincipal(nsIPrincipal* aTriggeringPrincipal)
{
mTriggeringPrincipal = aTriggeringPrincipal;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetInheritPrincipal(bool* aInheritPrincipal)
bool
nsDocShellLoadInfo::InheritPrincipal() const
{
NS_ENSURE_ARG_POINTER(aInheritPrincipal);
*aInheritPrincipal = mInheritPrincipal;
return NS_OK;
return mInheritPrincipal;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetInheritPrincipal(bool aInheritPrincipal)
{
mInheritPrincipal = aInheritPrincipal;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetPrincipalIsExplicit(bool* aPrincipalIsExplicit)
bool
nsDocShellLoadInfo::PrincipalIsExplicit() const
{
*aPrincipalIsExplicit = mPrincipalIsExplicit;
return NS_OK;
return mPrincipalIsExplicit;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetPrincipalIsExplicit(bool aPrincipalIsExplicit)
{
mPrincipalIsExplicit = aPrincipalIsExplicit;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetForceAllowDataURI(bool* aForceAllowDataURI)
bool
nsDocShellLoadInfo::ForceAllowDataURI() const
{
*aForceAllowDataURI = mForceAllowDataURI;
return NS_OK;
return mForceAllowDataURI;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetForceAllowDataURI(bool aForceAllowDataURI)
{
mForceAllowDataURI = aForceAllowDataURI;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetOriginalFrameSrc(bool* aOriginalFrameSrc)
bool
nsDocShellLoadInfo::OriginalFrameSrc() const
{
*aOriginalFrameSrc = mOriginalFrameSrc;
return NS_OK;
return mOriginalFrameSrc;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetOriginalFrameSrc(bool aOriginalFrameSrc)
{
mOriginalFrameSrc = aOriginalFrameSrc;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetLoadType(nsDocShellInfoLoadType* aLoadType)
nsDocShellLoadInfo::nsDocShellInfoLoadType
nsDocShellLoadInfo::LoadType() const
{
NS_ENSURE_ARG_POINTER(aLoadType);
*aLoadType = mLoadType;
return NS_OK;
return mLoadType;
}
NS_IMETHODIMP
nsDocShellLoadInfo::SetLoadType(nsDocShellInfoLoadType aLoadType)
void
nsDocShellLoadInfo::SetLoadType(nsDocShellLoadInfo::nsDocShellInfoLoadType aLoadType)
{
mLoadType = aLoadType;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetSHEntry(nsISHEntry** aSHEntry)
nsISHEntry*
nsDocShellLoadInfo::SHEntry() const
{
NS_ENSURE_ARG_POINTER(aSHEntry);
*aSHEntry = mSHEntry;
NS_IF_ADDREF(*aSHEntry);
return NS_OK;
return mSHEntry;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetSHEntry(nsISHEntry* aSHEntry)
{
mSHEntry = aSHEntry;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetTarget(char16_t** aTarget)
void
nsDocShellLoadInfo::GetTarget(nsAString& aTarget) const
{
NS_ENSURE_ARG_POINTER(aTarget);
*aTarget = ToNewUnicode(mTarget);
return NS_OK;
aTarget = mTarget;
}
NS_IMETHODIMP
nsDocShellLoadInfo::SetTarget(const char16_t* aTarget)
void
nsDocShellLoadInfo::SetTarget(const nsAString& aTarget)
{
mTarget.Assign(aTarget);
return NS_OK;
mTarget = aTarget;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetPostDataStream(nsIInputStream** aResult)
nsIInputStream*
nsDocShellLoadInfo::PostDataStream() const
{
NS_ENSURE_ARG_POINTER(aResult);
*aResult = mPostDataStream;
NS_IF_ADDREF(*aResult);
return NS_OK;
return mPostDataStream;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetPostDataStream(nsIInputStream* aStream)
{
mPostDataStream = aStream;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetHeadersStream(nsIInputStream** aHeadersStream)
nsIInputStream*
nsDocShellLoadInfo::HeadersStream() const
{
NS_ENSURE_ARG_POINTER(aHeadersStream);
*aHeadersStream = mHeadersStream;
NS_IF_ADDREF(*aHeadersStream);
return NS_OK;
return mHeadersStream;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetHeadersStream(nsIInputStream* aHeadersStream)
{
mHeadersStream = aHeadersStream;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetSendReferrer(bool* aSendReferrer)
bool
nsDocShellLoadInfo::SendReferrer() const
{
NS_ENSURE_ARG_POINTER(aSendReferrer);
*aSendReferrer = mSendReferrer;
return NS_OK;
return mSendReferrer;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetSendReferrer(bool aSendReferrer)
{
mSendReferrer = aSendReferrer;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetReferrerPolicy(
nsDocShellInfoReferrerPolicy* aReferrerPolicy)
uint32_t
nsDocShellLoadInfo::ReferrerPolicy() const
{
*aReferrerPolicy = mReferrerPolicy;
return NS_OK;
return mReferrerPolicy;
}
NS_IMETHODIMP
nsDocShellLoadInfo::SetReferrerPolicy(
nsDocShellInfoReferrerPolicy aReferrerPolicy)
void
nsDocShellLoadInfo::SetReferrerPolicy(mozilla::net::ReferrerPolicy aReferrerPolicy)
{
mReferrerPolicy = aReferrerPolicy;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetIsSrcdocLoad(bool* aIsSrcdocLoad)
bool
nsDocShellLoadInfo::IsSrcdocLoad() const
{
*aIsSrcdocLoad = mIsSrcdocLoad;
return NS_OK;
return mIsSrcdocLoad;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetSrcdocData(nsAString& aSrcdocData)
void
nsDocShellLoadInfo::GetSrcdocData(nsAString& aSrcdocData) const
{
aSrcdocData = mSrcdocData;
return NS_OK;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetSrcdocData(const nsAString& aSrcdocData)
{
mSrcdocData = aSrcdocData;
mIsSrcdocLoad = true;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetSourceDocShell(nsIDocShell** aSourceDocShell)
nsIDocShell*
nsDocShellLoadInfo::SourceDocShell() const
{
MOZ_ASSERT(aSourceDocShell);
nsCOMPtr<nsIDocShell> result = mSourceDocShell;
result.forget(aSourceDocShell);
return NS_OK;
return mSourceDocShell;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetSourceDocShell(nsIDocShell* aSourceDocShell)
{
mSourceDocShell = aSourceDocShell;
return NS_OK;
}
NS_IMETHODIMP
nsDocShellLoadInfo::GetBaseURI(nsIURI** aBaseURI)
nsIURI*
nsDocShellLoadInfo::BaseURI() const
{
NS_ENSURE_ARG_POINTER(aBaseURI);
*aBaseURI = mBaseURI;
NS_IF_ADDREF(*aBaseURI);
return NS_OK;
return mBaseURI;
}
NS_IMETHODIMP
void
nsDocShellLoadInfo::SetBaseURI(nsIURI* aBaseURI)
{
mBaseURI = aBaseURI;
return NS_OK;
}
void
nsDocShellLoadInfo::GetMaybeResultPrincipalURI(mozilla::Maybe<nsCOMPtr<nsIURI>>& aRPURI) const
{
bool isSome = ResultPrincipalURIIsSome();
aRPURI.reset();
if (!isSome) {
return;
}
nsCOMPtr<nsIURI> uri = ResultPrincipalURI();
aRPURI.emplace(std::move(uri));
}
void
nsDocShellLoadInfo::SetMaybeResultPrincipalURI(mozilla::Maybe<nsCOMPtr<nsIURI>> const& aRPURI)
{
SetResultPrincipalURI(aRPURI.refOr(nullptr));
SetResultPrincipalURIIsSome(aRPURI.isSome());
}

Просмотреть файл

@ -20,131 +20,124 @@ class nsDocShellLoadInfo
{
public:
typedef uint32_t nsDocShellInfoLoadType;
typedef uint32_t nsDocShellInfoReferrerPolicy;
/* these are load type enums... */
const static uint32_t loadNormal = 0; // Normal Load
const static uint32_t loadNormalReplace = 1; // Normal Load but replaces current history slot
const static uint32_t loadHistory = 2; // Load from history
const static uint32_t loadReloadNormal = 3; // Reload
const static uint32_t loadReloadBypassCache = 4;
const static uint32_t loadReloadBypassProxy = 5;
const static uint32_t loadReloadBypassProxyAndCache = 6;
const static uint32_t loadLink = 7;
const static uint32_t loadRefresh = 8;
const static uint32_t loadReloadCharsetChange = 9;
const static uint32_t loadBypassHistory = 10;
const static uint32_t loadStopContent = 11;
const static uint32_t loadStopContentAndReplace = 12;
const static uint32_t loadNormalExternal = 13;
const static uint32_t loadNormalBypassCache = 14;
const static uint32_t loadNormalBypassProxy = 15;
const static uint32_t loadNormalBypassProxyAndCache = 16;
const static uint32_t loadPushState = 17; // history.pushState or replaceState
const static uint32_t loadReplaceBypassCache = 18;
const static uint32_t loadReloadMixedContent = 19;
const static uint32_t loadNormalAllowMixedContent = 20;
const static uint32_t loadReloadCharsetChangeBypassCache = 21;
const static uint32_t loadReloadCharsetChangeBypassProxyAndCache = 22;
enum LoadType: uint32_t {
loadNormal = 0, // Normal Load
loadNormalReplace = 1, // Normal Load but replaces current history slot
loadHistory = 2, // Load from history
loadReloadNormal = 3, // Reload
loadReloadBypassCache = 4,
loadReloadBypassProxy = 5,
loadReloadBypassProxyAndCache = 6,
loadLink = 7,
loadRefresh = 8,
loadReloadCharsetChange = 9,
loadBypassHistory = 10,
loadStopContent = 11,
loadStopContentAndReplace = 12,
loadNormalExternal = 13,
loadNormalBypassCache = 14,
loadNormalBypassProxy = 15,
loadNormalBypassProxyAndCache = 16,
loadPushState = 17, // history.pushState or replaceState
loadReplaceBypassCache = 18,
loadReloadMixedContent = 19,
loadNormalAllowMixedContent = 20,
loadReloadCharsetChangeBypassCache = 21,
loadReloadCharsetChangeBypassProxyAndCache = 22
};
NS_INLINE_DECL_REFCOUNTING(nsDocShellLoadInfo);
nsDocShellLoadInfo();
NS_IMETHOD GetReferrer(nsIURI** aReferrer);
nsIURI* Referrer() const;
NS_IMETHOD SetReferrer(nsIURI* aReferrer);
void SetReferrer(nsIURI* aReferrer);
NS_IMETHOD GetOriginalURI(nsIURI** aOriginalURI);
nsIURI* OriginalURI() const;
NS_IMETHOD SetOriginalURI(nsIURI* aOriginalURI);
void SetOriginalURI(nsIURI* aOriginalURI);
NS_IMETHOD GetResultPrincipalURI(nsIURI** aResultPrincipalURI);
nsIURI* ResultPrincipalURI() const;
NS_IMETHOD
SetResultPrincipalURI(nsIURI* aResultPrincipalURI);
void SetResultPrincipalURI(nsIURI* aResultPrincipalURI);
NS_IMETHOD
GetResultPrincipalURIIsSome(bool* aIsSome);
bool ResultPrincipalURIIsSome() const;
NS_IMETHOD
SetResultPrincipalURIIsSome(bool aIsSome);
void SetResultPrincipalURIIsSome(bool aIsSome);
NS_IMETHOD
GetLoadReplace(bool* aLoadReplace);
bool LoadReplace() const;
NS_IMETHOD
SetLoadReplace(bool aLoadReplace);
void SetLoadReplace(bool aLoadReplace);
NS_IMETHOD
GetTriggeringPrincipal(nsIPrincipal** aTriggeringPrincipal);
nsIPrincipal* TriggeringPrincipal() const;
NS_IMETHOD
SetTriggeringPrincipal(nsIPrincipal* aTriggeringPrincipal);
void SetTriggeringPrincipal(nsIPrincipal* aTriggeringPrincipal);
NS_IMETHOD
GetInheritPrincipal(bool* aInheritPrincipal);
bool InheritPrincipal() const;
NS_IMETHOD
SetInheritPrincipal(bool aInheritPrincipal);
void SetInheritPrincipal(bool aInheritPrincipal);
NS_IMETHOD
GetPrincipalIsExplicit(bool* aPrincipalIsExplicit);
bool PrincipalIsExplicit() const;
NS_IMETHOD
SetPrincipalIsExplicit(bool aPrincipalIsExplicit);
void SetPrincipalIsExplicit(bool aPrincipalIsExplicit);
NS_IMETHOD
GetForceAllowDataURI(bool* aForceAllowDataURI);
bool ForceAllowDataURI() const;
NS_IMETHOD
SetForceAllowDataURI(bool aForceAllowDataURI);
void SetForceAllowDataURI(bool aForceAllowDataURI);
NS_IMETHOD GetOriginalFrameSrc(bool* aOriginalFrameSrc);
bool OriginalFrameSrc() const;
NS_IMETHOD SetOriginalFrameSrc(bool aOriginalFrameSrc);
void SetOriginalFrameSrc(bool aOriginalFrameSrc);
NS_IMETHOD GetLoadType(nsDocShellInfoLoadType* aLoadType);
nsDocShellInfoLoadType LoadType() const;
NS_IMETHOD SetLoadType(nsDocShellInfoLoadType aLoadType);
void SetLoadType(nsDocShellInfoLoadType aLoadType);
NS_IMETHOD GetSHEntry(nsISHEntry** aSHEntry);
nsISHEntry* SHEntry() const;
NS_IMETHOD SetSHEntry(nsISHEntry* aSHEntry);
void SetSHEntry(nsISHEntry* aSHEntry);
NS_IMETHOD GetTarget(char16_t** aTarget);
void GetTarget(nsAString& aTarget) const;
NS_IMETHOD SetTarget(const char16_t* aTarget);
void SetTarget(const nsAString& aTarget);
NS_IMETHOD GetPostDataStream(nsIInputStream** aResult);
nsIInputStream* PostDataStream() const;
NS_IMETHOD SetPostDataStream(nsIInputStream* aStream);
void SetPostDataStream(nsIInputStream* aStream);
NS_IMETHOD GetHeadersStream(nsIInputStream** aHeadersStream);
nsIInputStream* HeadersStream() const;
NS_IMETHOD SetHeadersStream(nsIInputStream* aHeadersStream);
void SetHeadersStream(nsIInputStream* aHeadersStream);
NS_IMETHOD GetSendReferrer(bool* aSendReferrer);
bool SendReferrer() const;
NS_IMETHOD SetSendReferrer(bool aSendReferrer);
void SetSendReferrer(bool aSendReferrer);
NS_IMETHOD GetReferrerPolicy(nsDocShellInfoReferrerPolicy* aReferrerPolicy);
uint32_t ReferrerPolicy() const;
NS_IMETHOD SetReferrerPolicy(nsDocShellInfoReferrerPolicy aReferrerPolicy);
void SetReferrerPolicy(mozilla::net::ReferrerPolicy aReferrerPolicy);
NS_IMETHOD GetIsSrcdocLoad(bool* aIsSrcdocLoad);
bool IsSrcdocLoad() const;
NS_IMETHOD GetSrcdocData(nsAString& aSrcdocData);
void GetSrcdocData(nsAString& aSrcdocData) const;
NS_IMETHOD SetSrcdocData(const nsAString& aSrcdocData);
void SetSrcdocData(const nsAString& aSrcdocData);
NS_IMETHOD GetSourceDocShell(nsIDocShell** aSourceDocShell);
nsIDocShell* SourceDocShell() const;
NS_IMETHOD SetSourceDocShell(nsIDocShell* aSourceDocShell);
void SetSourceDocShell(nsIDocShell* aSourceDocShell);
NS_IMETHOD GetBaseURI(nsIURI** aBaseURI);
nsIURI* BaseURI() const;
NS_IMETHOD SetBaseURI(nsIURI* aBaseURI);
void SetBaseURI(nsIURI* aBaseURI);
void
GetMaybeResultPrincipalURI(mozilla::Maybe<nsCOMPtr<nsIURI>>& aRPURI) const;
void
SetMaybeResultPrincipalURI(mozilla::Maybe<nsCOMPtr<nsIURI>> const& aRPURI);
protected:
virtual ~nsDocShellLoadInfo();
@ -161,7 +154,7 @@ protected:
bool mForceAllowDataURI;
bool mOriginalFrameSrc;
bool mSendReferrer;
nsDocShellInfoReferrerPolicy mReferrerPolicy;
mozilla::net::ReferrerPolicy mReferrerPolicy;
nsDocShellInfoLoadType mLoadType;
nsCOMPtr<nsISHEntry> mSHEntry;
nsString mTarget;
@ -173,11 +166,4 @@ protected:
nsCOMPtr<nsIURI> mBaseURI;
};
namespace mozilla {
void
GetMaybeResultPrincipalURI(nsDocShellLoadInfo* aLoadInfo, Maybe<nsCOMPtr<nsIURI>>& aRPURI);
void
SetMaybeResultPrincipalURI(nsDocShellLoadInfo* aLoadInfo, Maybe<nsCOMPtr<nsIURI>> const& aRPURI);
}
#endif /* nsDocShellLoadInfo_h__ */

Просмотреть файл

@ -4713,9 +4713,8 @@ nsIDocument::SetScriptGlobalObject(nsIScriptGlobalObject *aScriptGlobalObject)
}
if (!mMaybeServiceWorkerControlled && mDocumentContainer && mScriptGlobalObject && GetChannel()) {
nsCOMPtr<nsIDocShell> docShell(mDocumentContainer);
uint32_t loadType;
docShell->GetLoadType(&loadType);
mDocumentContainer->GetLoadType(&loadType);
// If we are shift-reloaded, don't associate with a ServiceWorker.
if (IsForceReloadType(loadType)) {

Просмотреть файл

@ -808,13 +808,11 @@ GetCreateWindowParams(mozIDOMWindowProxy* aParent,
baseURI->GetSpec(aBaseURIString);
bool sendReferrer = true;
if (aLoadInfo) {
aLoadInfo->GetSendReferrer(&sendReferrer);
if (!sendReferrer) {
if (!aLoadInfo->SendReferrer()) {
*aReferrerPolicy = mozilla::net::RP_No_Referrer;
} else {
aLoadInfo->GetReferrerPolicy(aReferrerPolicy);
*aReferrerPolicy = aLoadInfo->ReferrerPolicy();
}
}