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 | 10 |
11 namespace blink { | 11 namespace blink { |
12 | 12 |
13 class CORE_EXPORT MediaValuesCached final : public MediaValues { | 13 class CORE_EXPORT MediaValuesCached final : public MediaValues { |
14 public: | 14 public: |
15 struct MediaValuesCachedData final { | 15 struct MediaValuesCachedData { |
16 DISALLOW_NEW(); | 16 DISALLOW_NEW(); |
17 // Members variables must be thread safe, since they're copied to the pa
rser thread | 17 // Members variables must be thread safe, since they're copied to the pa
rser thread |
18 double viewportWidth; | 18 double viewportWidth; |
19 double viewportHeight; | 19 double viewportHeight; |
20 int deviceWidth; | 20 int deviceWidth; |
21 int deviceHeight; | 21 int deviceHeight; |
22 float devicePixelRatio; | 22 float devicePixelRatio; |
23 int colorBitsPerComponent; | 23 int colorBitsPerComponent; |
24 int monochromeBitsPerComponent; | 24 int monochromeBitsPerComponent; |
25 PointerType primaryPointerType; | 25 PointerType primaryPointerType; |
(...skipping 17 matching lines...) Expand all Loading... |
43 , primaryPointerType(PointerTypeNone) | 43 , primaryPointerType(PointerTypeNone) |
44 , availablePointerTypes(PointerTypeNone) | 44 , availablePointerTypes(PointerTypeNone) |
45 , primaryHoverType(HoverTypeNone) | 45 , primaryHoverType(HoverTypeNone) |
46 , availableHoverTypes(HoverTypeNone) | 46 , availableHoverTypes(HoverTypeNone) |
47 , defaultFontSize(16) | 47 , defaultFontSize(16) |
48 , threeDEnabled(false) | 48 , threeDEnabled(false) |
49 , strictMode(true) | 49 , strictMode(true) |
50 , displayMode(WebDisplayModeBrowser) | 50 , displayMode(WebDisplayModeBrowser) |
51 { | 51 { |
52 } | 52 } |
53 | |
54 explicit MediaValuesCachedData(Document&); | |
55 | |
56 MediaValuesCachedData deepCopy() const | |
57 { | |
58 MediaValuesCachedData data; | |
59 data.viewportWidth = viewportWidth; | |
60 data.viewportHeight = viewportHeight; | |
61 data.deviceWidth = deviceWidth; | |
62 data.deviceHeight = deviceHeight; | |
63 data.devicePixelRatio = devicePixelRatio; | |
64 data.colorBitsPerComponent = colorBitsPerComponent; | |
65 data.monochromeBitsPerComponent = monochromeBitsPerComponent; | |
66 data.primaryPointerType = primaryPointerType; | |
67 data.availablePointerTypes = availablePointerTypes; | |
68 data.primaryHoverType = primaryHoverType; | |
69 data.availableHoverTypes = availableHoverTypes; | |
70 data.defaultFontSize = defaultFontSize; | |
71 data.threeDEnabled = threeDEnabled; | |
72 data.strictMode = strictMode; | |
73 data.mediaType = mediaType.isolatedCopy(); | |
74 data.displayMode = displayMode; | |
75 return data; | |
76 } | |
77 }; | 53 }; |
78 | 54 |
79 static PassRefPtrWillBeRawPtr<MediaValuesCached> create(); | 55 static PassRefPtrWillBeRawPtr<MediaValuesCached> create(); |
80 static PassRefPtrWillBeRawPtr<MediaValuesCached> create(const MediaValuesCac
hedData&); | 56 static PassRefPtrWillBeRawPtr<MediaValuesCached> create(Document&); |
| 57 static PassRefPtrWillBeRawPtr<MediaValuesCached> create(LocalFrame*); |
| 58 static PassRefPtrWillBeRawPtr<MediaValuesCached> create(MediaValuesCachedDat
a&); |
81 PassRefPtrWillBeRawPtr<MediaValues> copy() const override; | 59 PassRefPtrWillBeRawPtr<MediaValues> copy() const override; |
| 60 bool isSafeToSendToAnotherThread() const; |
82 bool computeLength(double value, CSSPrimitiveValue::UnitType, int& result) c
onst override; | 61 bool computeLength(double value, CSSPrimitiveValue::UnitType, int& result) c
onst override; |
83 bool computeLength(double value, CSSPrimitiveValue::UnitType, double& result
) const override; | 62 bool computeLength(double value, CSSPrimitiveValue::UnitType, double& result
) const override; |
84 | 63 |
85 double viewportWidth() const override; | 64 double viewportWidth() const override; |
86 double viewportHeight() const override; | 65 double viewportHeight() const override; |
87 int deviceWidth() const override; | 66 int deviceWidth() const override; |
88 int deviceHeight() const override; | 67 int deviceHeight() const override; |
89 float devicePixelRatio() const override; | 68 float devicePixelRatio() const override; |
90 int colorBitsPerComponent() const override; | 69 int colorBitsPerComponent() const override; |
91 int monochromeBitsPerComponent() const override; | 70 int monochromeBitsPerComponent() const override; |
(...skipping 12 matching lines...) Expand all Loading... |
104 void setViewportHeight(double); | 83 void setViewportHeight(double); |
105 | 84 |
106 protected: | 85 protected: |
107 MediaValuesCached(); | 86 MediaValuesCached(); |
108 MediaValuesCached(LocalFrame*); | 87 MediaValuesCached(LocalFrame*); |
109 MediaValuesCached(const MediaValuesCachedData&); | 88 MediaValuesCached(const MediaValuesCachedData&); |
110 | 89 |
111 MediaValuesCachedData m_data; | 90 MediaValuesCachedData m_data; |
112 }; | 91 }; |
113 | 92 |
114 template<> struct CrossThreadCopierBase<false, false, false, MediaValuesCached::
MediaValuesCachedData> { | |
115 typedef MediaValuesCached::MediaValuesCachedData Type; | |
116 static Type copy(const MediaValuesCached::MediaValuesCachedData& data) { ret
urn data.deepCopy(); } | |
117 }; | |
118 | |
119 } // namespace blink | 93 } // namespace blink |
120 | 94 |
121 #endif // MediaValuesCached_h | 95 #endif // MediaValuesCached_h |
OLD | NEW |