| Index: Source/core/css/parser/MediaQueryParser.h
|
| diff --git a/Source/core/css/parser/MediaQueryParser.h b/Source/core/css/parser/MediaQueryParser.h
|
| index ca2dc5c27e52bdfa51dc39c938d1e50188360b3c..6c04090a1c19d584894757921961ba3e4676d828 100644
|
| --- a/Source/core/css/parser/MediaQueryParser.h
|
| +++ b/Source/core/css/parser/MediaQueryParser.h
|
| @@ -9,6 +9,7 @@
|
| #include "core/css/MediaList.h"
|
| #include "core/css/MediaQuery.h"
|
| #include "core/css/MediaQueryExp.h"
|
| +#include "core/css/parser/MediaQueryBlockWatcher.h"
|
| #include "core/css/parser/MediaQueryToken.h"
|
| #include "wtf/Vector.h"
|
| #include "wtf/text/WTFString.h"
|
| @@ -31,7 +32,7 @@ public:
|
| MediaQueryData();
|
| void clear();
|
| bool addExpression();
|
| - void addParserValue(MediaQueryTokenType, MediaQueryToken&);
|
| + void addParserValue(MediaQueryTokenType, const MediaQueryToken&);
|
| void setMediaType(const String&);
|
| PassOwnPtrWillBeRawPtr<MediaQuery> takeMediaQuery();
|
|
|
| @@ -64,49 +65,29 @@ private:
|
|
|
| PassRefPtrWillBeRawPtr<MediaQuerySet> parseImpl(TokenIterator, TokenIterator endToken);
|
|
|
| - enum BlockType {
|
| - ParenthesisBlock,
|
| - BracketsBlock,
|
| - BracesBlock
|
| - };
|
| -
|
| - enum StateChange {
|
| - ModifyState,
|
| - DoNotModifyState
|
| - };
|
| -
|
| - struct BlockParameters {
|
| - MediaQueryTokenType leftToken;
|
| - MediaQueryTokenType rightToken;
|
| - BlockType blockType;
|
| - StateChange stateChange;
|
| - };
|
| -
|
| - void processToken(TokenIterator&);
|
| + void processToken(const MediaQueryToken&);
|
|
|
| - void readRestrictor(MediaQueryTokenType, TokenIterator&);
|
| - void readMediaType(MediaQueryTokenType, TokenIterator&);
|
| - void readAnd(MediaQueryTokenType, TokenIterator&);
|
| - void readFeatureStart(MediaQueryTokenType, TokenIterator&);
|
| - void readFeature(MediaQueryTokenType, TokenIterator&);
|
| - void readFeatureColon(MediaQueryTokenType, TokenIterator&);
|
| - void readFeatureValue(MediaQueryTokenType, TokenIterator&);
|
| - void readFeatureEnd(MediaQueryTokenType, TokenIterator&);
|
| - void skipUntilComma(MediaQueryTokenType, TokenIterator&);
|
| - void skipUntilBlockEnd(MediaQueryTokenType, TokenIterator&);
|
| - void done(MediaQueryTokenType, TokenIterator&);
|
| + void readRestrictor(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readMediaType(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readAnd(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readFeatureStart(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readFeature(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readFeatureColon(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readFeatureValue(MediaQueryTokenType, const MediaQueryToken&);
|
| + void readFeatureEnd(MediaQueryTokenType, const MediaQueryToken&);
|
| + void skipUntilComma(MediaQueryTokenType, const MediaQueryToken&);
|
| + void skipUntilBlockEnd(MediaQueryTokenType, const MediaQueryToken&);
|
| + void done(MediaQueryTokenType, const MediaQueryToken&);
|
|
|
| - typedef void (MediaQueryParser::*State)(MediaQueryTokenType, TokenIterator&);
|
| + typedef void (MediaQueryParser::*State)(MediaQueryTokenType, const MediaQueryToken&);
|
|
|
| void setStateAndRestrict(State, MediaQuery::Restrictor);
|
| - bool observeBlock(BlockParameters&, MediaQueryTokenType);
|
| - void observeBlocks(MediaQueryTokenType);
|
| - static void popIfBlockMatches(Vector<MediaQueryParser::BlockType>& blockStack, BlockType);
|
| + void handleBlocks(const MediaQueryToken&);
|
|
|
| State m_state;
|
| MediaQueryData m_mediaQueryData;
|
| RefPtrWillBeMember<MediaQuerySet> m_querySet;
|
| - Vector<BlockType> m_blockStack;
|
| + MediaQueryBlockWatcher m_blockWatcher;
|
|
|
| const static State ReadRestrictor;
|
| const static State ReadMediaType;
|
|
|