bool m_is8Bit;
};
+template <>
+inline const LChar* CSSParserString::characters<LChar>() const { return characters8(); }
+
+template <>
+inline const UChar* CSSParserString::characters<UChar>() const { return characters16(); }
+
struct CSSParserFunction;
struct CSSParserValue {
int iValue;
CSSParserString string;
CSSParserFunction* function;
+ CSSParserValueList* valueList;
};
enum {
- Operator = 0x100000,
- Function = 0x100001,
- Q_EMS = 0x100002
+ Operator = 0x100000,
+ Function = 0x100001,
+ ValueList = 0x100002,
+ Q_EMS = 0x100003,
};
int unit;
inline void setFromNumber(double value, int unit = CSSPrimitiveValue::CSS_NUMBER);
inline void setFromFunction(CSSParserFunction*);
+ inline void setFromValueList(PassOwnPtr<CSSParserValueList>);
PassRefPtr<CSSValue> createCSSValue();
};
void addValue(const CSSParserValue&);
void insertValueAt(unsigned, const CSSParserValue&);
void deleteValueAt(unsigned);
- void extend(CSSParserValueList&);
+ void stealValues(CSSParserValueList&);
unsigned size() const { return m_values.size(); }
unsigned currentIndex() { return m_current; }
void setForPage() { m_selector->setForPage(); }
void setRelationIsAffectedByPseudoContent() { m_selector->setRelationIsAffectedByPseudoContent(); }
bool relationIsAffectedByPseudoContent() const { return m_selector->relationIsAffectedByPseudoContent(); }
- void setMatchUserAgentOnly() { m_selector->setMatchUserAgentOnly(); }
void adoptSelectorVector(Vector<OwnPtr<CSSParserSelector> >& selectorVector);
{
id = CSSValueInvalid;
isInt = false;
- fValue = value;
+ if (std::isfinite(value))
+ fValue = value;
+ else
+ fValue = 0;
this->unit = unit;
}
unit = Function;
}
+inline void CSSParserValue::setFromValueList(PassOwnPtr<CSSParserValueList> valueList)
+{
+ id = CSSValueInvalid;
+ this->valueList = valueList.leakPtr();
+ unit = ValueList;
+}
+
}
#endif