Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(186)

Side by Side Diff: Source/core/css/CSSGrammar.y

Issue 212123002: Unship '::-webkit-distributed(...)' functional pseudo element. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Rebased Created 6 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
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
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 %%
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698