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

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

Issue 2089593002: Add expansion of shorthands with custom properties to longhands using a pending substition value. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Renames, signature update and master merge 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 #ifndef CSSVariableResolver_h 5 #ifndef CSSVariableResolver_h
6 #define CSSVariableResolver_h 6 #define CSSVariableResolver_h
7 7
8 #include "core/CSSPropertyNames.h" 8 #include "core/CSSPropertyNames.h"
9 #include "core/css/parser/CSSParserToken.h" 9 #include "core/css/parser/CSSParserToken.h"
10 #include "wtf/HashSet.h" 10 #include "wtf/HashSet.h"
11 #include "wtf/text/AtomicString.h" 11 #include "wtf/text/AtomicString.h"
12 #include "wtf/text/AtomicStringHash.h" 12 #include "wtf/text/AtomicStringHash.h"
13 13
14 namespace blink { 14 namespace blink {
15 15
16 class CSSParserTokenRange; 16 class CSSParserTokenRange;
17 class CSSPendingSubstitutionValue;
17 class CSSVariableData; 18 class CSSVariableData;
18 class CSSVariableReferenceValue; 19 class CSSVariableReferenceValue;
19 class StyleResolverState; 20 class StyleResolverState;
20 class StyleVariableData; 21 class StyleVariableData;
21 22
22 class CSSVariableResolver { 23 class CSSVariableResolver {
23 public: 24 public:
24 static void resolveVariableDefinitions(StyleVariableData*); 25 static void resolveVariableDefinitions(StyleVariableData*);
25 static void resolveAndApplyVariableReferences(StyleResolverState&, CSSProper tyID, const CSSVariableReferenceValue&); 26 static const CSSValue* resolveVariableReferences(StyleResolverState&, CSSPro pertyID, const CSSVariableReferenceValue&);
27 static const CSSValue* resolvePendingSubstitutions(StyleResolverState&, CSSP ropertyID, const CSSPendingSubstitutionValue&);
26 28
27 // Shorthand properties are not supported. 29 // Shorthand properties are not supported.
28 static CSSValue* resolveVariableReferences(StyleVariableData*, CSSPropertyID , const CSSVariableReferenceValue&); 30 static CSSValue* resolveVariableReferences(StyleVariableData*, CSSPropertyID , const CSSVariableReferenceValue&);
29 31
30 private: 32 private:
31 CSSVariableResolver(StyleVariableData*); 33 CSSVariableResolver(StyleVariableData*);
32 34
33 // These return false if we encounter a reference to an invalid variable wit h no fallback 35 // These return false if we encounter a reference to an invalid variable wit h no fallback
34 36
35 // Resolves a range which may contain var() references or @apply rules 37 // Resolves a range which may contain var() references or @apply rules
(...skipping 16 matching lines...) Expand all
52 HashSet<AtomicString> m_variablesSeen; 54 HashSet<AtomicString> m_variablesSeen;
53 // Resolution doesn't finish when a cycle is detected. Fallbacks still 55 // Resolution doesn't finish when a cycle is detected. Fallbacks still
54 // need to be tracked for additional cycles, and invalidation only 56 // need to be tracked for additional cycles, and invalidation only
55 // applies back to cycle starts. 57 // applies back to cycle starts.
56 HashSet<AtomicString> m_cycleStartPoints; 58 HashSet<AtomicString> m_cycleStartPoints;
57 }; 59 };
58 60
59 } // namespace blink 61 } // namespace blink
60 62
61 #endif // CSSVariableResolver 63 #endif // CSSVariableResolver
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698