summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/css/CSSParserValues.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebCore/css/CSSParserValues.h')
-rw-r--r--Source/WebCore/css/CSSParserValues.h31
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