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

Side by Side Diff: third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.cpp

Issue 2038363002: Make CSSPropertyParser::parseSingleValue return a const CSSValue* (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@_remove_const_cast_in_interpolation_type
Patch Set: Rebase Created 4 years, 5 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "core/css/resolver/CSSVariableResolver.h" 5 #include "core/css/resolver/CSSVariableResolver.h"
6 6
7 #include "core/CSSPropertyNames.h" 7 #include "core/CSSPropertyNames.h"
8 #include "core/CSSValueKeywords.h" 8 #include "core/CSSValueKeywords.h"
9 #include "core/StyleBuilderFunctions.h" 9 #include "core/StyleBuilderFunctions.h"
10 #include "core/StylePropertyShorthand.h" 10 #include "core/StylePropertyShorthand.h"
(...skipping 112 matching lines...) Expand 10 before | Expand all | Expand 10 after
123 } else if (range.peek().type() == AtKeywordToken && equalIgnoringASCIICa se(range.peek().value(), "apply") 123 } else if (range.peek().type() == AtKeywordToken && equalIgnoringASCIICa se(range.peek().value(), "apply")
124 && RuntimeEnabledFeatures::cssApplyAtRulesEnabled()) { 124 && RuntimeEnabledFeatures::cssApplyAtRulesEnabled()) {
125 resolveApplyAtRule(range, result); 125 resolveApplyAtRule(range, result);
126 } else { 126 } else {
127 result.append(range.consume()); 127 result.append(range.consume());
128 } 128 }
129 } 129 }
130 return success; 130 return success;
131 } 131 }
132 132
133 CSSValue* CSSVariableResolver::resolveVariableReferences(StyleVariableData* styl eVariableData, CSSPropertyID id, const CSSVariableReferenceValue& value) 133 const CSSValue* CSSVariableResolver::resolveVariableReferences(StyleVariableData * styleVariableData, CSSPropertyID id, const CSSVariableReferenceValue& value)
134 { 134 {
135 ASSERT(!isShorthandProperty(id)); 135 ASSERT(!isShorthandProperty(id));
136 136
137 CSSVariableResolver resolver(styleVariableData); 137 CSSVariableResolver resolver(styleVariableData);
138 Vector<CSSParserToken> tokens; 138 Vector<CSSParserToken> tokens;
139 if (!resolver.resolveTokenRange(value.variableDataValue()->tokens(), tokens) ) 139 if (!resolver.resolveTokenRange(value.variableDataValue()->tokens(), tokens) )
140 return CSSUnsetValue::create(); 140 return CSSUnsetValue::create();
141 CSSValue* result = CSSPropertyParser::parseSingleValue(id, tokens, strictCSS ParserContext()); 141 const CSSValue* result = CSSPropertyParser::parseSingleValue(id, tokens, str ictCSSParserContext());
142 if (!result) 142 if (!result)
143 return CSSUnsetValue::create(); 143 return CSSUnsetValue::create();
144 return result; 144 return result;
145 } 145 }
146 146
147 const CSSValue* CSSVariableResolver::resolveVariableReferences(StyleResolverStat e& state, CSSPropertyID id, const CSSVariableReferenceValue& value) 147 const CSSValue* CSSVariableResolver::resolveVariableReferences(StyleResolverStat e& state, CSSPropertyID id, const CSSVariableReferenceValue& value)
148 { 148 {
149 // Non-shorthand variable references follow this path. 149 // Non-shorthand variable references follow this path.
150 CSSVariableResolver resolver(state.style()->variables()); 150 CSSVariableResolver resolver(state.style()->variables());
151 151
152 Vector<CSSParserToken> tokens; 152 Vector<CSSParserToken> tokens;
153 if (resolver.resolveTokenRange(value.variableDataValue()->tokens(), tokens)) { 153 if (resolver.resolveTokenRange(value.variableDataValue()->tokens(), tokens)) {
154 CSSParserContext context(HTMLStandardMode, nullptr); 154 CSSParserContext context(HTMLStandardMode, nullptr);
155 155
156 CSSValue* value = CSSPropertyParser::parseSingleValue(id, CSSParserToken Range(tokens), context); 156 const CSSValue* value = CSSPropertyParser::parseSingleValue(id, CSSParse rTokenRange(tokens), context);
157 if (value) 157 if (value)
158 return value; 158 return value;
159 } 159 }
160 160
161 return CSSUnsetValue::create(); 161 return CSSUnsetValue::create();
162 } 162 }
163 163
164 const CSSValue* CSSVariableResolver::resolvePendingSubstitutions(StyleResolverSt ate& state, CSSPropertyID id, const CSSPendingSubstitutionValue& pendingValue) 164 const CSSValue* CSSVariableResolver::resolvePendingSubstitutions(StyleResolverSt ate& state, CSSPropertyID id, const CSSPendingSubstitutionValue& pendingValue)
165 { 165 {
166 // Longhands from shorthand references follow this path. 166 // Longhands from shorthand references follow this path.
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 variable.value = resolver.resolveCustomProperty(variable.key, *varia ble.value); 208 variable.value = resolver.resolveCustomProperty(variable.key, *varia ble.value);
209 } 209 }
210 } 210 }
211 211
212 CSSVariableResolver::CSSVariableResolver(StyleVariableData* styleVariableData) 212 CSSVariableResolver::CSSVariableResolver(StyleVariableData* styleVariableData)
213 : m_styleVariableData(styleVariableData) 213 : m_styleVariableData(styleVariableData)
214 { 214 {
215 } 215 }
216 216
217 } // namespace blink 217 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/css/resolver/CSSVariableResolver.h ('k') | third_party/WebKit/Source/core/svg/SVGLength.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698