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

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

Issue 2310823002: Skeleton implementation of CSS Properties and Values API (Closed)
Patch Set: fix stylevardata copy ctor Created 4 years, 3 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 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 11
12 namespace blink { 12 namespace blink {
13 13
14 class LayoutObject; 14 class LayoutObject;
15 class ComputedStyle; 15 class ComputedStyle;
16 class FilterOperations; 16 class FilterOperations;
17 class ShadowData; 17 class ShadowData;
18 class ShadowList; 18 class ShadowList;
19 class StyleColor; 19 class StyleColor;
20 class Node; 20 class Node;
21 class CSSVariableData; 21 class CSSVariableData;
22 class PropertyRegistry;
22 23
23 class ComputedStyleCSSValueMapping { 24 class ComputedStyleCSSValueMapping {
24 STATIC_ONLY(ComputedStyleCSSValueMapping); 25 STATIC_ONLY(ComputedStyleCSSValueMapping);
25 public: 26 public:
26 // FIXME: Resolve computed auto alignment in applyProperty/ComputedStyle and remove this non-const styledNode parameter. 27 // FIXME: Resolve computed auto alignment in applyProperty/ComputedStyle and remove this non-const styledNode parameter.
27 static const CSSValue* get(CSSPropertyID, const ComputedStyle&, const Layout Object* = nullptr, Node* styledNode = nullptr, bool allowVisitedStyle = false); 28 static const CSSValue* get(CSSPropertyID, const ComputedStyle&, const Layout Object* = nullptr, Node* styledNode = nullptr, bool allowVisitedStyle = false);
28 static const CSSValue* get(const AtomicString customPropertyName, const Comp utedStyle&); 29 static const CSSValue* get(const AtomicString customPropertyName, const Comp utedStyle&, const PropertyRegistry*);
29 static std::unique_ptr<HashMap<AtomicString, RefPtr<CSSVariableData>>> getVa riables(const ComputedStyle&); 30 static std::unique_ptr<HashMap<AtomicString, RefPtr<CSSVariableData>>> getVa riables(const ComputedStyle&);
30 private: 31 private:
31 static CSSValue* currentColorOrValidColor(const ComputedStyle&, const StyleC olor&); 32 static CSSValue* currentColorOrValidColor(const ComputedStyle&, const StyleC olor&);
32 static CSSValue* valueForShadowData(const ShadowData&, const ComputedStyle&, bool useSpread); 33 static CSSValue* valueForShadowData(const ShadowData&, const ComputedStyle&, bool useSpread);
33 static CSSValue* valueForShadowList(const ShadowList*, const ComputedStyle&, bool useSpread); 34 static CSSValue* valueForShadowList(const ShadowList*, const ComputedStyle&, bool useSpread);
34 static CSSValue* valueForFilter(const ComputedStyle&, const FilterOperations &); 35 static CSSValue* valueForFilter(const ComputedStyle&, const FilterOperations &);
35 static CSSValue* valueForFont(const ComputedStyle&); 36 static CSSValue* valueForFont(const ComputedStyle&);
36 }; 37 };
37 38
38 } // namespace blink 39 } // namespace blink
39 40
40 #endif // ComputedStyleCSSValueMapping_h 41 #endif // ComputedStyleCSSValueMapping_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698