OLD | NEW |
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 Loading... |
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 Loading... |
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 |
OLD | NEW |