diff options
Diffstat (limited to 'Source/WebCore/css/CSSParserValues.h')
-rw-r--r-- | Source/WebCore/css/CSSParserValues.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/Source/WebCore/css/CSSParserValues.h b/Source/WebCore/css/CSSParserValues.h index 996e783..d084091 100644 --- a/Source/WebCore/css/CSSParserValues.h +++ b/Source/WebCore/css/CSSParserValues.h @@ -21,11 +21,13 @@ #ifndef CSSParserValues_h #define CSSParserValues_h +#include "CSSSelector.h" #include <wtf/text/AtomicString.h> namespace WebCore { class CSSValue; +class QualifiedName; struct CSSParserString { UChar* characters; @@ -91,6 +93,35 @@ public: OwnPtr<CSSParserValueList> args; }; +class CSSParserSelector { + WTF_MAKE_FAST_ALLOCATED; +public: + CSSParserSelector(); + ~CSSParserSelector(); + + PassOwnPtr<CSSSelector> releaseSelector() { return m_selector.release(); } + + void setTag(const QualifiedName& value) { m_selector->setTag(value); } + void setValue(const AtomicString& value) { m_selector->setValue(value); } + void setAttribute(const QualifiedName& value) { m_selector->setAttribute(value); } + void setArgument(const AtomicString& value) { m_selector->setArgument(value); } + void setSimpleSelector(PassOwnPtr<CSSSelector> value) { m_selector->setSimpleSelector(value); } + void setMatch(CSSSelector::Match value) { m_selector->m_match = value; } + void setRelation(CSSSelector::Relation value) { m_selector->m_relation = value; } + void setForPage() { m_selector->setForPage(); } + + CSSSelector::PseudoType pseudoType() const { return m_selector->pseudoType(); } + bool isUnknownPseudoElement() const { return m_selector->isUnknownPseudoElement(); } + bool isSimple() const { return !m_tagHistory && m_selector->isSimple(); } + + CSSParserSelector* tagHistory() const { return m_tagHistory.get(); } + void setTagHistory(PassOwnPtr<CSSParserSelector> selector) { m_tagHistory = selector; } + +private: + OwnPtr<CSSSelector> m_selector; + OwnPtr<CSSParserSelector> m_tagHistory; +}; + } #endif |