Index: Source/core/css/CSSSelector.h |
diff --git a/Source/core/css/CSSSelector.h b/Source/core/css/CSSSelector.h |
index d9c9933b5eb282626bcf6e84a532f724c6d6ede3..36892a43ec0aa926e47cd104c21c7b2ba5f910b8 100644 |
--- a/Source/core/css/CSSSelector.h |
+++ b/Source/core/css/CSSSelector.h |
@@ -237,6 +237,11 @@ namespace WebCore { |
RightBottomMarginBox, |
}; |
+ enum AttributeFlags { |
+ NoAttributeFlags, |
+ CaseInsensitive, |
+ }; |
+ |
PseudoType pseudoType() const |
{ |
if (m_pseudoType == PseudoNotParsed) |
@@ -260,6 +265,7 @@ namespace WebCore { |
// how you use the returned QualifiedName. |
// http://www.w3.org/TR/css3-selectors/#attrnmsp |
const QualifiedName& attribute() const; |
+ unsigned attributeFlags() const; |
eseidel
2014/05/07 18:12:58
Can't this return the enum? Normally we store enu
fs
2014/06/12 16:42:31
Sure (done in [1]). It doesn't really add much in
|
// Returns the argument of a parameterized selector. For example, nth-child(2) would have an argument of 2. |
const AtomicString& argument() const { return m_hasRareData ? m_data.m_rareData->m_argument : nullAtom; } |
const CSSSelectorList* selectorList() const { return m_hasRareData ? m_data.m_rareData->m_selectorList.get() : 0; } |
@@ -270,7 +276,7 @@ namespace WebCore { |
#endif |
void setValue(const AtomicString&); |
- void setAttribute(const QualifiedName&); |
+ void setAttribute(const QualifiedName&, unsigned flags); |
void setArgument(const AtomicString&); |
void setSelectorList(PassOwnPtr<CSSSelectorList>); |
void setMatchUserAgentOnly(); |
@@ -337,6 +343,7 @@ namespace WebCore { |
int m_a; // Used for :nth-* |
int m_b; // Used for :nth-* |
QualifiedName m_attribute; // used for attribute selector |
+ unsigned m_attributeFlags; // used for attribute selector (with value) |
eseidel
2014/05/29 00:25:01
I think we have a ton of CSSSelector objects... I
apavlov
2014/06/11 12:26:19
This is RareData. Consequently, it will be found i
fs
2014/06/12 16:42:31
Yes, hopefully they are indeed "rare". Disregardin
|
AtomicString m_argument; // Used for :contains, :lang, :nth-* |
OwnPtr<CSSSelectorList> m_selectorList; // Used for :-webkit-any and :not |
@@ -360,6 +367,13 @@ inline const QualifiedName& CSSSelector::attribute() const |
return m_data.m_rareData->m_attribute; |
} |
+inline unsigned CSSSelector::attributeFlags() const |
+{ |
+ ASSERT(isAttributeSelector()); |
+ ASSERT(m_hasRareData); |
+ return m_data.m_rareData->m_attributeFlags; |
+} |
+ |
inline bool CSSSelector::matchesPseudoElement() const |
{ |
if (m_pseudoType == PseudoUnknown) |