void MediaQueryParser::readMediaType(CSSParserTokenType type, const CSSParserToken& token) { if (type == LeftParenthesisToken) { if (m_mediaQueryData.restrictor() != MediaQuery::None) m_state = SkipUntilComma; else m_state = ReadFeature; } else if (type == IdentToken) { if (m_state == ReadRestrictor && token.valueEqualsIgnoringASCIICase("not")) { setStateAndRestrict(ReadMediaType, MediaQuery::Not); } else if (m_state == ReadRestrictor && token.valueEqualsIgnoringASCIICase("only")) { setStateAndRestrict(ReadMediaType, MediaQuery::Only); } else if (m_mediaQueryData.restrictor() != MediaQuery::None && isRestrictorOrLogicalOperator(token)) { m_state = SkipUntilComma; } else { m_mediaQueryData.setMediaType(token.value()); m_state = ReadAnd; } } else if (type == EOFToken && (!m_querySet->queryVector().size() || m_state != ReadRestrictor)) { m_state = Done; } else { m_state = SkipUntilComma; if (type == CommaToken) skipUntilComma(type, token); } }
void MediaQueryParser::readMediaType(MediaQueryTokenType type, const MediaQueryToken& token) { if (type == LeftParenthesisToken) { m_state = ReadFeature; } else if (type == IdentToken) { if (m_state == ReadRestrictor && equalIgnoringCase(token.value(), "not")) { setStateAndRestrict(ReadMediaType, MediaQuery::Not); } else if (m_state == ReadRestrictor && equalIgnoringCase(token.value(), "only")) { setStateAndRestrict(ReadMediaType, MediaQuery::Only); } else { m_mediaQueryData.setMediaType(token.value()); m_state = ReadAnd; } } else if (type == EOFToken && (!m_querySet->queryVector().size() || m_state != ReadRestrictor)) { m_state = Done; } else { m_state = SkipUntilComma; if (type == CommaToken) skipUntilComma(type, token); } }