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 MediaValuesCached_h | 5 #ifndef MediaValuesCached_h |
6 #define MediaValuesCached_h | 6 #define MediaValuesCached_h |
7 | 7 |
8 #include "core/CoreExport.h" | 8 #include "core/CoreExport.h" |
9 #include "core/css/MediaValues.h" | 9 #include "core/css/MediaValues.h" |
10 #include "platform/CrossThreadCopier.h" | 10 #include "platform/CrossThreadCopier.h" |
11 #include "platform/graphics/ColorSpace.h" | |
11 | 12 |
12 namespace blink { | 13 namespace blink { |
13 | 14 |
14 class CORE_EXPORT MediaValuesCached final : public MediaValues { | 15 class CORE_EXPORT MediaValuesCached final : public MediaValues { |
15 public: | 16 public: |
16 struct MediaValuesCachedData final { | 17 struct MediaValuesCachedData final { |
jochen (gone - plz use gerrit)
2017/01/29 17:25:33
also put CORE_EXPORT on the struct
| |
17 DISALLOW_NEW(); | 18 DISALLOW_NEW(); |
18 // Members variables must be thread safe, since they're copied to the parser | 19 // Members variables must be thread safe, since they're copied to the parser |
19 // thread | 20 // thread |
20 double viewportWidth; | 21 double viewportWidth; |
21 double viewportHeight; | 22 double viewportHeight; |
22 int deviceWidth; | 23 int deviceWidth; |
23 int deviceHeight; | 24 int deviceHeight; |
24 float devicePixelRatio; | 25 float devicePixelRatio; |
25 int colorBitsPerComponent; | 26 int colorBitsPerComponent; |
26 int monochromeBitsPerComponent; | 27 int monochromeBitsPerComponent; |
27 PointerType primaryPointerType; | 28 PointerType primaryPointerType; |
28 int availablePointerTypes; | 29 int availablePointerTypes; |
29 HoverType primaryHoverType; | 30 HoverType primaryHoverType; |
30 int availableHoverTypes; | 31 int availableHoverTypes; |
31 int defaultFontSize; | 32 int defaultFontSize; |
32 bool threeDEnabled; | 33 bool threeDEnabled; |
33 bool strictMode; | 34 bool strictMode; |
34 String mediaType; | 35 String mediaType; |
35 WebDisplayMode displayMode; | 36 WebDisplayMode displayMode; |
36 DisplayShape displayShape; | 37 DisplayShape displayShape; |
38 ColorSpaceGamut colorGamut; | |
37 | 39 |
38 MediaValuesCachedData() | 40 MediaValuesCachedData(); |
39 : viewportWidth(0), | |
40 viewportHeight(0), | |
41 deviceWidth(0), | |
42 deviceHeight(0), | |
43 devicePixelRatio(1.0), | |
44 colorBitsPerComponent(24), | |
45 monochromeBitsPerComponent(0), | |
46 primaryPointerType(PointerTypeNone), | |
47 availablePointerTypes(PointerTypeNone), | |
48 primaryHoverType(HoverTypeNone), | |
49 availableHoverTypes(HoverTypeNone), | |
50 defaultFontSize(16), | |
51 threeDEnabled(false), | |
52 strictMode(true), | |
53 displayMode(WebDisplayModeBrowser), | |
54 displayShape(DisplayShapeRect) {} | |
55 | |
56 explicit MediaValuesCachedData(Document&); | 41 explicit MediaValuesCachedData(Document&); |
57 | 42 |
58 MediaValuesCachedData deepCopy() const { | 43 MediaValuesCachedData deepCopy() const { |
59 MediaValuesCachedData data; | 44 MediaValuesCachedData data; |
60 data.viewportWidth = viewportWidth; | 45 data.viewportWidth = viewportWidth; |
61 data.viewportHeight = viewportHeight; | 46 data.viewportHeight = viewportHeight; |
62 data.deviceWidth = deviceWidth; | 47 data.deviceWidth = deviceWidth; |
63 data.deviceHeight = deviceHeight; | 48 data.deviceHeight = deviceHeight; |
64 data.devicePixelRatio = devicePixelRatio; | 49 data.devicePixelRatio = devicePixelRatio; |
65 data.colorBitsPerComponent = colorBitsPerComponent; | 50 data.colorBitsPerComponent = colorBitsPerComponent; |
66 data.monochromeBitsPerComponent = monochromeBitsPerComponent; | 51 data.monochromeBitsPerComponent = monochromeBitsPerComponent; |
67 data.primaryPointerType = primaryPointerType; | 52 data.primaryPointerType = primaryPointerType; |
68 data.availablePointerTypes = availablePointerTypes; | 53 data.availablePointerTypes = availablePointerTypes; |
69 data.primaryHoverType = primaryHoverType; | 54 data.primaryHoverType = primaryHoverType; |
70 data.availableHoverTypes = availableHoverTypes; | 55 data.availableHoverTypes = availableHoverTypes; |
71 data.defaultFontSize = defaultFontSize; | 56 data.defaultFontSize = defaultFontSize; |
72 data.threeDEnabled = threeDEnabled; | 57 data.threeDEnabled = threeDEnabled; |
73 data.strictMode = strictMode; | 58 data.strictMode = strictMode; |
74 data.mediaType = mediaType.isolatedCopy(); | 59 data.mediaType = mediaType.isolatedCopy(); |
75 data.displayMode = displayMode; | 60 data.displayMode = displayMode; |
76 data.displayShape = displayShape; | 61 data.displayShape = displayShape; |
62 data.colorGamut = colorGamut; | |
77 return data; | 63 return data; |
78 } | 64 } |
79 }; | 65 }; |
80 | 66 |
81 static MediaValuesCached* create(); | 67 static MediaValuesCached* create(); |
82 static MediaValuesCached* create(const MediaValuesCachedData&); | 68 static MediaValuesCached* create(const MediaValuesCachedData&); |
83 MediaValues* copy() const override; | 69 MediaValues* copy() const override; |
84 bool computeLength(double value, | 70 bool computeLength(double value, |
85 CSSPrimitiveValue::UnitType, | 71 CSSPrimitiveValue::UnitType, |
86 int& result) const override; | 72 int& result) const override; |
(...skipping 12 matching lines...) Expand all Loading... | |
99 int availablePointerTypes() const override; | 85 int availablePointerTypes() const override; |
100 HoverType primaryHoverType() const override; | 86 HoverType primaryHoverType() const override; |
101 int availableHoverTypes() const override; | 87 int availableHoverTypes() const override; |
102 bool threeDEnabled() const override; | 88 bool threeDEnabled() const override; |
103 bool strictMode() const override; | 89 bool strictMode() const override; |
104 Document* document() const override; | 90 Document* document() const override; |
105 bool hasValues() const override; | 91 bool hasValues() const override; |
106 const String mediaType() const override; | 92 const String mediaType() const override; |
107 WebDisplayMode displayMode() const override; | 93 WebDisplayMode displayMode() const override; |
108 DisplayShape displayShape() const override; | 94 DisplayShape displayShape() const override; |
95 ColorSpaceGamut colorGamut() const override; | |
109 | 96 |
110 void overrideViewportDimensions(double width, double height) override; | 97 void overrideViewportDimensions(double width, double height) override; |
111 | 98 |
112 protected: | 99 protected: |
113 MediaValuesCached(); | 100 MediaValuesCached(); |
114 MediaValuesCached(LocalFrame*); | 101 MediaValuesCached(LocalFrame*); |
115 MediaValuesCached(const MediaValuesCachedData&); | 102 MediaValuesCached(const MediaValuesCachedData&); |
116 | 103 |
117 MediaValuesCachedData m_data; | 104 MediaValuesCachedData m_data; |
118 }; | 105 }; |
119 | 106 |
120 template <> | 107 template <> |
121 struct CrossThreadCopier<MediaValuesCached::MediaValuesCachedData> { | 108 struct CrossThreadCopier<MediaValuesCached::MediaValuesCachedData> { |
122 typedef MediaValuesCached::MediaValuesCachedData Type; | 109 typedef MediaValuesCached::MediaValuesCachedData Type; |
123 static Type copy(const MediaValuesCached::MediaValuesCachedData& data) { | 110 static Type copy(const MediaValuesCached::MediaValuesCachedData& data) { |
124 return data.deepCopy(); | 111 return data.deepCopy(); |
125 } | 112 } |
126 }; | 113 }; |
127 | 114 |
128 } // namespace blink | 115 } // namespace blink |
129 | 116 |
130 #endif // MediaValuesCached_h | 117 #endif // MediaValuesCached_h |
OLD | NEW |