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 1335 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1346 | 1346 |
1347 pseudo: | 1347 pseudo: |
1348 ':' error_location IDENT { | 1348 ':' error_location IDENT { |
1349 if ($3.isFunction()) | 1349 if ($3.isFunction()) |
1350 YYERROR; | 1350 YYERROR; |
1351 $$ = parser->createFloatingSelector(); | 1351 $$ = parser->createFloatingSelector(); |
1352 $$->setMatch(CSSSelector::PseudoClass); | 1352 $$->setMatch(CSSSelector::PseudoClass); |
1353 parser->tokenToLowerCase($3); | 1353 parser->tokenToLowerCase($3); |
1354 $$->setValue($3); | 1354 $$->setValue($3); |
1355 CSSSelector::PseudoType type = $$->pseudoType(); | 1355 CSSSelector::PseudoType type = $$->pseudoType(); |
1356 if (type == CSSSelector::PseudoUnknown) { | 1356 if (type == CSSSelector::PseudoUnknown || |
| 1357 !parser->isSelectorAllowedInParsingMode(type)) { |
1357 parser->reportError($2, InvalidSelectorPseudoCSSError); | 1358 parser->reportError($2, InvalidSelectorPseudoCSSError); |
1358 YYERROR; | 1359 YYERROR; |
1359 } | 1360 } |
1360 } | 1361 } |
1361 | ':' ':' error_location IDENT { | 1362 | ':' ':' error_location IDENT { |
1362 if ($4.isFunction()) | 1363 if ($4.isFunction()) |
1363 YYERROR; | 1364 YYERROR; |
1364 $$ = parser->createFloatingSelector(); | 1365 $$ = parser->createFloatingSelector(); |
1365 $$->setMatch(CSSSelector::PseudoElement); | 1366 $$->setMatch(CSSSelector::PseudoElement); |
1366 parser->tokenToLowerCase($4); | 1367 parser->tokenToLowerCase($4); |
1367 $$->setValue($4); | 1368 $$->setValue($4); |
1368 // FIXME: This call is needed to force selector to compute the pseudoTyp
e early enough. | 1369 // FIXME: This call is needed to force selector to compute the pseudoTyp
e early enough. |
1369 CSSSelector::PseudoType type = $$->pseudoType(); | 1370 CSSSelector::PseudoType type = $$->pseudoType(); |
1370 if (type == CSSSelector::PseudoUnknown) { | 1371 if (type == CSSSelector::PseudoUnknown || |
| 1372 !parser->isSelectorAllowedInParsingMode(type)) { |
1371 parser->reportError($3, InvalidSelectorPseudoCSSError); | 1373 parser->reportError($3, InvalidSelectorPseudoCSSError); |
1372 YYERROR; | 1374 YYERROR; |
1373 } | 1375 } |
1374 } | 1376 } |
1375 // used by ::cue(:past/:future) | 1377 // used by ::cue(:past/:future) |
1376 | ':' ':' CUEFUNCTION maybe_space simple_selector_list maybe_space closing_p
arenthesis { | 1378 | ':' ':' CUEFUNCTION maybe_space simple_selector_list maybe_space closing_p
arenthesis { |
1377 $$ = parser->createFloatingSelector(); | 1379 $$ = parser->createFloatingSelector(); |
1378 $$->setMatch(CSSSelector::PseudoElement); | 1380 $$->setMatch(CSSSelector::PseudoElement); |
1379 $$->adoptSelectorVector(*parser->sinkFloatingSelectorVector($5)); | 1381 $$->adoptSelectorVector(*parser->sinkFloatingSelectorVector($5)); |
1380 $$->setValue($3); | 1382 $$->setValue($3); |
(...skipping 475 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1856 ; | 1858 ; |
1857 | 1859 |
1858 rule_error_recovery: | 1860 rule_error_recovery: |
1859 /* empty */ | 1861 /* empty */ |
1860 | rule_error_recovery error | 1862 | rule_error_recovery error |
1861 | rule_error_recovery invalid_square_brackets_block | 1863 | rule_error_recovery invalid_square_brackets_block |
1862 | rule_error_recovery invalid_parentheses_block | 1864 | rule_error_recovery invalid_parentheses_block |
1863 ; | 1865 ; |
1864 | 1866 |
1865 %% | 1867 %% |
OLD | NEW |