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

Side by Side Diff: Source/core/css/parser/CSSParser.cpp

Issue 1096963002: Make UseCounters work on aliased properties (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 years, 8 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 | « Source/core/css/parser/CSSParser.h ('k') | Source/core/css/parser/CSSParserImpl.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "config.h" 5 #include "config.h"
6 #include "core/css/parser/CSSParser.h" 6 #include "core/css/parser/CSSParser.h"
7 7
8 #include "core/css/CSSKeyframeRule.h" 8 #include "core/css/CSSKeyframeRule.h"
9 #include "core/css/StyleColor.h" 9 #include "core/css/StyleColor.h"
10 #include "core/css/StyleRule.h" 10 #include "core/css/StyleRule.h"
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
50 void CSSParser::parseSheet(const CSSParserContext& context, StyleSheetContents* styleSheet, const String& text, const TextPosition& startPosition, CSSParserObse rver* observer, bool logErrors) 50 void CSSParser::parseSheet(const CSSParserContext& context, StyleSheetContents* styleSheet, const String& text, const TextPosition& startPosition, CSSParserObse rver* observer, bool logErrors)
51 { 51 {
52 if (RuntimeEnabledFeatures::newCSSParserEnabled()) { 52 if (RuntimeEnabledFeatures::newCSSParserEnabled()) {
53 if (observer) 53 if (observer)
54 return CSSParserImpl::parseStyleSheetForInspector(text, context, *ob server); 54 return CSSParserImpl::parseStyleSheetForInspector(text, context, *ob server);
55 return CSSParserImpl::parseStyleSheet(text, context, styleSheet); 55 return CSSParserImpl::parseStyleSheet(text, context, styleSheet);
56 } 56 }
57 BisonCSSParser(context).parseSheet(styleSheet, text, startPosition, observer , logErrors); 57 BisonCSSParser(context).parseSheet(styleSheet, text, startPosition, observer , logErrors);
58 } 58 }
59 59
60 bool CSSParser::parseValue(MutableStylePropertySet* declaration, CSSPropertyID p ropertyID, const String& string, bool important, CSSParserMode parserMode, Style SheetContents* styleSheet) 60 bool CSSParser::parseValue(MutableStylePropertySet* declaration, CSSPropertyID u nresolvedProperty, const String& string, bool important, CSSParserMode parserMod e, StyleSheetContents* styleSheet)
61 { 61 {
62 if (string.isEmpty()) 62 if (string.isEmpty())
63 return false; 63 return false;
64 if (parseFastPath(declaration, propertyID, string, important, parserMode)) 64 if (parseFastPath(declaration, unresolvedProperty, string, important, parser Mode))
65 return true; 65 return true;
66 CSSParserContext context(parserMode, 0); 66 CSSParserContext context(parserMode, 0);
67 if (styleSheet) { 67 if (styleSheet) {
68 context = styleSheet->parserContext(); 68 context = styleSheet->parserContext();
69 context.setMode(parserMode); 69 context.setMode(parserMode);
70 } 70 }
71 return parseValue(declaration, propertyID, string, important, context); 71 return parseValue(declaration, unresolvedProperty, string, important, contex t);
72 } 72 }
73 73
74 bool CSSParser::parseValue(MutableStylePropertySet* declaration, CSSPropertyID p ropertyID, const String& string, bool important, const CSSParserContext& context ) 74 bool CSSParser::parseValue(MutableStylePropertySet* declaration, CSSPropertyID u nresolvedProperty, const String& string, bool important, const CSSParserContext& context)
75 { 75 {
76 if (RuntimeEnabledFeatures::newCSSParserEnabled()) 76 if (RuntimeEnabledFeatures::newCSSParserEnabled())
77 return CSSParserImpl::parseValue(declaration, propertyID, string, import ant, context); 77 return CSSParserImpl::parseValue(declaration, unresolvedProperty, string , important, context);
78 return BisonCSSParser::parseValue(declaration, propertyID, string, important , context); 78 return BisonCSSParser::parseValue(declaration, unresolvedProperty, string, i mportant, context);
79 } 79 }
80 80
81 bool CSSParser::parseFastPath(MutableStylePropertySet* declaration, CSSPropertyI D propertyID, const String& string, bool important, CSSParserMode parserMode) 81 bool CSSParser::parseFastPath(MutableStylePropertySet* declaration, CSSPropertyI D unresolvedProperty, const String& string, bool important, CSSParserMode parser Mode)
82 { 82 {
83 RefPtrWillBeRawPtr<CSSValue> value = CSSParserFastPaths::maybeParseValue(pro pertyID, string, parserMode); 83 CSSPropertyID resolvedProperty = resolveCSSPropertyID(unresolvedProperty);
84 RefPtrWillBeRawPtr<CSSValue> value = CSSParserFastPaths::maybeParseValue(res olvedProperty, string, parserMode);
84 if (!value) 85 if (!value)
85 return false; 86 return false;
86 declaration->addParsedProperty(CSSProperty(propertyID, value.release(), impo rtant)); 87 declaration->addParsedProperty(CSSProperty(resolvedProperty, value.release() , important));
87 return true; 88 return true;
88 } 89 }
89 90
90 PassRefPtrWillBeRawPtr<CSSValue> CSSParser::parseSingleValue(CSSPropertyID prope rtyID, const String& string, const CSSParserContext& context) 91 PassRefPtrWillBeRawPtr<CSSValue> CSSParser::parseSingleValue(CSSPropertyID prope rtyID, const String& string, const CSSParserContext& context)
91 { 92 {
92 if (string.isEmpty()) 93 if (string.isEmpty())
93 return nullptr; 94 return nullptr;
94 RefPtrWillBeRawPtr<MutableStylePropertySet> stylePropertySet = MutableStyleP ropertySet::create(); 95 RefPtrWillBeRawPtr<MutableStylePropertySet> stylePropertySet = MutableStyleP ropertySet::create();
95 bool success = parseFastPath(stylePropertySet.get(), propertyID, string, fal se, context.mode()) 96 bool success = parseFastPath(stylePropertySet.get(), propertyID, string, fal se, context.mode())
96 || parseValue(stylePropertySet.get(), propertyID, string, false, context ); 97 || parseValue(stylePropertySet.get(), propertyID, string, false, context );
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
176 CSSValueID id = cssValueKeywordID(cssColor); 177 CSSValueID id = cssValueKeywordID(cssColor);
177 if (!CSSPropertyParser::isSystemColor(id)) 178 if (!CSSPropertyParser::isSystemColor(id))
178 return false; 179 return false;
179 180
180 Color parsedColor = LayoutTheme::theme().systemColor(id); 181 Color parsedColor = LayoutTheme::theme().systemColor(id);
181 color = parsedColor.rgb(); 182 color = parsedColor.rgb();
182 return true; 183 return true;
183 } 184 }
184 185
185 } // namespace blink 186 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/css/parser/CSSParser.h ('k') | Source/core/css/parser/CSSParserImpl.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698