mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-28 07:13:20 +00:00
Bug 1619584 - P1: Introduce TRRLoadInfo for TRRServiceChannel r=valentin
Differential Revision: https://phabricator.services.mozilla.com/D66772 --HG-- extra : moz-landing-system : lando
This commit is contained in:
parent
0bd97c69da
commit
568d63c2bd
@ -33,6 +33,7 @@
|
||||
#include "nsThreadUtils.h"
|
||||
#include "mozilla/Logging.h"
|
||||
|
||||
#include "mozilla/OriginAttributes.h"
|
||||
#include "mozilla/Preferences.h"
|
||||
#include "mozilla/StaticPrefs_network.h"
|
||||
#include "mozilla/Telemetry.h"
|
||||
@ -1212,7 +1213,7 @@ nsresult Predictor::Prefetch(nsIURI* uri, nsIURI* referrer,
|
||||
return NS_ERROR_UNEXPECTED;
|
||||
}
|
||||
|
||||
nsCOMPtr<nsIReferrerInfo> referrerInfo = new ReferrerInfo(referrer);
|
||||
nsCOMPtr<nsIReferrerInfo> referrerInfo = new dom::ReferrerInfo(referrer);
|
||||
rv = httpChannel->SetReferrerInfoWithoutClone(referrerInfo);
|
||||
NS_ENSURE_SUCCESS(rv, rv);
|
||||
// XXX - set a header here to indicate this is a prefetch?
|
||||
@ -2182,7 +2183,7 @@ Predictor::OnPredictPrefetch(nsIURI* aURI, uint32_t httpStatus) {
|
||||
|
||||
MOZ_DIAGNOSTIC_ASSERT(aURI, "aURI must not be null");
|
||||
|
||||
for (auto* cp : ContentParent::AllProcesses(ContentParent::eLive)) {
|
||||
for (auto* cp : dom::ContentParent::AllProcesses(dom::ContentParent::eLive)) {
|
||||
PNeckoParent* neckoParent = SingleManagedOrNull(cp->ManagedPNeckoParent());
|
||||
if (!neckoParent) {
|
||||
continue;
|
||||
@ -2209,7 +2210,7 @@ Predictor::OnPredictPreconnect(nsIURI* aURI) {
|
||||
|
||||
MOZ_DIAGNOSTIC_ASSERT(aURI, "aURI must not be null");
|
||||
|
||||
for (auto* cp : ContentParent::AllProcesses(ContentParent::eLive)) {
|
||||
for (auto* cp : dom::ContentParent::AllProcesses(dom::ContentParent::eLive)) {
|
||||
PNeckoParent* neckoParent = SingleManagedOrNull(cp->ManagedPNeckoParent());
|
||||
if (!neckoParent) {
|
||||
continue;
|
||||
@ -2236,7 +2237,7 @@ Predictor::OnPredictDNS(nsIURI* aURI) {
|
||||
|
||||
MOZ_DIAGNOSTIC_ASSERT(aURI, "aURI must not be null");
|
||||
|
||||
for (auto* cp : ContentParent::AllProcesses(ContentParent::eLive)) {
|
||||
for (auto* cp : dom::ContentParent::AllProcesses(dom::ContentParent::eLive)) {
|
||||
PNeckoParent* neckoParent = SingleManagedOrNull(cp->ManagedPNeckoParent());
|
||||
if (!neckoParent) {
|
||||
continue;
|
||||
|
589
netwerk/base/TRRLoadInfo.cpp
Normal file
589
netwerk/base/TRRLoadInfo.cpp
Normal file
@ -0,0 +1,589 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#include "TRRLoadInfo.h"
|
||||
#include "nsIRedirectHistoryEntry.h"
|
||||
|
||||
using namespace mozilla::dom;
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
NS_IMPL_ISUPPORTS(TRRLoadInfo, nsILoadInfo)
|
||||
|
||||
TRRLoadInfo::TRRLoadInfo(nsIURI* aResultPrincipalURI,
|
||||
nsContentPolicyType aContentPolicyType)
|
||||
: mResultPrincipalURI(aResultPrincipalURI),
|
||||
mInternalContentPolicyType(aContentPolicyType) {}
|
||||
|
||||
already_AddRefed<nsILoadInfo> TRRLoadInfo::Clone() const {
|
||||
nsCOMPtr<nsILoadInfo> loadInfo =
|
||||
new TRRLoadInfo(mResultPrincipalURI, mInternalContentPolicyType);
|
||||
|
||||
return loadInfo.forget();
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetLoadingPrincipal(nsIPrincipal** aLoadingPrincipal) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::LoadingPrincipal() { return nullptr; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetTriggeringPrincipal(nsIPrincipal** aTriggeringPrincipal) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::TriggeringPrincipal() { return nullptr; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetPrincipalToInherit(nsIPrincipal** aPrincipalToInherit) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetPrincipalToInherit(nsIPrincipal* aPrincipalToInherit) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::PrincipalToInherit() { return nullptr; }
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::FindPrincipalToInherit(nsIChannel* aChannel) {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::GetSandboxedLoadingPrincipal() { return nullptr; }
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::GetTopLevelPrincipal() { return nullptr; }
|
||||
|
||||
nsIPrincipal* TRRLoadInfo::GetTopLevelStorageAreaPrincipal() { return nullptr; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetLoadingDocument(Document** aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsINode* TRRLoadInfo::LoadingNode() { return nullptr; }
|
||||
|
||||
already_AddRefed<nsISupports> TRRLoadInfo::ContextForTopLevelLoad() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
already_AddRefed<nsISupports> TRRLoadInfo::GetLoadingContext() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetLoadingContextXPCOM(nsISupports** aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetSecurityFlags(nsSecurityFlags* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetSandboxFlags(uint32_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetSecurityMode(uint32_t* aFlags) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetIsInThirdPartyContext(bool* aIsInThirdPartyContext) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetCookiePolicy(uint32_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetCookieJarSettings(nsICookieJarSettings** aCookieJarSettings) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetCookieJarSettings(nsICookieJarSettings* aCookieJarSettings) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetForceInheritPrincipal(bool* aInheritPrincipal) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetForceInheritPrincipalOverruleOwner(bool* aInheritPrincipal) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetLoadingSandboxed(bool* aLoadingSandboxed) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetAboutBlankInherits(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetAllowChrome(bool* aResult) { return NS_ERROR_NOT_IMPLEMENTED; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetDisallowScript(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetDontFollowRedirects(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetLoadErrorPage(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetIsFormSubmission(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetIsFormSubmission(bool aValue) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetSendCSPViolationEvents(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetSendCSPViolationEvents(bool aValue) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetExternalContentPolicyType(nsContentPolicyType* aResult) {
|
||||
*aResult = nsContentUtils::InternalContentPolicyTypeToExternal(
|
||||
mInternalContentPolicyType);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsContentPolicyType TRRLoadInfo::InternalContentPolicyType() {
|
||||
return mInternalContentPolicyType;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetBlockAllMixedContent(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetUpgradeInsecureRequests(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetBrowserUpgradeInsecureRequests(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetBrowserWouldUpgradeInsecureRequests(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetForceAllowDataURI(bool aForceAllowDataURI) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetForceAllowDataURI(bool* aForceAllowDataURI) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetAllowInsecureRedirectToDataURI(
|
||||
bool aAllowInsecureRedirectToDataURI) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetAllowInsecureRedirectToDataURI(
|
||||
bool* aAllowInsecureRedirectToDataURI) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetBypassCORSChecks(bool aBypassCORSChecks) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetBypassCORSChecks(bool* aBypassCORSChecks) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetSkipContentPolicyCheckForWebRequest(bool aSkip) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetSkipContentPolicyCheckForWebRequest(bool* aSkip) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetOriginalFrameSrcLoad(bool aOriginalFrameSrcLoad) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetOriginalFrameSrcLoad(bool* aOriginalFrameSrcLoad) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetForceInheritPrincipalDropped(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetInnerWindowID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetOuterWindowID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetParentOuterWindowID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetTopOuterWindowID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetFrameOuterWindowID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetBrowsingContextID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetFrameBrowsingContextID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetTargetBrowsingContextID(uint64_t* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetBrowsingContext(dom::BrowsingContext** aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetFrameBrowsingContext(dom::BrowsingContext** aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetTargetBrowsingContext(dom::BrowsingContext** aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetScriptableOriginAttributes(
|
||||
JSContext* aCx, JS::MutableHandle<JS::Value> aOriginAttributes) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::ResetPrincipalToInheritToNullPrincipal() {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetScriptableOriginAttributes(
|
||||
JSContext* aCx, JS::Handle<JS::Value> aOriginAttributes) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
nsresult TRRLoadInfo::GetOriginAttributes(
|
||||
mozilla::OriginAttributes* aOriginAttributes) {
|
||||
NS_ENSURE_ARG(aOriginAttributes);
|
||||
*aOriginAttributes = mOriginAttributes;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
nsresult TRRLoadInfo::SetOriginAttributes(
|
||||
const mozilla::OriginAttributes& aOriginAttributes) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetInitialSecurityCheckDone(bool aInitialSecurityCheckDone) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetInitialSecurityCheckDone(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::AppendRedirectHistoryEntry(nsIRedirectHistoryEntry* aEntry,
|
||||
bool aIsInternalRedirect) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetRedirectChainIncludingInternalRedirects(
|
||||
JSContext* aCx, JS::MutableHandle<JS::Value> aChain) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>>&
|
||||
TRRLoadInfo::RedirectChainIncludingInternalRedirects() {
|
||||
return mEmptyRedirectChain;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetRedirectChain(JSContext* aCx,
|
||||
JS::MutableHandle<JS::Value> aChain) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
const nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>>&
|
||||
TRRLoadInfo::RedirectChain() {
|
||||
return mEmptyRedirectChain;
|
||||
}
|
||||
|
||||
const nsTArray<nsCOMPtr<nsIPrincipal>>& TRRLoadInfo::AncestorPrincipals() {
|
||||
return mEmptyPrincipals;
|
||||
}
|
||||
|
||||
const nsTArray<uint64_t>& TRRLoadInfo::AncestorOuterWindowIDs() {
|
||||
return mEmptyWindowIDs;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SetCorsPreflightInfo(const nsTArray<nsCString>& aHeaders,
|
||||
bool aForcePreflight) {}
|
||||
|
||||
const nsTArray<nsCString>& TRRLoadInfo::CorsUnsafeHeaders() {
|
||||
return mCorsUnsafeHeaders;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetForcePreflight(bool* aForcePreflight) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetIsPreflight(bool* aIsPreflight) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetLoadTriggeredFromExternal(bool aLoadTriggeredFromExternal) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetLoadTriggeredFromExternal(bool* aLoadTriggeredFromExternal) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetServiceWorkerTaintingSynthesized(
|
||||
bool* aServiceWorkerTaintingSynthesized) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetTainting(uint32_t* aTaintingOut) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::MaybeIncreaseTainting(uint32_t aTainting) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SynthesizeServiceWorkerTainting(LoadTainting aTainting) {}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetDocumentHasUserInteracted(bool* aDocumentHasUserInteracted) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetDocumentHasUserInteracted(bool aDocumentHasUserInteracted) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetDocumentHasLoaded(bool* aDocumentHasLoaded) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetDocumentHasLoaded(bool aDocumentHasLoaded) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetAllowListFutureDocumentsCreatedFromThisRedirectChain(
|
||||
bool* aValue) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetAllowListFutureDocumentsCreatedFromThisRedirectChain(
|
||||
bool aValue) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetCspNonce(nsAString& aCspNonce) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetCspNonce(const nsAString& aCspNonce) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetSkipContentSniffing(bool* aSkipContentSniffing) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetSkipContentSniffing(bool aSkipContentSniffing) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetIsTopLevelLoad(bool* aResult) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetIsFromProcessingFrameAttributes(
|
||||
bool* aIsFromProcessingFrameAttributes) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetResultPrincipalURI(nsIURI** aURI) {
|
||||
nsCOMPtr<nsIURI> uri = mResultPrincipalURI;
|
||||
uri.forget(aURI);
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetResultPrincipalURI(nsIURI* aURI) {
|
||||
mResultPrincipalURI = aURI;
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetRequestBlockingReason(uint32_t aReason) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetRequestBlockingReason(uint32_t* aReason) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SetClientInfo(const ClientInfo& aClientInfo) {}
|
||||
|
||||
const Maybe<ClientInfo>& TRRLoadInfo::GetClientInfo() { return mClientInfo; }
|
||||
|
||||
void TRRLoadInfo::GiveReservedClientSource(
|
||||
UniquePtr<ClientSource>&& aClientSource) {}
|
||||
|
||||
UniquePtr<ClientSource> TRRLoadInfo::TakeReservedClientSource() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SetReservedClientInfo(const ClientInfo& aClientInfo) {}
|
||||
|
||||
void TRRLoadInfo::OverrideReservedClientInfoInParent(
|
||||
const ClientInfo& aClientInfo) {}
|
||||
|
||||
const Maybe<ClientInfo>& TRRLoadInfo::GetReservedClientInfo() {
|
||||
return mReservedClientInfo;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SetInitialClientInfo(const ClientInfo& aClientInfo) {}
|
||||
|
||||
const Maybe<ClientInfo>& TRRLoadInfo::GetInitialClientInfo() {
|
||||
return mInitialClientInfo;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SetController(const ServiceWorkerDescriptor& aServiceWorker) {
|
||||
}
|
||||
|
||||
void TRRLoadInfo::ClearController() {}
|
||||
|
||||
const Maybe<ServiceWorkerDescriptor>& TRRLoadInfo::GetController() {
|
||||
return mController;
|
||||
}
|
||||
|
||||
void TRRLoadInfo::SetPerformanceStorage(
|
||||
PerformanceStorage* aPerformanceStorage) {}
|
||||
|
||||
PerformanceStorage* TRRLoadInfo::GetPerformanceStorage() { return nullptr; }
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::GetCspEventListener(nsICSPEventListener** aCSPEventListener) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
NS_IMETHODIMP
|
||||
TRRLoadInfo::SetCspEventListener(nsICSPEventListener* aCSPEventListener) {
|
||||
return NS_ERROR_NOT_IMPLEMENTED;
|
||||
}
|
||||
|
||||
already_AddRefed<nsIContentSecurityPolicy> TRRLoadInfo::GetCsp() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
already_AddRefed<nsIContentSecurityPolicy> TRRLoadInfo::GetPreloadCsp() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
already_AddRefed<nsIContentSecurityPolicy> TRRLoadInfo::GetCspToInherit() {
|
||||
return nullptr;
|
||||
}
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
52
netwerk/base/TRRLoadInfo.h
Normal file
52
netwerk/base/TRRLoadInfo.h
Normal file
@ -0,0 +1,52 @@
|
||||
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* vim: set ts=8 sts=2 et sw=2 tw=80: */
|
||||
/* This Source Code Form is subject to the terms of the Mozilla Public
|
||||
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
||||
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
||||
|
||||
#ifndef mozilla_TRRLoadInfo_h
|
||||
#define mozilla_TRRLoadInfo_h
|
||||
|
||||
#include "nsILoadInfo.h"
|
||||
#include "nsIURI.h"
|
||||
#include "nsTArray.h"
|
||||
#include "mozilla/dom/ClientInfo.h"
|
||||
#include "mozilla/dom/ServiceWorkerDescriptor.h"
|
||||
#include "mozilla/OriginAttributes.h"
|
||||
|
||||
namespace mozilla {
|
||||
namespace net {
|
||||
|
||||
// TRRLoadInfo is designed to be used by TRRServiceChannel only. Most of
|
||||
// nsILoadInfo functions are not implemented since TRRLoadInfo needs to
|
||||
// support off main thread.
|
||||
class TRRLoadInfo final : public nsILoadInfo {
|
||||
public:
|
||||
NS_DECL_THREADSAFE_ISUPPORTS
|
||||
NS_DECL_NSILOADINFO
|
||||
|
||||
TRRLoadInfo(nsIURI* aResultPrincipalURI,
|
||||
nsContentPolicyType aContentPolicyType);
|
||||
|
||||
already_AddRefed<nsILoadInfo> Clone() const;
|
||||
|
||||
private:
|
||||
virtual ~TRRLoadInfo() = default;
|
||||
|
||||
nsCOMPtr<nsIURI> mResultPrincipalURI;
|
||||
nsContentPolicyType mInternalContentPolicyType;
|
||||
OriginAttributes mOriginAttributes;
|
||||
nsTArray<nsCOMPtr<nsIRedirectHistoryEntry>> mEmptyRedirectChain;
|
||||
nsTArray<nsCOMPtr<nsIPrincipal>> mEmptyPrincipals;
|
||||
nsTArray<uint64_t> mEmptyWindowIDs;
|
||||
nsTArray<nsCString> mCorsUnsafeHeaders;
|
||||
Maybe<mozilla::dom::ClientInfo> mClientInfo;
|
||||
Maybe<mozilla::dom::ClientInfo> mReservedClientInfo;
|
||||
Maybe<mozilla::dom::ClientInfo> mInitialClientInfo;
|
||||
Maybe<mozilla::dom::ServiceWorkerDescriptor> mController;
|
||||
};
|
||||
|
||||
} // namespace net
|
||||
} // namespace mozilla
|
||||
|
||||
#endif // mozilla_TRRLoadInfo_h
|
@ -251,6 +251,7 @@ UNIFIED_SOURCES += [
|
||||
'ThrottleQueue.cpp',
|
||||
'Tickler.cpp',
|
||||
'TLSServerSocket.cpp',
|
||||
'TRRLoadInfo.cpp',
|
||||
]
|
||||
|
||||
if CONFIG['FUZZING']:
|
||||
|
@ -13,6 +13,14 @@ webidl Document;
|
||||
typedef unsigned long PredictorPredictReason;
|
||||
typedef unsigned long PredictorLearnReason;
|
||||
|
||||
%{C++
|
||||
namespace mozilla {
|
||||
|
||||
class OriginAttributes;
|
||||
|
||||
}
|
||||
%}
|
||||
|
||||
[ref] native OriginAttributes(const mozilla::OriginAttributes);
|
||||
|
||||
/**
|
||||
@ -151,6 +159,9 @@ class nsILoadGroup;
|
||||
class nsINetworkPredictorVerifier;
|
||||
|
||||
namespace mozilla {
|
||||
|
||||
class OriginAttributes;
|
||||
|
||||
namespace net {
|
||||
|
||||
nsresult PredictorPredict(nsIURI *targetURI,
|
||||
|
Loading…
Reference in New Issue
Block a user