summaryrefslogtreecommitdiffstats
path: root/WebCore/css/CSSParser.h
diff options
context:
space:
mode:
Diffstat (limited to 'WebCore/css/CSSParser.h')
-rw-r--r--WebCore/css/CSSParser.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/WebCore/css/CSSParser.h b/WebCore/css/CSSParser.h
index 6b66bfc..83aafa4 100644
--- a/WebCore/css/CSSParser.h
+++ b/WebCore/css/CSSParser.h
@@ -25,6 +25,7 @@
#include "AtomicString.h"
#include "Color.h"
#include "CSSParserValues.h"
+#include "CSSSelectorList.h"
#include "MediaQuery.h"
#include <wtf/HashSet.h>
#include <wtf/Vector.h>
@@ -37,7 +38,6 @@ namespace WebCore {
class CSSRule;
class CSSRuleList;
class CSSSelector;
- class CSSNthSelector;
class CSSStyleSheet;
class CSSValue;
class CSSValueList;
@@ -117,7 +117,7 @@ namespace WebCore {
bool parseHSLParameters(CSSParserValue*, double* colorValues, bool parseAlpha);
PassRefPtr<CSSPrimitiveValue> parseColor(CSSParserValue* = 0);
bool parseColorFromValue(CSSParserValue*, RGBA32&, bool = false);
- std::auto_ptr<CSSSelector> parseSelector(const String&, Document* doc = 0);
+ void parseSelector(const String&, Document* doc, CSSSelectorList&);
static bool parseColor(const String&, RGBA32& rgb, bool strict);
@@ -153,7 +153,6 @@ namespace WebCore {
int yyparse();
CSSSelector* createFloatingSelector();
- CSSNthSelector* createFloatingNthSelector();
CSSSelector* sinkFloatingSelector(CSSSelector*);
CSSParserValueList* createFloatingValueList();
@@ -171,7 +170,7 @@ namespace WebCore {
WebKitCSSKeyframesRule* createKeyframesRule();
CSSRule* createMediaRule(MediaList*, CSSRuleList*);
CSSRuleList* createRuleList();
- CSSRule* createStyleRule(CSSSelector*);
+ CSSRule* createStyleRule(Vector<CSSSelector*>* selectors);
CSSRule* createFontFaceRule();
CSSRule* createVariablesRule(MediaList*, bool variablesKeyword);
@@ -188,6 +187,8 @@ namespace WebCore {
bool checkForVariables(CSSParserValueList*);
void addUnresolvedProperty(int propId, bool important);
+ Vector<CSSSelector*>* reusableSelectorVector() { return &m_reusableSelectorVector; }
+
public:
bool m_strict;
bool m_important;
@@ -198,7 +199,7 @@ namespace WebCore {
MediaQuery* m_mediaQuery;
CSSParserValueList* m_valueList;
CSSProperty** m_parsedProperties;
- CSSSelector* m_floatingSelector;
+ CSSSelectorList* m_selectorListForParseSelector;
int m_numParsedProperties;
int m_maxParsedProperties;
@@ -209,7 +210,7 @@ namespace WebCore {
bool m_hasFontFaceOnlyValues;
Vector<String> m_variableNames;
- Vector<RefPtr<StyleBase> > m_variableValues;
+ Vector<RefPtr<CSSValue> > m_variableValues;
AtomicString m_defaultNamespace;
@@ -252,6 +253,8 @@ namespace WebCore {
MediaQuery* m_floatingMediaQuery;
MediaQueryExp* m_floatingMediaQueryExp;
Vector<MediaQueryExp*>* m_floatingMediaQueryExpList;
+
+ Vector<CSSSelector*> m_reusableSelectorVector;
// defines units allowed for a certain property, used in parseUnit
enum Units {