| Index: Source/core/css/parser/MediaQueryParser.cpp
|
| diff --git a/Source/core/css/parser/MediaQueryParser.cpp b/Source/core/css/parser/MediaQueryParser.cpp
|
| index ed83a4b8df83c09ebc3b5752a4685f3bf6ef8611..108a299ddb25fc80a79e74bf29be43080513b1b3 100644
|
| --- a/Source/core/css/parser/MediaQueryParser.cpp
|
| +++ b/Source/core/css/parser/MediaQueryParser.cpp
|
| @@ -142,7 +142,7 @@ void MediaQueryParser::readFeatureEnd(MediaQueryTokenType type, TokenIterator& t
|
|
|
| void MediaQueryParser::skipUntilComma(MediaQueryTokenType type, TokenIterator& token)
|
| {
|
| - if (type == CommaToken || type == EOFToken) {
|
| + if ((type == CommaToken && m_blockStack.isEmpty()) || type == EOFToken) {
|
| m_state = ReadRestrictor;
|
| m_mediaQueryData.clear();
|
| m_querySet->addMediaQuery(MediaQuery::createNotAll());
|
| @@ -179,14 +179,15 @@ bool MediaQueryParser::observeBlock(BlockParameters& parameters, MediaQueryToken
|
|
|
| void MediaQueryParser::observeBlocks(MediaQueryTokenType type)
|
| {
|
| - const unsigned blockParametersNumber = 3;
|
| - BlockParameters blockParameterSet[blockParametersNumber] = {
|
| + enum { BlockParametersCount = 4 };
|
| + BlockParameters blockParameterSet[BlockParametersCount] = {
|
| { LeftParenthesisToken, RightParenthesisToken, ParenthesisBlock, DoNotModifyState },
|
| + { FunctionToken, RightParenthesisToken, ParenthesisBlock, ModifyState },
|
| { LeftBracketToken, RightBracketToken, BracketsBlock, ModifyState },
|
| { LeftBraceToken, RightBraceToken, BracesBlock, ModifyState }
|
| };
|
|
|
| - for (unsigned i = 0; i < blockParametersNumber; ++i) {
|
| + for (unsigned i = 0; i < BlockParametersCount; ++i) {
|
| if (observeBlock(blockParameterSet[i], type))
|
| break;
|
| }
|
|
|