* CSS Media Query
*
* Copyright (C) 2006 Kimmo Kinnunen <kimmo.t.kinnunen@nokia.com>.
+ * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies).
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
namespace WebCore {
class CSSParserValueList;
-class MediaQueryExp
-{
+class MediaQueryExp : public FastAllocBase {
public:
MediaQueryExp(const AtomicString& mediaFeature, CSSParserValueList* values);
~MediaQueryExp();
CSSValue* value() const { return m_value.get(); }
- bool operator==(const MediaQueryExp& other) const {
+ bool operator==(const MediaQueryExp& other) const
+ {
return (other.m_mediaFeature == m_mediaFeature)
&& ((!other.m_value && !m_value)
|| (other.m_value && m_value && other.m_value->cssText() == m_value->cssText()));
}
+ bool isValid() const { return m_isValid; }
+
bool isViewportDependent() const { return m_mediaFeature == MediaFeatureNames::widthMediaFeature ||
m_mediaFeature == MediaFeatureNames::heightMediaFeature ||
m_mediaFeature == MediaFeatureNames::min_widthMediaFeature ||
m_mediaFeature == MediaFeatureNames::aspect_ratioMediaFeature ||
m_mediaFeature == MediaFeatureNames::min_aspect_ratioMediaFeature ||
m_mediaFeature == MediaFeatureNames::max_aspect_ratioMediaFeature; }
+
+ String serialize() const;
+
private:
AtomicString m_mediaFeature;
RefPtr<CSSValue> m_value;
+ bool m_isValid;
+ String m_serializationCache;
};
} // namespace