Index: Source/core/css/CSSParser.cpp |
diff --git a/Source/core/css/CSSParser.cpp b/Source/core/css/CSSParser.cpp |
index 2b2efe3abf69f8396bbd09ab6fe62bf22de85e99..4fbcf74fdc80e402882492fbebbd6265b18705e8 100644 |
--- a/Source/core/css/CSSParser.cpp |
+++ b/Source/core/css/CSSParser.cpp |
@@ -1363,7 +1363,7 @@ PassOwnPtr<MediaQuery> CSSParser::parseMediaQuery(const String& string) |
ASSERT(!m_mediaQuery); |
// can't use { because tokenizer state switches from mediaquery to initial state when it sees { token. |
- // instead insert one " " (which is WHITESPACE in CSSGrammar.y) |
+ // instead insert one " " (which is caught by maybe_space in CSSGrammar.y) |
setupParser("@-webkit-mediaquery ", string, "} "); |
cssyyparse(this); |
@@ -10326,7 +10326,8 @@ restartAfterComment: |
// ... and(max-width: 480px) ... looks like a function, but in fact it is not, |
// so run more detection code in the MediaQueryMode. |
detectMediaQueryToken<SrcCharacterType>(result - tokenStart<SrcCharacterType>()); |
- shouldSkipParenthesis = false; |
+ if (m_token == MEDIA_AND) |
+ shouldSkipParenthesis = false; |
} |
} |
@@ -10798,6 +10799,11 @@ MediaQuery* CSSParser::createFloatingMediaQuery(PassOwnPtr<Vector<OwnPtr<MediaQu |
return createFloatingMediaQuery(MediaQuery::None, "all", expressions); |
} |
+MediaQuery* CSSParser::createFloatingNotAllQuery() |
+{ |
+ return createFloatingMediaQuery(MediaQuery::Not, "all", sinkFloatingMediaQueryExpList(createFloatingMediaQueryExpList())); |
+} |
+ |
PassOwnPtr<MediaQuery> CSSParser::sinkFloatingMediaQuery(MediaQuery* query) |
{ |
ASSERT_UNUSED(query, query == m_floatingMediaQuery); |