Bug 1426234 part 1. Fix preexisting bug where disabling prefetch/preload would turn off HTTP Link headers for stylesheets. r=mystor

MozReview-Commit-ID: 6FcW21tODIZ
This commit is contained in:
Boris Zbarsky 2017-12-21 16:43:24 -05:00
Родитель 1f8556b8e1
Коммит a86a2a0f8f
1 изменённых файлов: 20 добавлений и 22 удалений

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

@ -722,31 +722,29 @@ nsContentSink::ProcessLink(const nsAString& aAnchor, const nsAString& aHref,
return NS_OK;
}
if (!nsContentUtils::PrefetchPreloadEnabled(mDocShell)) {
return NS_OK;
}
// prefetch href if relation is "next" or "prefetch"
if ((linkTypes & nsStyleLinkElement::eNEXT) ||
(linkTypes & nsStyleLinkElement::ePREFETCH) ||
(linkTypes & nsStyleLinkElement::ePRELOAD)) {
PrefetchPreloadHref(aHref, mDocument, linkTypes, aAs, aType, aMedia);
}
if (linkTypes & nsStyleLinkElement::ePRERENDER) {
nsCOMPtr<nsIURI> href;
nsresult rv = NS_NewURI(getter_AddRefs(href), aHref);
if (NS_SUCCEEDED(rv)) {
mDocument->PrerenderHref(href);
if (nsContentUtils::PrefetchPreloadEnabled(mDocShell)) {
// prefetch href if relation is "next" or "prefetch"
if ((linkTypes & nsStyleLinkElement::eNEXT) ||
(linkTypes & nsStyleLinkElement::ePREFETCH) ||
(linkTypes & nsStyleLinkElement::ePRELOAD)) {
PrefetchPreloadHref(aHref, mDocument, linkTypes, aAs, aType, aMedia);
}
}
if (!aHref.IsEmpty() && (linkTypes & nsStyleLinkElement::eDNS_PREFETCH)) {
PrefetchDNS(aHref);
}
if (linkTypes & nsStyleLinkElement::ePRERENDER) {
nsCOMPtr<nsIURI> href;
nsresult rv = NS_NewURI(getter_AddRefs(href), aHref);
if (NS_SUCCEEDED(rv)) {
mDocument->PrerenderHref(href);
}
}
if (!aHref.IsEmpty() && (linkTypes & nsStyleLinkElement::ePRECONNECT)) {
Preconnect(aHref, aCrossOrigin);
if (!aHref.IsEmpty() && (linkTypes & nsStyleLinkElement::eDNS_PREFETCH)) {
PrefetchDNS(aHref);
}
if (!aHref.IsEmpty() && (linkTypes & nsStyleLinkElement::ePRECONNECT)) {
Preconnect(aHref, aCrossOrigin);
}
}
// is it a stylesheet link?