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

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

Issue 2616093003: Make CSSParserContext be garbage collected. (Closed)
Patch Set: fix fuzzer compile again Created 3 years, 11 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 238 matching lines...) Expand 10 before | Expand all | Expand 10 after
249 CSSVariableReferenceValue* shorthandValue = pendingValue.shorthandValue(); 249 CSSVariableReferenceValue* shorthandValue = pendingValue.shorthandValue();
250 CSSPropertyID shorthandPropertyId = pendingValue.shorthandPropertyId(); 250 CSSPropertyID shorthandPropertyId = pendingValue.shorthandPropertyId();
251 251
252 CSSVariableResolver resolver(state); 252 CSSVariableResolver resolver(state);
253 253
254 Vector<CSSParserToken> tokens; 254 Vector<CSSParserToken> tokens;
255 bool isAnimationTainted = false; 255 bool isAnimationTainted = false;
256 if (resolver.resolveTokenRange( 256 if (resolver.resolveTokenRange(
257 shorthandValue->variableDataValue()->tokens(), 257 shorthandValue->variableDataValue()->tokens(),
258 disallowAnimationTainted, tokens, isAnimationTainted)) { 258 disallowAnimationTainted, tokens, isAnimationTainted)) {
259 CSSParserContext context(HTMLStandardMode, 0); 259 CSSParserContext* context = CSSParserContext::create(HTMLStandardMode);
260 260
261 HeapVector<CSSProperty, 256> parsedProperties; 261 HeapVector<CSSProperty, 256> parsedProperties;
262 262
263 if (CSSPropertyParser::parseValue( 263 if (CSSPropertyParser::parseValue(
264 shorthandPropertyId, false, CSSParserTokenRange(tokens), context, 264 shorthandPropertyId, false, CSSParserTokenRange(tokens), context,
265 parsedProperties, StyleRule::RuleType::Style)) { 265 parsedProperties, StyleRule::RuleType::Style)) {
266 unsigned parsedPropertiesCount = parsedProperties.size(); 266 unsigned parsedPropertiesCount = parsedProperties.size();
267 for (unsigned i = 0; i < parsedPropertiesCount; ++i) { 267 for (unsigned i = 0; i < parsedPropertiesCount; ++i) {
268 propertyCache.set(parsedProperties[i].id(), 268 propertyCache.set(parsedProperties[i].id(),
269 parsedProperties[i].value()); 269 parsedProperties[i].value());
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
331 CSSVariableResolver::CSSVariableResolver(const StyleResolverState& state) 331 CSSVariableResolver::CSSVariableResolver(const StyleResolverState& state)
332 : m_inheritedVariables(state.style()->inheritedVariables()), 332 : m_inheritedVariables(state.style()->inheritedVariables()),
333 m_nonInheritedVariables(state.style()->nonInheritedVariables()), 333 m_nonInheritedVariables(state.style()->nonInheritedVariables()),
334 m_registry(state.document().propertyRegistry()) {} 334 m_registry(state.document().propertyRegistry()) {}
335 335
336 DEFINE_TRACE(CSSVariableResolver) { 336 DEFINE_TRACE(CSSVariableResolver) {
337 visitor->trace(m_registry); 337 visitor->trace(m_registry);
338 } 338 }
339 339
340 } // namespace blink 340 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698