OLD | NEW |
1 %{ | 1 %{ |
2 | 2 |
3 /* | 3 /* |
4 * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org) | 4 * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org) |
5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 App
le Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 App
le Inc. All rights reserved. |
6 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
7 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> | 7 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> |
8 * Copyright (C) 2012 Intel Corporation. All rights reserved. | 8 * Copyright (C) 2012 Intel Corporation. All rights reserved. |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 313 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
324 %type <keyframeRuleList> keyframe_rule_list | 324 %type <keyframeRuleList> keyframe_rule_list |
325 %type <valueList> key_list | 325 %type <valueList> key_list |
326 %type <value> key | 326 %type <value> key |
327 | 327 |
328 %type <id> property | 328 %type <id> property |
329 | 329 |
330 %type <selector> specifier | 330 %type <selector> specifier |
331 %type <selector> specifier_list | 331 %type <selector> specifier_list |
332 %type <selector> simple_selector | 332 %type <selector> simple_selector |
333 %type <selector> selector | 333 %type <selector> selector |
334 %type <selector> relative_selector | |
335 %type <selectorList> selector_list | 334 %type <selectorList> selector_list |
336 %type <selectorList> simple_selector_list | 335 %type <selectorList> simple_selector_list |
337 %type <selector> class | 336 %type <selector> class |
338 %type <selector> attrib | 337 %type <selector> attrib |
339 %type <selector> pseudo | 338 %type <selector> pseudo |
340 %type <selector> pseudo_page | 339 %type <selector> pseudo_page |
341 %type <selector> page_selector | 340 %type <selector> page_selector |
342 | 341 |
343 %type <boolean> declaration_list | 342 %type <boolean> declaration_list |
344 %type <boolean> decl_list | 343 %type <boolean> decl_list |
(...skipping 764 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1109 $$ = parser->reusableSelectorVector(); | 1108 $$ = parser->reusableSelectorVector(); |
1110 $$->shrink(0); | 1109 $$->shrink(0); |
1111 $$->append(parser->sinkFloatingSelector($1)); | 1110 $$->append(parser->sinkFloatingSelector($1)); |
1112 } | 1111 } |
1113 | selector_list at_selector_end ',' maybe_space before_selector_group_item s
elector %prec UNIMPORTANT_TOK { | 1112 | selector_list at_selector_end ',' maybe_space before_selector_group_item s
elector %prec UNIMPORTANT_TOK { |
1114 $$ = $1; | 1113 $$ = $1; |
1115 $$->append(parser->sinkFloatingSelector($6)); | 1114 $$->append(parser->sinkFloatingSelector($6)); |
1116 } | 1115 } |
1117 ; | 1116 ; |
1118 | 1117 |
1119 relative_selector: | |
1120 combinator selector { | |
1121 $$ = $2; | |
1122 CSSParserSelector* end = $$; | |
1123 while (end->tagHistory()) | |
1124 end = end->tagHistory(); | |
1125 end->setRelation($1); | |
1126 } | |
1127 | selector | |
1128 ; | |
1129 | |
1130 selector: | 1118 selector: |
1131 simple_selector | 1119 simple_selector |
1132 | selector WHITESPACE | 1120 | selector WHITESPACE |
1133 | selector WHITESPACE simple_selector | 1121 | selector WHITESPACE simple_selector |
1134 { | 1122 { |
1135 $$ = $3; | 1123 $$ = $3; |
1136 CSSParserSelector* end = $$; | 1124 CSSParserSelector* end = $$; |
1137 while (end->tagHistory()) | 1125 while (end->tagHistory()) |
1138 end = end->tagHistory(); | 1126 end = end->tagHistory(); |
1139 end->setRelation(CSSSelector::Descendant); | 1127 end->setRelation(CSSSelector::Descendant); |
(...skipping 223 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1363 $$->setMatch(CSSSelector::PseudoElement); | 1351 $$->setMatch(CSSSelector::PseudoElement); |
1364 $$->adoptSelectorVector(*parser->sinkFloatingSelectorVector($5)); | 1352 $$->adoptSelectorVector(*parser->sinkFloatingSelectorVector($5)); |
1365 $$->setValue($3); | 1353 $$->setValue($3); |
1366 CSSSelector::PseudoType type = $$->pseudoType(); | 1354 CSSSelector::PseudoType type = $$->pseudoType(); |
1367 if (type != CSSSelector::PseudoCue) | 1355 if (type != CSSSelector::PseudoCue) |
1368 YYERROR; | 1356 YYERROR; |
1369 } | 1357 } |
1370 | ':' ':' CUEFUNCTION selector_recovery closing_parenthesis { | 1358 | ':' ':' CUEFUNCTION selector_recovery closing_parenthesis { |
1371 YYERROR; | 1359 YYERROR; |
1372 } | 1360 } |
1373 | ':' ':' DISTRIBUTEDFUNCTION maybe_space relative_selector closing_parenthe
sis { | |
1374 $$ = parser->createFloatingSelector(); | |
1375 $$->setMatch(CSSSelector::PseudoElement); | |
1376 $$->setFunctionArgumentSelector($5); | |
1377 parser->tokenToLowerCase($3); | |
1378 $$->setValue($3); | |
1379 } | |
1380 | ':' ':' DISTRIBUTEDFUNCTION selector_recovery closing_parenthesis { | |
1381 YYERROR; | |
1382 } | |
1383 // use by :-webkit-any. | 1361 // use by :-webkit-any. |
1384 // FIXME: should we support generic selectors here or just simple_selectors? | 1362 // FIXME: should we support generic selectors here or just simple_selectors? |
1385 // Use simple_selector_list for now to match -moz-any. | 1363 // Use simple_selector_list for now to match -moz-any. |
1386 // See http://lists.w3.org/Archives/Public/www-style/2010Sep/0566.html for s
ome | 1364 // See http://lists.w3.org/Archives/Public/www-style/2010Sep/0566.html for s
ome |
1387 // related discussion with respect to :not. | 1365 // related discussion with respect to :not. |
1388 | ':' ANYFUNCTION maybe_space simple_selector_list maybe_space closing_paren
thesis { | 1366 | ':' ANYFUNCTION maybe_space simple_selector_list maybe_space closing_paren
thesis { |
1389 $$ = parser->createFloatingSelector(); | 1367 $$ = parser->createFloatingSelector(); |
1390 $$->setMatch(CSSSelector::PseudoClass); | 1368 $$->setMatch(CSSSelector::PseudoClass); |
1391 $$->adoptSelectorVector(*parser->sinkFloatingSelectorVector($4)); | 1369 $$->adoptSelectorVector(*parser->sinkFloatingSelectorVector($4)); |
1392 parser->tokenToLowerCase($2); | 1370 parser->tokenToLowerCase($2); |
(...skipping 503 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1896 ; | 1874 ; |
1897 | 1875 |
1898 rule_error_recovery: | 1876 rule_error_recovery: |
1899 /* empty */ | 1877 /* empty */ |
1900 | rule_error_recovery error | 1878 | rule_error_recovery error |
1901 | rule_error_recovery invalid_square_brackets_block | 1879 | rule_error_recovery invalid_square_brackets_block |
1902 | rule_error_recovery invalid_parentheses_block | 1880 | rule_error_recovery invalid_parentheses_block |
1903 ; | 1881 ; |
1904 | 1882 |
1905 %% | 1883 %% |
OLD | NEW |