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

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: Patch for landing 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 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after
1175 selector: 1175 selector:
1176 simple_selector 1176 simple_selector
1177 | selector WHITESPACE 1177 | selector WHITESPACE
1178 | selector WHITESPACE simple_selector 1178 | selector WHITESPACE simple_selector
1179 { 1179 {
1180 $$ = $3; 1180 $$ = $3;
1181 CSSParserSelector* end = $$; 1181 CSSParserSelector* end = $$;
1182 while (end->tagHistory()) 1182 while (end->tagHistory())
1183 end = end->tagHistory(); 1183 end = end->tagHistory();
1184 end->setRelation(CSSSelector::Descendant); 1184 end->setRelation(CSSSelector::Descendant);
1185 if ($1->isContentPseudoElement())
1186 end->setRelationIsAffectedByPseudoContent();
1185 end->setTagHistory(parser->sinkFloatingSelector($1)); 1187 end->setTagHistory(parser->sinkFloatingSelector($1));
1186 } 1188 }
1187 | selector combinator simple_selector { 1189 | selector combinator simple_selector {
1188 $$ = $3; 1190 $$ = $3;
1189 CSSParserSelector* end = $$; 1191 CSSParserSelector* end = $$;
1190 while (end->tagHistory()) 1192 while (end->tagHistory())
1191 end = end->tagHistory(); 1193 end = end->tagHistory();
1192 end->setRelation($2); 1194 end->setRelation($2);
1195 if ($1->isContentPseudoElement())
1196 end->setRelationIsAffectedByPseudoContent();
1193 end->setTagHistory(parser->sinkFloatingSelector($1)); 1197 end->setTagHistory(parser->sinkFloatingSelector($1));
1194 } 1198 }
1195 ; 1199 ;
1196 1200
1197 namespace_selector: 1201 namespace_selector:
1198 /* empty */ '|' { $$.clear(); } 1202 /* empty */ '|' { $$.clear(); }
1199 | '*' '|' { static LChar star = '*'; $$.init(&star, 1); } 1203 | '*' '|' { static LChar star = '*'; $$.init(&star, 1); }
1200 | IDENT '|' 1204 | IDENT '|'
1201 ; 1205 ;
1202 1206
(...skipping 673 matching lines...) Expand 10 before | Expand all | Expand 10 after
1876 1880
1877 rule_error_recovery: 1881 rule_error_recovery:
1878 /* empty */ 1882 /* empty */
1879 | rule_error_recovery error 1883 | rule_error_recovery error
1880 | rule_error_recovery invalid_square_brackets_block 1884 | rule_error_recovery invalid_square_brackets_block
1881 | rule_error_recovery invalid_parentheses_block 1885 | rule_error_recovery invalid_parentheses_block
1882 ; 1886 ;
1883 1887
1884 %% 1888 %%
1885 1889
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698