Bug 1455676 part 4. Remove nsIDOMNode usage from uriloader/. r=qdot

This commit is contained in:
Boris Zbarsky 2018-05-29 22:58:48 -04:00
parent 6213894581
commit 317d43647c
7 changed files with 28 additions and 35 deletions

View File

@ -150,7 +150,6 @@ Link::TryDNSPrefetchOrPreconnectOrPrefetchOrPreloadOrPrerender()
if (prefetchService) {
nsCOMPtr<nsIURI> uri(GetURI());
if (uri) {
nsCOMPtr<nsIDOMNode> domNode = GetAsDOMNode(mElement);
if (linkTypes & nsStyleLinkElement::ePRELOAD) {
nsAttrValue asAttr;
nsContentPolicyType policyType;
@ -170,11 +169,11 @@ Link::TryDNSPrefetchOrPreconnectOrPrefetchOrPreloadOrPrerender()
prefetchService->PreloadURI(uri,
mElement->OwnerDoc()->GetDocumentURI(),
domNode, policyType);
mElement, policyType);
} else {
prefetchService->PrefetchURI(uri,
mElement->OwnerDoc()->GetDocumentURI(),
domNode, linkTypes & nsStyleLinkElement::ePREFETCH);
mElement, linkTypes & nsStyleLinkElement::ePREFETCH);
}
return;
}
@ -232,8 +231,6 @@ Link::UpdatePreload(nsAtom* aName, const nsAttrValue* aValue,
return;
}
nsCOMPtr<nsIDOMNode> domNode = GetAsDOMNode(mElement);
nsAttrValue asAttr;
nsContentPolicyType asPolicyType;
nsAutoString mimeType;
@ -243,7 +240,7 @@ Link::UpdatePreload(nsAtom* aName, const nsAttrValue* aValue,
if (asPolicyType == nsIContentPolicy::TYPE_INVALID) {
// Ignore preload with a wrong or empty as attribute, but be sure to cancel
// the old one.
prefetchService->CancelPrefetchPreloadURI(uri, domNode);
prefetchService->CancelPrefetchPreloadURI(uri, mElement);
return;
}
@ -257,9 +254,9 @@ Link::UpdatePreload(nsAtom* aName, const nsAttrValue* aValue,
CORSMode corsMode = Element::AttrValueToCORSMode(aValue);
CORSMode oldCorsMode = Element::AttrValueToCORSMode(aOldValue);
if (corsMode != oldCorsMode) {
prefetchService->CancelPrefetchPreloadURI(uri, domNode);
prefetchService->CancelPrefetchPreloadURI(uri, mElement);
prefetchService->PreloadURI(uri, mElement->OwnerDoc()->GetDocumentURI(),
domNode, policyType);
mElement, policyType);
}
return;
}
@ -310,7 +307,7 @@ Link::UpdatePreload(nsAtom* aName, const nsAttrValue* aValue,
if ((policyType != oldPolicyType) &&
(oldPolicyType != nsIContentPolicy::TYPE_INVALID)) {
prefetchService->CancelPrefetchPreloadURI(uri, domNode);
prefetchService->CancelPrefetchPreloadURI(uri, mElement);
}
@ -320,7 +317,7 @@ Link::UpdatePreload(nsAtom* aName, const nsAttrValue* aValue,
if ((policyType != oldPolicyType) ||
(policyType == nsIContentPolicy::TYPE_INVALID)) {
prefetchService->PreloadURI(uri, mElement->OwnerDoc()->GetDocumentURI(),
domNode, policyType);
mElement, policyType);
}
}
@ -331,8 +328,7 @@ Link::CancelPrefetchOrPreload()
if (prefetchService) {
nsCOMPtr<nsIURI> uri(GetURI());
if (uri) {
nsCOMPtr<nsIDOMNode> domNode = GetAsDOMNode(mElement);
prefetchService->CancelPrefetchPreloadURI(uri, domNode);
prefetchService->CancelPrefetchPreloadURI(uri, mElement);
}
}
}

View File

