diff options
author | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@nokia.com> | 2012-08-12 09:27:39 +0200 |
commit | 3749d61e1f7a59f5ec5067e560af1eb610c82015 (patch) | |
tree | 73dc228333948738bbe02976cacca8cd382bc978 /Source/WebCore/css/CSSParser.h | |
parent | b32b4dcd9a51ab8de6afc53d9e17f8707e1f7a5e (diff) | |
download | qtwebkit-3749d61e1f7a59f5ec5067e560af1eb610c82015.tar.gz |
Imported WebKit commit a77350243e054f3460d1137301d8b3faee3d2052 (http://svn.webkit.org/repository/webkit/trunk@125365)
New snapshot with build fixes for latest API changes in Qt and all WK1 Win MSVC fixes upstream
Diffstat (limited to 'Source/WebCore/css/CSSParser.h')
-rw-r--r-- | Source/WebCore/css/CSSParser.h | 38 |
1 files changed, 25 insertions, 13 deletions
diff --git a/Source/WebCore/css/CSSParser.h b/Source/WebCore/css/CSSParser.h index 6acbba252..5a1ed97b8 100644 --- a/Source/WebCore/css/CSSParser.h +++ b/Source/WebCore/css/CSSParser.h @@ -64,6 +64,10 @@ class StyleKeyframe; class StyleSheetContents; class StyledElement; +#if ENABLE(CSS_SHADERS) +class WebKitCSSMixFunctionValue; +#endif + class CSSParser { public: CSSParser(const CSSParserContext&); @@ -83,7 +87,7 @@ public: void addProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important, bool implicit = false); void rollbackLastProperties(int num); - bool hasProperties() const { return !m_parsedProperties.isEmpty(); } + bool hasProperties() const { return !m_parsedProperties->isEmpty(); } bool parseValue(CSSPropertyID, bool important); bool parseShorthand(CSSPropertyID, const StylePropertyShorthand&, bool important); @@ -213,16 +217,23 @@ public: PassRefPtr<CSSValueList> parseFilter(); PassRefPtr<WebKitCSSFilterValue> parseBuiltinFilterArguments(CSSParserValueList*, WebKitCSSFilterValue::FilterOperationType); #if ENABLE(CSS_SHADERS) + PassRefPtr<WebKitCSSMixFunctionValue> parseMixFunction(CSSParserValue*); PassRefPtr<WebKitCSSFilterValue> parseCustomFilter(CSSParserValue*); #endif #endif - PassRefPtr<CSSValueList> parseTransform(); + static bool isBlendMode(int ident); + static bool isCompositeOperator(int ident); + + PassRefPtr<CSSValueList> parseTransform(CSSParserValueList*); bool parseTransformOrigin(CSSPropertyID propId, CSSPropertyID& propId1, CSSPropertyID& propId2, CSSPropertyID& propId3, RefPtr<CSSValue>&, RefPtr<CSSValue>&, RefPtr<CSSValue>&); bool parsePerspectiveOrigin(CSSPropertyID propId, CSSPropertyID& propId1, CSSPropertyID& propId2, RefPtr<CSSValue>&, RefPtr<CSSValue>&); bool parseTextEmphasisStyle(bool important); + void addTextDecorationProperty(CSSPropertyID, PassRefPtr<CSSValue>, bool important); + bool parseTextDecoration(CSSPropertyID propId, bool important); + bool parseLineBoxContain(bool important); bool parseCalculation(CSSParserValue*, CalculationPermittedValueRange); @@ -241,8 +252,8 @@ public: CSSParserSelector* createFloatingSelector(); PassOwnPtr<CSSParserSelector> sinkFloatingSelector(CSSParserSelector*); - Vector<OwnPtr<CSSParserSelector> >* createFloatingSelectorVector(); - PassOwnPtr<Vector<OwnPtr<CSSParserSelector> > > sinkFloatingSelectorVector(Vector<OwnPtr<CSSParserSelector> >*); + CSSSelectorVector* createFloatingSelectorVector(); + PassOwnPtr<CSSSelectorVector> sinkFloatingSelectorVector(CSSSelectorVector*); CSSParserValueList* createFloatingValueList(); PassOwnPtr<CSSParserValueList> sinkFloatingValueList(CSSParserValueList*); @@ -260,10 +271,10 @@ public: typedef Vector<RefPtr<StyleRuleBase> > RuleList; StyleRuleBase* createMediaRule(MediaQuerySet*, RuleList*); RuleList* createRuleList(); - StyleRuleBase* createStyleRule(Vector<OwnPtr<CSSParserSelector> >* selectors); + StyleRuleBase* createStyleRule(CSSSelectorVector* selectors); StyleRuleBase* createFontFaceRule(); StyleRuleBase* createPageRule(PassOwnPtr<CSSParserSelector> pageSelector); - StyleRuleBase* createRegionRule(Vector<OwnPtr<CSSParserSelector> >* regionSelector, RuleList* rules); + StyleRuleBase* createRegionRule(CSSSelectorVector* regionSelector, RuleList* rules); StyleRuleBase* createMarginAtRule(CSSSelector::MarginBoxType); void startDeclarationsForMarginBox(); void endDeclarationsForMarginBox(); @@ -286,10 +297,10 @@ public: void invalidBlockHit(); - Vector<OwnPtr<CSSParserSelector> >* reusableSelectorVector() { return &m_reusableSelectorVector; } + CSSSelectorVector* selectorVector() { return m_selectorVector.get(); } - void setReusableRegionSelectorVector(Vector<OwnPtr<CSSParserSelector> >* selectors); - Vector<OwnPtr<CSSParserSelector> >* reusableRegionSelectorVector() { return &m_reusableRegionSelectorVector; } + void setReusableRegionSelectorVector(CSSSelectorVector* selectors); + CSSSelectorVector* reusableRegionSelectorVector() { return &m_reusableRegionSelectorVector; } void updateLastSelectorLineAndPosition(); void updateLastMediaLine(MediaQuerySet*); @@ -307,8 +318,9 @@ public: RefPtr<StyleKeyframe> m_keyframe; OwnPtr<MediaQuery> m_mediaQuery; OwnPtr<CSSParserValueList> m_valueList; + typedef Vector<CSSProperty, 256> ParsedPropertyVector; - ParsedPropertyVector m_parsedProperties; + OwnPtr<ParsedPropertyVector> m_parsedProperties; CSSSelectorList* m_selectorListForParseSelector; unsigned m_numParsedPropertiesBeforeMarginBox; @@ -430,7 +442,7 @@ private: Vector<RefPtr<MediaQuerySet> > m_parsedMediaQuerySets; Vector<OwnPtr<RuleList> > m_parsedRuleLists; HashSet<CSSParserSelector*> m_floatingSelectors; - HashSet<Vector<OwnPtr<CSSParserSelector> >*> m_floatingSelectorVectors; + HashSet<CSSSelectorVector*> m_floatingSelectorVectors; HashSet<CSSParserValueList*> m_floatingValueLists; HashSet<CSSParserFunction*> m_floatingFunctions; @@ -440,8 +452,8 @@ private: OwnPtr<Vector<RefPtr<StyleKeyframe> > > m_floatingKeyframeVector; - Vector<OwnPtr<CSSParserSelector> > m_reusableSelectorVector; - Vector<OwnPtr<CSSParserSelector> > m_reusableRegionSelectorVector; + OwnPtr<CSSSelectorVector> m_selectorVector; + CSSSelectorVector m_reusableRegionSelectorVector; RefPtr<CSSCalcValue> m_parsedCalculation; |