mirror of
https://gitlab.winehq.org/wine/wine-gecko.git
synced 2024-09-13 09:24:08 -07:00
Bug 977553. Use an enum instead of macros for the nsStyleLinkElement rel types, so they won't collide with macros in wingdi.h. r=smaug
This commit is contained in:
parent
46c75107b3
commit
dc8f1d9152
@ -675,22 +675,22 @@ nsContentSink::ProcessLink(const nsSubstring& aAnchor, const nsSubstring& aHref,
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool hasPrefetch = linkTypes & PREFETCH;
|
||||
bool hasPrefetch = linkTypes & nsStyleLinkElement::ePREFETCH;
|
||||
// prefetch href if relation is "next" or "prefetch"
|
||||
if (hasPrefetch || (linkTypes & NEXT)) {
|
||||
if (hasPrefetch || (linkTypes & nsStyleLinkElement::eNEXT)) {
|
||||
PrefetchHref(aHref, mDocument, hasPrefetch);
|
||||
}
|
||||
|
||||
if (!aHref.IsEmpty() && (linkTypes & DNS_PREFETCH)) {
|
||||
if (!aHref.IsEmpty() && (linkTypes & nsStyleLinkElement::eDNS_PREFETCH)) {
|
||||
PrefetchDNS(aHref);
|
||||
}
|
||||
|
||||
// is it a stylesheet link?
|
||||
if (!(linkTypes & STYLESHEET)) {
|
||||
if (!(linkTypes & nsStyleLinkElement::eSTYLESHEET)) {
|
||||
return NS_OK;
|
||||
}
|
||||
|
||||
bool isAlternate = linkTypes & ALTERNATE;
|
||||
bool isAlternate = linkTypes & nsStyleLinkElement::eALTERNATE;
|
||||
return ProcessStyleLink(nullptr, aHref, isAlternate, aTitle, aType,
|
||||
aMedia);
|
||||
}
|
||||
|
@ -120,18 +120,18 @@ nsStyleLinkElement::SetLineNumber(uint32_t aLineNumber)
|
||||
mLineNumber = aLineNumber;
|
||||
}
|
||||
|
||||
uint32_t ToLinkMask(const nsAString& aLink)
|
||||
static uint32_t ToLinkMask(const nsAString& aLink)
|
||||
{
|
||||
if (aLink.EqualsLiteral("prefetch"))
|
||||
return PREFETCH;
|
||||
return nsStyleLinkElement::ePREFETCH;
|
||||
else if (aLink.EqualsLiteral("dns-prefetch"))
|
||||
return DNS_PREFETCH;
|
||||
return nsStyleLinkElement::eDNS_PREFETCH;
|
||||
else if (aLink.EqualsLiteral("stylesheet"))
|
||||
return STYLESHEET;
|
||||
return nsStyleLinkElement::eSTYLESHEET;
|
||||
else if (aLink.EqualsLiteral("next"))
|
||||
return NEXT;
|
||||
return nsStyleLinkElement::eNEXT;
|
||||
else if (aLink.EqualsLiteral("alternate"))
|
||||
return ALTERNATE;
|
||||
return nsStyleLinkElement::eALTERNATE;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
@ -20,12 +20,6 @@
|
||||
#include "nsTArray.h"
|
||||
#include "mozilla/CORSMode.h"
|
||||
|
||||
#define PREFETCH 0x00000001
|
||||
#define DNS_PREFETCH 0x00000002
|
||||
#define STYLESHEET 0x00000004
|
||||
#define NEXT 0x00000008
|
||||
#define ALTERNATE 0x00000010
|
||||
|
||||
class nsIDocument;
|
||||
class nsIURI;
|
||||
|
||||
@ -58,6 +52,15 @@ public:
|
||||
virtual void OverrideBaseURI(nsIURI* aNewBaseURI) MOZ_OVERRIDE;
|
||||
virtual void SetLineNumber(uint32_t aLineNumber) MOZ_OVERRIDE;
|
||||
|
||||
enum RelValue {
|
||||
ePREFETCH = 0x00000001,
|
||||
eDNS_PREFETCH = 0x00000002,
|
||||
eSTYLESHEET = 0x00000004,
|
||||
eNEXT = 0x00000008,
|
||||
eALTERNATE = 0x00000010,
|
||||
};
|
||||
|
||||
// The return value is a bitwise or of 0 or more RelValues
|
||||
static uint32_t ParseLinkTypes(const nsAString& aTypes);
|
||||
|
||||
void UpdateStyleSheetInternal()
|
||||
|
@ -1,3 +1,4 @@
|
||||
|
||||
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
||||
/* 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
|
||||
@ -255,7 +256,7 @@ HTMLLinkElement::SetAttr(int32_t aNameSpaceID, nsIAtom* aName,
|
||||
bool dropSheet = false;
|
||||
if (aName == nsGkAtoms::rel && GetSheet()) {
|
||||
uint32_t linkTypes = nsStyleLinkElement::ParseLinkTypes(aValue);
|
||||
dropSheet = !(linkTypes & STYLESHEET);
|
||||
dropSheet = !(linkTypes & nsStyleLinkElement::eSTYLESHEET);
|
||||
}
|
||||
|
||||
UpdateStyleSheetInternal(nullptr, nullptr,
|
||||
@ -360,7 +361,7 @@ HTMLLinkElement::GetStyleSheetInfo(nsAString& aTitle,
|
||||
GetAttr(kNameSpaceID_None, nsGkAtoms::rel, rel);
|
||||
uint32_t linkTypes = nsStyleLinkElement::ParseLinkTypes(rel);
|
||||
// Is it a stylesheet link?
|
||||
if (!(linkTypes & STYLESHEET)) {
|
||||
if (!(linkTypes & nsStyleLinkElement::eSTYLESHEET)) {
|
||||
return;
|
||||
}
|
||||
|
||||
@ -370,7 +371,7 @@ HTMLLinkElement::GetStyleSheetInfo(nsAString& aTitle,
|
||||
aTitle.Assign(title);
|
||||
|
||||
// If alternate, does it have title?
|
||||
if (linkTypes & ALTERNATE) {
|
||||
if (linkTypes & nsStyleLinkElement::eALTERNATE) {
|
||||
if (aTitle.IsEmpty()) { // alternates must have title
|
||||
return;
|
||||
} else {
|
||||
|
@ -606,15 +606,15 @@ nsXMLContentSink::CloseElement(nsIContent* aContent)
|
||||
aContent->GetAttr(kNameSpaceID_None, nsGkAtoms::rel, relVal);
|
||||
if (!relVal.IsEmpty()) {
|
||||
uint32_t linkTypes = nsStyleLinkElement::ParseLinkTypes(relVal);
|
||||
bool hasPrefetch = linkTypes & PREFETCH;
|
||||
if (hasPrefetch || (linkTypes & NEXT)) {
|
||||
bool hasPrefetch = linkTypes & nsStyleLinkElement::ePREFETCH;
|
||||
if (hasPrefetch || (linkTypes & nsStyleLinkElement::eNEXT)) {
|
||||
nsAutoString hrefVal;
|
||||
aContent->GetAttr(kNameSpaceID_None, nsGkAtoms::href, hrefVal);
|
||||
if (!hrefVal.IsEmpty()) {
|
||||
PrefetchHref(hrefVal, aContent, hasPrefetch);
|
||||
}
|
||||
}
|
||||
if (linkTypes & DNS_PREFETCH) {
|
||||
if (linkTypes & nsStyleLinkElement::eDNS_PREFETCH) {
|
||||
nsAutoString hrefVal;
|
||||
aContent->GetAttr(kNameSpaceID_None, nsGkAtoms::href, hrefVal);
|
||||
if (!hrefVal.IsEmpty()) {
|
||||
|
@ -339,15 +339,15 @@ nsHtml5TreeOpExecutor::UpdateStyleSheet(nsIContent* aElement)
|
||||
aElement->GetAttr(kNameSpaceID_None, nsGkAtoms::rel, relVal);
|
||||
if (!relVal.IsEmpty()) {
|
||||
uint32_t linkTypes = nsStyleLinkElement::ParseLinkTypes(relVal);
|
||||
bool hasPrefetch = linkTypes & PREFETCH;
|
||||
if (hasPrefetch || (linkTypes & NEXT)) {
|
||||
bool hasPrefetch = linkTypes & nsStyleLinkElement::ePREFETCH;
|
||||
if (hasPrefetch || (linkTypes & nsStyleLinkElement::eNEXT)) {
|
||||
nsAutoString hrefVal;
|
||||
aElement->GetAttr(kNameSpaceID_None, nsGkAtoms::href, hrefVal);
|
||||
if (!hrefVal.IsEmpty()) {
|
||||
PrefetchHref(hrefVal, aElement, hasPrefetch);
|
||||
}
|
||||
}
|
||||
if (linkTypes & DNS_PREFETCH) {
|
||||
if (linkTypes & nsStyleLinkElement::eDNS_PREFETCH) {
|
||||
nsAutoString hrefVal;
|
||||
aElement->GetAttr(kNameSpaceID_None, nsGkAtoms::href, hrefVal);
|
||||
if (!hrefVal.IsEmpty()) {
|
||||
|
Loading…
Reference in New Issue
Block a user