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

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

Issue 21151005: Implement ::content (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 7 years, 4 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 * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 2002-2003 Lars Knoll (knoll@kde.org)
3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 App le Inc. All rights reserved. 3 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 App le Inc. All rights reserved.
4 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) 4 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org> 5 * Copyright (C) 2008 Eric Seidel <eric@webkit.org>
6 * Copyright (C) 2012 Intel Corporation. All rights reserved. 6 * Copyright (C) 2012 Intel Corporation. All rights reserved.
7 * 7 *
8 * This library is free software; you can redistribute it and/or 8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public 9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either 10 * License as published by the Free Software Foundation; either
(...skipping 1165 matching lines...) Expand 10 before | Expand all | Expand 10 after
1176 selector: 1176 selector:
1177 simple_selector 1177 simple_selector
1178 | selector WHITESPACE 1178 | selector WHITESPACE
1179 | selector WHITESPACE simple_selector 1179 | selector WHITESPACE simple_selector
1180 { 1180 {
1181 $$ = $3; 1181 $$ = $3;
1182 CSSParserSelector* end = $$; 1182 CSSParserSelector* end = $$;
1183 while (end->tagHistory()) 1183 while (end->tagHistory())
1184 end = end->tagHistory(); 1184 end = end->tagHistory();
1185 end->setRelation(CSSSelector::Descendant); 1185 end->setRelation(CSSSelector::Descendant);
1186 if ($1->isContentPseudoElement())
1187 end->setRelationIsForShadowDistributed();
1186 end->setTagHistory(parser->sinkFloatingSelector($1)); 1188 end->setTagHistory(parser->sinkFloatingSelector($1));
1187 } 1189 }
1188 | selector combinator simple_selector { 1190 | selector combinator simple_selector {
1189 $$ = $3; 1191 $$ = $3;
1190 CSSParserSelector* end = $$; 1192 CSSParserSelector* end = $$;
1191 while (end->tagHistory()) 1193 while (end->tagHistory())
1192 end = end->tagHistory(); 1194 end = end->tagHistory();
1193 end->setRelation($2); 1195 end->setRelation($2);
1196 if ($1->isContentPseudoElement())
1197 end->setRelationIsForShadowDistributed();
1194 end->setTagHistory(parser->sinkFloatingSelector($1)); 1198 end->setTagHistory(parser->sinkFloatingSelector($1));
1195 } 1199 }
1196 ; 1200 ;
1197 1201
1198 namespace_selector: 1202 namespace_selector:
1199 /* empty */ '|' { $$.clear(); } 1203 /* empty */ '|' { $$.clear(); }
1200 | '*' '|' { static LChar star = '*'; $$.init(&star, 1); } 1204 | '*' '|' { static LChar star = '*'; $$.init(&star, 1); }
1201 | IDENT '|' 1205 | IDENT '|'
1202 ; 1206 ;
1203 1207
(...skipping 658 matching lines...) Expand 10 before | Expand all | Expand 10 after
1862 1866
1863 rule_error_recovery: 1867 rule_error_recovery:
1864 /* empty */ 1868 /* empty */
1865 | rule_error_recovery error 1869 | rule_error_recovery error
1866 | rule_error_recovery invalid_square_brackets_block 1870 | rule_error_recovery invalid_square_brackets_block
1867 | rule_error_recovery invalid_parentheses_block 1871 | rule_error_recovery invalid_parentheses_block
1868 ; 1872 ;
1869 1873
1870 %% 1874 %%
1871 1875
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698