MCPcopy Create free account
hub / github.com/dillo-browser/dillo / parseMedia

Method parseMedia

src/cssparser.cc:1686–1727  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1684}
1685
1686void CssParser::parseMedia()
1687{
1688 bool mediaSyntaxIsOK = false;
1689 bool mediaIsSelected = false;
1690
1691 nextToken();
1692
1693 /* parse a comma-separated list of media */
1694 while (ttype == CSS_TK_SYMBOL) {
1695 if (dStrAsciiCasecmp(tval, "all") == 0 ||
1696 dStrAsciiCasecmp(tval, "screen") == 0)
1697 mediaIsSelected = true;
1698 nextToken();
1699 if (ttype == CSS_TK_CHAR && tval[0] == ',') {
1700 nextToken();
1701 } else {
1702 mediaSyntaxIsOK = true;
1703 break;
1704 }
1705 }
1706
1707 /* check that the syntax is OK so far */
1708 if (!(mediaSyntaxIsOK &&
1709 ttype == CSS_TK_CHAR &&
1710 tval[0] == '{')) {
1711 ignoreStatement();
1712 return;
1713 }
1714
1715 /* parse/ignore the block as required */
1716 if (mediaIsSelected) {
1717 nextToken();
1718 while (ttype != CSS_TK_END) {
1719 parseRuleset();
1720 if (ttype == CSS_TK_CHAR && tval[0] == '}') {
1721 nextToken();
1722 break;
1723 }
1724 }
1725 } else
1726 ignoreBlock();
1727}
1728
1729const char * CssParser::propertyNameString(CssPropertyName name)
1730{

Callers 1

parseMethod · 0.80

Calls 1

dStrAsciiCasecmpFunction · 0.85

Tested by

no test coverage detected