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

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

Issue 2399633003: reflow comments in core/css/resolver (Closed)
Patch Set: Created 4 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
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 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
88 PassRefPtr<CSSVariableData> CSSVariableResolver::resolveCustomProperty( 88 PassRefPtr<CSSVariableData> CSSVariableResolver::resolveCustomProperty(
89 AtomicString name, 89 AtomicString name,
90 const CSSVariableData& variableData) { 90 const CSSVariableData& variableData) {
91 ASSERT(variableData.needsVariableResolution()); 91 ASSERT(variableData.needsVariableResolution());
92 92
93 Vector<CSSParserToken> tokens; 93 Vector<CSSParserToken> tokens;
94 m_variablesSeen.add(name); 94 m_variablesSeen.add(name);
95 bool success = resolveTokenRange(variableData.tokens(), tokens); 95 bool success = resolveTokenRange(variableData.tokens(), tokens);
96 m_variablesSeen.remove(name); 96 m_variablesSeen.remove(name);
97 97
98 // The old variable data holds onto the backing string the new resolved CSSVar iableData 98 // The old variable data holds onto the backing string the new resolved
99 // relies on. Ensure it will live beyond us overwriting the RefPtr in StyleInh eritedVariables. 99 // CSSVariableData relies on. Ensure it will live beyond us overwriting the
100 // RefPtr in StyleInheritedVariables.
100 ASSERT(variableData.refCount() > 1); 101 ASSERT(variableData.refCount() > 1);
101 102
102 if (!success || !m_cycleStartPoints.isEmpty()) { 103 if (!success || !m_cycleStartPoints.isEmpty()) {
103 m_cycleStartPoints.remove(name); 104 m_cycleStartPoints.remove(name);
104 return nullptr; 105 return nullptr;
105 } 106 }
106 return CSSVariableData::createResolved(tokens, variableData); 107 return CSSVariableData::createResolved(tokens, variableData);
107 } 108 }
108 109
109 bool CSSVariableResolver::resolveVariableReference( 110 bool CSSVariableResolver::resolveVariableReference(
(...skipping 95 matching lines...) Expand 10 before | Expand all | Expand 10 after
205 const CSSValue* CSSVariableResolver::resolvePendingSubstitutions( 206 const CSSValue* CSSVariableResolver::resolvePendingSubstitutions(
206 const StyleResolverState& state, 207 const StyleResolverState& state,
207 CSSPropertyID id, 208 CSSPropertyID id,
208 const CSSPendingSubstitutionValue& pendingValue) { 209 const CSSPendingSubstitutionValue& pendingValue) {
209 // Longhands from shorthand references follow this path. 210 // Longhands from shorthand references follow this path.
210 HeapHashMap<CSSPropertyID, Member<const CSSValue>>& propertyCache = 211 HeapHashMap<CSSPropertyID, Member<const CSSValue>>& propertyCache =
211 state.parsedPropertiesForPendingSubstitutionCache(pendingValue); 212 state.parsedPropertiesForPendingSubstitutionCache(pendingValue);
212 213
213 const CSSValue* value = propertyCache.get(id); 214 const CSSValue* value = propertyCache.get(id);
214 if (!value) { 215 if (!value) {
215 // TODO(timloh): We shouldn't retry this for all longhands if the shorthand ends up invalid 216 // TODO(timloh): We shouldn't retry this for all longhands if the shorthand
217 // ends up invalid.
216 CSSVariableReferenceValue* shorthandValue = pendingValue.shorthandValue(); 218 CSSVariableReferenceValue* shorthandValue = pendingValue.shorthandValue();
217 CSSPropertyID shorthandPropertyId = pendingValue.shorthandPropertyId(); 219 CSSPropertyID shorthandPropertyId = pendingValue.shorthandPropertyId();
218 220
219 CSSVariableResolver resolver(state); 221 CSSVariableResolver resolver(state);
220 222
221 Vector<CSSParserToken> tokens; 223 Vector<CSSParserToken> tokens;
222 if (resolver.resolveTokenRange( 224 if (resolver.resolveTokenRange(
223 shorthandValue->variableDataValue()->tokens(), tokens)) { 225 shorthandValue->variableDataValue()->tokens(), tokens)) {
224 CSSParserContext context(HTMLStandardMode, 0); 226 CSSParserContext context(HTMLStandardMode, 0);
225 227
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
268 : m_styleResolverState(state), 270 : m_styleResolverState(state),
269 m_inheritedVariables(state.style()->inheritedVariables()), 271 m_inheritedVariables(state.style()->inheritedVariables()),
270 m_nonInheritedVariables(state.style()->nonInheritedVariables()), 272 m_nonInheritedVariables(state.style()->nonInheritedVariables()),
271 m_registry(state.document().propertyRegistry()) {} 273 m_registry(state.document().propertyRegistry()) {}
272 274
273 DEFINE_TRACE(CSSVariableResolver) { 275 DEFINE_TRACE(CSSVariableResolver) {
274 visitor->trace(m_registry); 276 visitor->trace(m_registry);
275 } 277 }
276 278
277 } // namespace blink 279 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698