#include "core/css/parser/MediaQueryToken.h"
#include "wtf/text/WTFString.h"
-namespace WebCore {
+namespace blink {
struct SizesCalcValue {
double value;
class SizesCalcParser {
public:
- static bool parse(MediaQueryTokenIterator start, MediaQueryTokenIterator end, PassRefPtr<MediaValues>, unsigned& result);
+ SizesCalcParser(MediaQueryTokenIterator start, MediaQueryTokenIterator end, PassRefPtr<MediaValues>);
-private:
- SizesCalcParser(PassRefPtr<MediaValues> mediaValues)
- : m_mediaValues(mediaValues)
- {
- }
+ bool viewportDependant() const { return m_viewportDependant; }
+ unsigned result() const;
+ bool isValid() const { return m_isValid; }
+private:
bool calcToReversePolishNotation(MediaQueryTokenIterator start, MediaQueryTokenIterator end);
- bool calculate(unsigned& result);
+ bool calculate();
void appendNumber(const MediaQueryToken&);
bool appendLength(const MediaQueryToken&);
bool handleOperator(Vector<MediaQueryToken>& stack, const MediaQueryToken&);
Vector<SizesCalcValue> m_valueList;
RefPtr<MediaValues> m_mediaValues;
+ bool m_viewportDependant;
+ bool m_isValid;
+ unsigned m_result;
};
-} // namespace WebCore
+} // namespace blink
#endif // SizesCalcParser_h