@ -878,7 +878,6 @@ nsContentSink::PrefetchPreloadHref(const nsAString &aHref,
NS_NewURI(getter_AddRefs(uri), aHref, encoding,
mDocument->GetDocBaseURI());
if (uri) {
nsCOMPtr<nsIDOMNode> domNode = do_QueryInterface(aSource);
if (aLinkTypes & nsStyleLinkElement::ePRELOAD) {
nsAttrValue asAttr;
Link::ParseAsValue(aAs, asAttr);
@ -897,9 +896,9 @@ nsContentSink::PrefetchPreloadHref(const nsAString &aHref,
policyType = nsIContentPolicy::TYPE_INVALID;
}
prefetchService->PreloadURI(uri, mDocumentURI, domNode, policyType);
prefetchService->PreloadURI(uri, mDocumentURI, aSource, policyType);
} else {
prefetchService->PrefetchURI(uri, mDocumentURI, domNode,
prefetchService->PrefetchURI(uri, mDocumentURI, aSource,
aLinkTypes & nsStyleLinkElement::ePREFETCH);
}
}

View File

@ -7,7 +7,6 @@
interface mozIDOMWindow;
interface nsIURI;
interface nsIDOMNode;
interface nsIOfflineCacheUpdate;
interface nsIPrincipal;
interface nsIPrefBranch;

View File

@ -6,9 +6,10 @@
#include "nsIContentPolicy.idl"
interface nsIURI;
interface nsIDOMNode;
interface nsISimpleEnumerator;
webidl Node;
[scriptable, uuid(422a1807-4e7f-463d-b8d7-ca2ceb9b5d53)]
interface nsIPrefetchService : nsISupports
{
@ -23,7 +24,7 @@ interface nsIPrefetchService : nsISupports
*/
void prefetchURI(in nsIURI aURI,
in nsIURI aReferrerURI,
in nsIDOMNode aSource,
in Node aSource,
in boolean aExplicit);
/**
@ -37,7 +38,7 @@ interface nsIPrefetchService : nsISupports
*/
void preloadURI(in nsIURI aURI,
in nsIURI aReferrerURI,
in nsIDOMNode aSource,
in Node aSource,
in nsContentPolicyType aPolicyType);
/**
@ -46,7 +47,7 @@ interface nsIPrefetchService : nsISupports
boolean hasMoreElements();
/**
* Cancel prefetch or preload for a nsIDomNode.
* Cancel prefetch or preload for a Node.
*/
void cancelPrefetchPreloadURI(in nsIURI aURI, in nsIDOMNode aSource);
void cancelPrefetchPreloadURI(in nsIURI aURI, in Node aSource);
};

View File

@ -12,7 +12,6 @@
#include "nsCOMArray.h"
#include "nsCOMPtr.h"
#include "nsIChannelEventSink.h"
#include "nsIDOMNode.h"
#include "nsIInterfaceRequestor.h"
#include "nsIMutableArray.h"
#include "nsIObserver.h"

View File

@ -33,7 +33,6 @@
#include "mozilla/Logging.h"
#include "plstr.h"
#include "nsIAsyncVerifyRedirectCallback.h"
#include "nsIDOMNode.h"
#include "nsINode.h"
#include "nsIDocument.h"
#include "nsContentUtils.h"
@ -84,7 +83,7 @@ PRTimeToSeconds(PRTime t_usec)
nsPrefetchNode::nsPrefetchNode(nsPrefetchService *aService,
nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
nsContentPolicyType aPolicyType,
bool aPreload)
: mURI(aURI)
@ -567,7 +566,7 @@ nsPrefetchService::RemoveProgressListener()
nsresult
nsPrefetchService::EnqueueURI(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
nsPrefetchNode **aNode)
{
RefPtr<nsPrefetchNode> node = new nsPrefetchNode(this, aURI, aReferrerURI,
@ -704,7 +703,7 @@ NS_IMPL_ISUPPORTS(nsPrefetchService,
nsresult
nsPrefetchService::Preload(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
nsContentPolicyType aPolicyType)
{
NS_ENSURE_ARG_POINTER(aURI);
@ -790,7 +789,7 @@ nsPrefetchService::Preload(nsIURI *aURI,
nsresult
nsPrefetchService::Prefetch(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
bool aExplicit)
{
NS_ENSURE_ARG_POINTER(aURI);
@ -889,7 +888,7 @@ nsPrefetchService::Prefetch(nsIURI *aURI,
NS_IMETHODIMP
nsPrefetchService::CancelPrefetchPreloadURI(nsIURI* aURI,
nsIDOMNode* aSource)
nsINode* aSource)
{
NS_ENSURE_ARG_POINTER(aURI);
@ -932,7 +931,7 @@ nsPrefetchService::CancelPrefetchPreloadURI(nsIURI* aURI,
#ifdef DEBUG
int32_t inx = node->mSources.IndexOf(source);
nsCOMPtr<nsIDOMNode> domNode =
nsCOMPtr<nsINode> domNode =
do_QueryReferent(node->mSources.ElementAt(inx));
MOZ_ASSERT(domNode);
#endif
@ -954,7 +953,7 @@ nsPrefetchService::CancelPrefetchPreloadURI(nsIURI* aURI,
NS_IMETHODIMP
nsPrefetchService::PreloadURI(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
nsContentPolicyType aPolicyType)
{
return Preload(aURI, aReferrerURI, aSource, aPolicyType);
@ -963,7 +962,7 @@ nsPrefetchService::PreloadURI(nsIURI *aURI,
NS_IMETHODIMP
nsPrefetchService::PrefetchURI(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
bool aExplicit)
{
return Prefetch(aURI, aReferrerURI, aSource, aExplicit);

View File

@ -53,18 +53,18 @@ private:
nsresult Prefetch(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
bool aExplicit);
nsresult Preload(nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
nsContentPolicyType aPolicyType);
void AddProgressListener();
void RemoveProgressListener();
nsresult EnqueueURI(nsIURI *aURI, nsIURI *aReferrerURI,
nsIDOMNode *aSource, nsPrefetchNode **node);
nsINode *aSource, nsPrefetchNode **node);
void EmptyPrefetchQueue();
void StartPrefetching();
@ -108,7 +108,7 @@ public:
nsPrefetchNode(nsPrefetchService *aPrefetchService,
nsIURI *aURI,
nsIURI *aReferrerURI,
nsIDOMNode *aSource,
nsINode *aSource,
nsContentPolicyType aPolicyType,
bool aPreload);