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

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

Issue 23542021: Explicit space required around NOT/ONLY/AND in CSS MQ. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fixed review issues. Created 7 years, 2 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
« no previous file with comments | « LayoutTests/fast/media/media-query-only-not-expected.html ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 379 matching lines...) Expand 10 before | Expand all | Expand 10 after
390 parser->m_selectorListForParseSelector->adoptSelectorVector(*$3); 390 parser->m_selectorListForParseSelector->adoptSelectorVector(*$3);
391 } 391 }
392 ; 392 ;
393 393
394 internal_supports_condition: 394 internal_supports_condition:
395 INTERNAL_SUPPORTS_CONDITION_SYM maybe_space supports_condition TOKEN_EOF { 395 INTERNAL_SUPPORTS_CONDITION_SYM maybe_space supports_condition TOKEN_EOF {
396 parser->m_supportsCondition = $3; 396 parser->m_supportsCondition = $3;
397 } 397 }
398 ; 398 ;
399 399
400 space:
401 WHITESPACE
402 | space WHITESPACE
403 ;
404
400 maybe_space: 405 maybe_space:
401 /* empty */ %prec UNIMPORTANT_TOK 406 /* empty */ %prec UNIMPORTANT_TOK
402 | maybe_space WHITESPACE 407 | space
403 ; 408 ;
404 409
405 maybe_sgml: 410 maybe_sgml:
406 /* empty */ 411 /* empty */
407 | maybe_sgml SGML_CD 412 | maybe_sgml SGML_CD
408 | maybe_sgml WHITESPACE 413 | maybe_sgml WHITESPACE
409 ; 414 ;
410 415
411 maybe_charset: 416 maybe_charset:
412 /* empty */ 417 /* empty */
(...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after
591 maybe_media_value: 596 maybe_media_value:
592 /*empty*/ { 597 /*empty*/ {
593 $$ = 0; 598 $$ = 0;
594 } 599 }
595 | ':' maybe_space expr { 600 | ':' maybe_space expr {
596 $$ = $3; 601 $$ = $3;
597 } 602 }
598 ; 603 ;
599 604
600 media_query_exp: 605 media_query_exp:
601 '(' maybe_space IDENT maybe_space maybe_media_value closing_parenthesis mayb e_space { 606 '(' maybe_space IDENT maybe_space maybe_media_value closing_parenthesis {
602 parser->tokenToLowerCase($3); 607 parser->tokenToLowerCase($3);
603 $$ = parser->createFloatingMediaQueryExp($3, $5); 608 $$ = parser->createFloatingMediaQueryExp($3, $5);
604 if (!$$) 609 if (!$$)
605 YYERROR; 610 YYERROR;
606 } 611 }
607 | '(' error error_recovery closing_parenthesis { 612 | '(' error error_recovery closing_parenthesis {
608 YYERROR; 613 YYERROR;
609 } 614 }
610 ; 615 ;
611 616
612 media_query_exp_list: 617 media_query_exp_list:
613 media_query_exp { 618 media_query_exp {
614 $$ = parser->createFloatingMediaQueryExpList(); 619 $$ = parser->createFloatingMediaQueryExpList();
615 $$->append(parser->sinkFloatingMediaQueryExp($1)); 620 $$->append(parser->sinkFloatingMediaQueryExp($1));
616 } 621 }
617 | media_query_exp_list MEDIA_AND maybe_space media_query_exp { 622 | media_query_exp_list space MEDIA_AND space media_query_exp {
618 $$ = $1; 623 $$ = $1;
619 $$->append(parser->sinkFloatingMediaQueryExp($4)); 624 $$->append(parser->sinkFloatingMediaQueryExp($5));
620 } 625 }
621 ; 626 ;
622 627
623 maybe_and_media_query_exp_list: 628 maybe_and_media_query_exp_list:
624 /*empty*/ { 629 /*empty*/ {
SeRya 2013/10/01 13:41:35 "maybe_space" instead of "/*empty*/ | space". The
rune 2013/10/01 13:59:54 Done.
625 $$ = parser->createFloatingMediaQueryExpList(); 630 $$ = parser->createFloatingMediaQueryExpList();
626 } 631 }
627 | MEDIA_AND maybe_space media_query_exp_list { 632 | space {
628 $$ = $3; 633 $$ = parser->createFloatingMediaQueryExpList();
634 }
635 | space MEDIA_AND space media_query_exp_list maybe_space {
636 $$ = $4;
629 } 637 }
630 ; 638 ;
631 639
632 maybe_media_restrictor: 640 maybe_media_restrictor:
633 /*empty*/ { 641 /*empty*/ {
634 $$ = MediaQuery::None; 642 $$ = MediaQuery::None;
635 } 643 }
636 | MEDIA_ONLY maybe_space { 644 | MEDIA_ONLY space {
637 $$ = MediaQuery::Only; 645 $$ = MediaQuery::Only;
638 } 646 }
639 | MEDIA_NOT maybe_space { 647 | MEDIA_NOT space {
640 $$ = MediaQuery::Not; 648 $$ = MediaQuery::Not;
641 } 649 }
642 ; 650 ;
643 651
644 valid_media_query: 652 valid_media_query:
645 media_query_exp_list { 653 media_query_exp_list maybe_space {
646 $$ = parser->createFloatingMediaQuery(parser->sinkFloatingMediaQueryExpL ist($1)); 654 $$ = parser->createFloatingMediaQuery(parser->sinkFloatingMediaQueryExpL ist($1));
647 } 655 }
648 | maybe_media_restrictor medium maybe_and_media_query_exp_list { 656 | maybe_media_restrictor medium maybe_and_media_query_exp_list {
649 parser->tokenToLowerCase($2); 657 parser->tokenToLowerCase($2);
650 $$ = parser->createFloatingMediaQuery($1, $2, parser->sinkFloatingMediaQ ueryExpList($3)); 658 $$ = parser->createFloatingMediaQuery($1, $2, parser->sinkFloatingMediaQ ueryExpList($3));
651 } 659 }
652 ; 660 ;
653 661
654 media_query: 662 media_query:
655 valid_media_query 663 valid_media_query
(...skipping 69 matching lines...) Expand 10 before | Expand all | Expand 10 after
725 $$ = 0; 733 $$ = 0;
726 parser->endRuleBody(true); 734 parser->endRuleBody(true);
727 } 735 }
728 | before_media_rule MEDIA_SYM at_rule_recovery { 736 | before_media_rule MEDIA_SYM at_rule_recovery {
729 $$ = 0; 737 $$ = 0;
730 parser->endRuleBody(true); 738 parser->endRuleBody(true);
731 } 739 }
732 ; 740 ;
733 741
734 medium: 742 medium:
735 IDENT maybe_space 743 IDENT
736 ; 744 ;
737 745
738 supports: 746 supports:
739 before_supports_rule SUPPORTS_SYM maybe_space supports_condition at_supports _rule_header_end '{' at_rule_body_start maybe_space block_rule_body closing_brac e { 747 before_supports_rule SUPPORTS_SYM maybe_space supports_condition at_supports _rule_header_end '{' at_rule_body_start maybe_space block_rule_body closing_brac e {
740 $$ = parser->createSupportsRule($4, $9); 748 $$ = parser->createSupportsRule($4, $9);
741 } 749 }
742 | before_supports_rule SUPPORTS_SYM error error_location rule_error_recovery at_rule_end { 750 | before_supports_rule SUPPORTS_SYM error error_location rule_error_recovery at_rule_end {
743 $$ = 0; 751 $$ = 0;
744 parser->reportError($4, CSSParser::InvalidSupportsConditionError); 752 parser->reportError($4, CSSParser::InvalidSupportsConditionError);
745 parser->endRuleBody(true); 753 parser->endRuleBody(true);
(...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after
1082 } 1090 }
1083 ; 1091 ;
1084 1092
1085 before_region_rule: 1093 before_region_rule:
1086 /* empty */ { 1094 /* empty */ {
1087 parser->startRuleHeader(CSSRuleSourceData::REGION_RULE); 1095 parser->startRuleHeader(CSSRuleSourceData::REGION_RULE);
1088 } 1096 }
1089 ; 1097 ;
1090 1098
1091 region: 1099 region:
1092 before_region_rule WEBKIT_REGION_RULE_SYM WHITESPACE region_selector at_rule _header_end '{' at_rule_body_start maybe_space region_block_rule_body closing_br ace { 1100 before_region_rule WEBKIT_REGION_RULE_SYM maybe_space region_selector at_rul e_header_end '{' at_rule_body_start maybe_space region_block_rule_body closing_b race {
1093 $$ = parser->createRegionRule($4, $9); 1101 $$ = parser->createRegionRule($4, $9);
1094 } 1102 }
1095 | before_region_rule WEBKIT_REGION_RULE_SYM at_rule_recovery { 1103 | before_region_rule WEBKIT_REGION_RULE_SYM at_rule_recovery {
1096 $$ = 0; 1104 $$ = 0;
1097 parser->endRuleBody(true); 1105 parser->endRuleBody(true);
1098 } 1106 }
1099 ; 1107 ;
1100 1108
1101 before_filter_rule: 1109 before_filter_rule:
1102 /* empty */ { 1110 /* empty */ {
1103 parser->startRuleHeader(CSSRuleSourceData::FILTER_RULE); 1111 parser->startRuleHeader(CSSRuleSourceData::FILTER_RULE);
1104 parser->m_inFilterRule = true; 1112 parser->m_inFilterRule = true;
1105 } 1113 }
1106 ; 1114 ;
1107 1115
1108 filter: 1116 filter:
1109 before_filter_rule WEBKIT_FILTER_RULE_SYM WHITESPACE IDENT at_rule_header_en d_maybe_space 1117 before_filter_rule WEBKIT_FILTER_RULE_SYM maybe_space IDENT at_rule_header_e nd_maybe_space
1110 '{' at_rule_body_start maybe_space_before_declaration declaration_list closi ng_brace { 1118 '{' at_rule_body_start maybe_space_before_declaration declaration_list closi ng_brace {
1111 parser->m_inFilterRule = false; 1119 parser->m_inFilterRule = false;
1112 $$ = parser->createFilterRule($4); 1120 $$ = parser->createFilterRule($4);
1113 } 1121 }
1114 | before_filter_rule WEBKIT_FILTER_RULE_SYM at_rule_recovery { 1122 | before_filter_rule WEBKIT_FILTER_RULE_SYM at_rule_recovery {
1115 $$ = 0; 1123 $$ = 0;
1116 } 1124 }
1117 ; 1125 ;
1118 1126
1119 combinator: 1127 combinator:
(...skipping 645 matching lines...) Expand 10 before | Expand all | Expand 10 after
1765 unary_term 1773 unary_term
1766 | VARFUNCTION maybe_space IDENT closing_parenthesis { 1774 | VARFUNCTION maybe_space IDENT closing_parenthesis {
1767 $$.id = CSSValueInvalid; 1775 $$.id = CSSValueInvalid;
1768 $$.string = $3; 1776 $$.string = $3;
1769 $$.unit = CSSPrimitiveValue::CSS_VARIABLE_NAME; 1777 $$.unit = CSSPrimitiveValue::CSS_VARIABLE_NAME;
1770 } 1778 }
1771 | unary_operator unary_term { $$ = $2; $$.fValue *= $1; } 1779 | unary_operator unary_term { $$ = $2; $$.fValue *= $1; }
1772 ; 1780 ;
1773 1781
1774 calc_func_operator: 1782 calc_func_operator:
1775 WHITESPACE '+' WHITESPACE { 1783 space '+' space {
1776 $$ = '+'; 1784 $$ = '+';
1777 } 1785 }
1778 | WHITESPACE '-' WHITESPACE { 1786 | space '-' space {
1779 $$ = '-'; 1787 $$ = '-';
1780 } 1788 }
1781 | calc_maybe_space '*' maybe_space { 1789 | calc_maybe_space '*' maybe_space {
1782 $$ = '*'; 1790 $$ = '*';
1783 } 1791 }
1784 | calc_maybe_space '/' maybe_space { 1792 | calc_maybe_space '/' maybe_space {
1785 $$ = '/'; 1793 $$ = '/';
1786 } 1794 }
1787 ; 1795 ;
1788 1796
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1928 1936
1929 rule_error_recovery: 1937 rule_error_recovery:
1930 /* empty */ 1938 /* empty */
1931 | rule_error_recovery error 1939 | rule_error_recovery error
1932 | rule_error_recovery invalid_square_brackets_block 1940 | rule_error_recovery invalid_square_brackets_block
1933 | rule_error_recovery invalid_parentheses_block 1941 | rule_error_recovery invalid_parentheses_block
1934 ; 1942 ;
1935 1943
1936 %% 1944 %%
1937 1945
OLDNEW
« no previous file with comments | « LayoutTests/fast/media/media-query-only-not-expected.html ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698