OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 ComputedStyleCSSValueMapping_h | 5 #ifndef ComputedStyleCSSValueMapping_h |
6 #define ComputedStyleCSSValueMapping_h | 6 #define ComputedStyleCSSValueMapping_h |
7 | 7 |
8 #include "core/CSSPropertyNames.h" | 8 #include "core/CSSPropertyNames.h" |
9 #include "core/css/CSSValue.h" | 9 #include "core/css/CSSValue.h" |
10 #include "wtf/Allocator.h" | 10 #include "wtf/Allocator.h" |
11 #include "wtf/HashMap.h" | 11 #include "wtf/HashMap.h" |
12 #include "wtf/text/AtomicString.h" | 12 #include "wtf/text/AtomicString.h" |
13 | 13 |
14 namespace blink { | 14 namespace blink { |
15 | 15 |
16 class CSSVariableData; | 16 class CSSVariableData; |
17 class ComputedStyle; | 17 class ComputedStyle; |
18 class FilterOperations; | 18 class FilterOperations; |
19 class LayoutObject; | 19 class LayoutObject; |
20 class Node; | 20 class Node; |
21 class PropertyRegistry; | 21 class PropertyRegistry; |
22 class ShadowData; | 22 class ShadowData; |
23 class ShadowList; | 23 class ShadowList; |
24 class StyleColor; | 24 class StyleColor; |
25 | 25 |
26 class ComputedStyleCSSValueMapping { | 26 class ComputedStyleCSSValueMapping { |
27 STATIC_ONLY(ComputedStyleCSSValueMapping); | 27 STATIC_ONLY(ComputedStyleCSSValueMapping); |
28 | 28 |
29 public: | 29 public: |
30 // FIXME: Resolve computed auto alignment in applyProperty/ComputedStyle and r
emove this non-const styledNode parameter. | 30 // FIXME: Resolve computed auto alignment in applyProperty/ComputedStyle and |
| 31 // remove this non-const styledNode parameter. |
31 static const CSSValue* get(CSSPropertyID, | 32 static const CSSValue* get(CSSPropertyID, |
32 const ComputedStyle&, | 33 const ComputedStyle&, |
33 const LayoutObject* = nullptr, | 34 const LayoutObject* = nullptr, |
34 Node* styledNode = nullptr, | 35 Node* styledNode = nullptr, |
35 bool allowVisitedStyle = false); | 36 bool allowVisitedStyle = false); |
36 static const CSSValue* get(const AtomicString customPropertyName, | 37 static const CSSValue* get(const AtomicString customPropertyName, |
37 const ComputedStyle&, | 38 const ComputedStyle&, |
38 const PropertyRegistry*); | 39 const PropertyRegistry*); |
39 static std::unique_ptr<HashMap<AtomicString, RefPtr<CSSVariableData>>> | 40 static std::unique_ptr<HashMap<AtomicString, RefPtr<CSSVariableData>>> |
40 getVariables(const ComputedStyle&); | 41 getVariables(const ComputedStyle&); |
41 | 42 |
42 private: | 43 private: |
43 static CSSValue* currentColorOrValidColor(const ComputedStyle&, | 44 static CSSValue* currentColorOrValidColor(const ComputedStyle&, |
44 const StyleColor&); | 45 const StyleColor&); |
45 static CSSValue* valueForShadowData(const ShadowData&, | 46 static CSSValue* valueForShadowData(const ShadowData&, |
46 const ComputedStyle&, | 47 const ComputedStyle&, |
47 bool useSpread); | 48 bool useSpread); |
48 static CSSValue* valueForShadowList(const ShadowList*, | 49 static CSSValue* valueForShadowList(const ShadowList*, |
49 const ComputedStyle&, | 50 const ComputedStyle&, |
50 bool useSpread); | 51 bool useSpread); |
51 static CSSValue* valueForFilter(const ComputedStyle&, | 52 static CSSValue* valueForFilter(const ComputedStyle&, |
52 const FilterOperations&); | 53 const FilterOperations&); |
53 static CSSValue* valueForFont(const ComputedStyle&); | 54 static CSSValue* valueForFont(const ComputedStyle&); |
54 }; | 55 }; |
55 | 56 |
56 } // namespace blink | 57 } // namespace blink |
57 | 58 |
58 #endif // ComputedStyleCSSValueMapping_h | 59 #endif // ComputedStyleCSSValueMapping_h |
OLD | NEW |