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 #include "core/css/MediaValues.h" | 5 #include "core/css/MediaValues.h" |
6 | 6 |
7 #include "core/css/CSSHelper.h" | 7 #include "core/css/CSSHelper.h" |
8 #include "core/css/MediaValuesCached.h" | 8 #include "core/css/MediaValuesCached.h" |
9 #include "core/css/MediaValuesDynamic.h" | 9 #include "core/css/MediaValuesDynamic.h" |
10 #include "core/dom/Document.h" | 10 #include "core/dom/Document.h" |
(...skipping 13 matching lines...) Expand all Loading... |
24 | 24 |
25 namespace blink { | 25 namespace blink { |
26 | 26 |
27 MediaValues* MediaValues::createDynamicIfFrameExists(LocalFrame* frame) { | 27 MediaValues* MediaValues::createDynamicIfFrameExists(LocalFrame* frame) { |
28 if (frame) | 28 if (frame) |
29 return MediaValuesDynamic::create(frame); | 29 return MediaValuesDynamic::create(frame); |
30 return MediaValuesCached::create(); | 30 return MediaValuesCached::create(); |
31 } | 31 } |
32 | 32 |
33 double MediaValues::calculateViewportWidth(LocalFrame* frame) { | 33 double MediaValues::calculateViewportWidth(LocalFrame* frame) { |
34 ASSERT(frame && frame->view() && frame->document()); | 34 DCHECK(frame); |
| 35 DCHECK(frame->view()); |
| 36 DCHECK(frame->document()); |
35 return frame->view()->viewportSizeForMediaQueries().width(); | 37 return frame->view()->viewportSizeForMediaQueries().width(); |
36 } | 38 } |
37 | 39 |
38 double MediaValues::calculateViewportHeight(LocalFrame* frame) { | 40 double MediaValues::calculateViewportHeight(LocalFrame* frame) { |
39 ASSERT(frame && frame->view() && frame->document()); | 41 DCHECK(frame); |
| 42 DCHECK(frame->view()); |
| 43 DCHECK(frame->document()); |
40 return frame->view()->viewportSizeForMediaQueries().height(); | 44 return frame->view()->viewportSizeForMediaQueries().height(); |
41 } | 45 } |
42 | 46 |
43 int MediaValues::calculateDeviceWidth(LocalFrame* frame) { | 47 int MediaValues::calculateDeviceWidth(LocalFrame* frame) { |
44 DCHECK(frame && frame->view() && frame->settings() && frame->page()); | 48 DCHECK(frame && frame->view() && frame->settings() && frame->page()); |
45 blink::WebScreenInfo screenInfo = frame->page()->chromeClient().screenInfo(); | 49 blink::WebScreenInfo screenInfo = frame->page()->chromeClient().screenInfo(); |
46 int deviceWidth = screenInfo.rect.width; | 50 int deviceWidth = screenInfo.rect.width; |
47 if (frame->settings()->getReportScreenSizeInPhysicalPixelsQuirk()) | 51 if (frame->settings()->getReportScreenSizeInPhysicalPixelsQuirk()) |
48 deviceWidth = lroundf(deviceWidth * screenInfo.deviceScaleFactor); | 52 deviceWidth = lroundf(deviceWidth * screenInfo.deviceScaleFactor); |
49 return deviceWidth; | 53 return deviceWidth; |
50 } | 54 } |
51 | 55 |
52 int MediaValues::calculateDeviceHeight(LocalFrame* frame) { | 56 int MediaValues::calculateDeviceHeight(LocalFrame* frame) { |
53 DCHECK(frame && frame->view() && frame->settings() && frame->page()); | 57 DCHECK(frame && frame->view() && frame->settings() && frame->page()); |
54 blink::WebScreenInfo screenInfo = frame->page()->chromeClient().screenInfo(); | 58 blink::WebScreenInfo screenInfo = frame->page()->chromeClient().screenInfo(); |
55 int deviceHeight = screenInfo.rect.height; | 59 int deviceHeight = screenInfo.rect.height; |
56 if (frame->settings()->getReportScreenSizeInPhysicalPixelsQuirk()) | 60 if (frame->settings()->getReportScreenSizeInPhysicalPixelsQuirk()) |
57 deviceHeight = lroundf(deviceHeight * screenInfo.deviceScaleFactor); | 61 deviceHeight = lroundf(deviceHeight * screenInfo.deviceScaleFactor); |
58 return deviceHeight; | 62 return deviceHeight; |
59 } | 63 } |
60 | 64 |
61 bool MediaValues::calculateStrictMode(LocalFrame* frame) { | 65 bool MediaValues::calculateStrictMode(LocalFrame* frame) { |
62 ASSERT(frame && frame->document()); | 66 DCHECK(frame); |
| 67 DCHECK(frame->document()); |
63 return !frame->document()->inQuirksMode(); | 68 return !frame->document()->inQuirksMode(); |
64 } | 69 } |
65 | 70 |
66 float MediaValues::calculateDevicePixelRatio(LocalFrame* frame) { | 71 float MediaValues::calculateDevicePixelRatio(LocalFrame* frame) { |
67 return frame->devicePixelRatio(); | 72 return frame->devicePixelRatio(); |
68 } | 73 } |
69 | 74 |
70 int MediaValues::calculateColorBitsPerComponent(LocalFrame* frame) { | 75 int MediaValues::calculateColorBitsPerComponent(LocalFrame* frame) { |
71 ASSERT(frame && frame->page() && frame->page()->mainFrame()); | 76 DCHECK(frame); |
| 77 DCHECK(frame->page()); |
| 78 DCHECK(frame->page()->mainFrame()); |
72 if (!frame->page()->mainFrame()->isLocalFrame() || | 79 if (!frame->page()->mainFrame()->isLocalFrame() || |
73 frame->page()->chromeClient().screenInfo().isMonochrome) | 80 frame->page()->chromeClient().screenInfo().isMonochrome) |
74 return 0; | 81 return 0; |
75 return frame->page()->chromeClient().screenInfo().depthPerComponent; | 82 return frame->page()->chromeClient().screenInfo().depthPerComponent; |
76 } | 83 } |
77 | 84 |
78 int MediaValues::calculateMonochromeBitsPerComponent(LocalFrame* frame) { | 85 int MediaValues::calculateMonochromeBitsPerComponent(LocalFrame* frame) { |
79 ASSERT(frame && frame->page() && frame->page()->mainFrame()); | 86 DCHECK(frame); |
| 87 DCHECK(frame->page()); |
| 88 DCHECK(frame->page()->mainFrame()); |
80 if (!frame->page()->mainFrame()->isLocalFrame() || | 89 if (!frame->page()->mainFrame()->isLocalFrame() || |
81 !frame->page()->chromeClient().screenInfo().isMonochrome) | 90 !frame->page()->chromeClient().screenInfo().isMonochrome) |
82 return 0; | 91 return 0; |
83 return frame->page()->chromeClient().screenInfo().depthPerComponent; | 92 return frame->page()->chromeClient().screenInfo().depthPerComponent; |
84 } | 93 } |
85 | 94 |
86 int MediaValues::calculateDefaultFontSize(LocalFrame* frame) { | 95 int MediaValues::calculateDefaultFontSize(LocalFrame* frame) { |
87 return frame->page()->settings().getDefaultFontSize(); | 96 return frame->page()->settings().getDefaultFontSize(); |
88 } | 97 } |
89 | 98 |
90 const String MediaValues::calculateMediaType(LocalFrame* frame) { | 99 const String MediaValues::calculateMediaType(LocalFrame* frame) { |
91 ASSERT(frame); | 100 DCHECK(frame); |
92 if (!frame->view()) | 101 if (!frame->view()) |
93 return emptyAtom; | 102 return emptyAtom; |
94 return frame->view()->mediaType(); | 103 return frame->view()->mediaType(); |
95 } | 104 } |
96 | 105 |
97 WebDisplayMode MediaValues::calculateDisplayMode(LocalFrame* frame) { | 106 WebDisplayMode MediaValues::calculateDisplayMode(LocalFrame* frame) { |
98 ASSERT(frame); | 107 DCHECK(frame); |
99 WebDisplayMode mode = frame->page()->settings().getDisplayModeOverride(); | 108 WebDisplayMode mode = frame->page()->settings().getDisplayModeOverride(); |
100 | 109 |
101 if (mode != WebDisplayModeUndefined) | 110 if (mode != WebDisplayModeUndefined) |
102 return mode; | 111 return mode; |
103 | 112 |
104 if (!frame->view()) | 113 if (!frame->view()) |
105 return WebDisplayModeBrowser; | 114 return WebDisplayModeBrowser; |
106 | 115 |
107 return frame->view()->displayMode(); | 116 return frame->view()->displayMode(); |
108 } | 117 } |
109 | 118 |
110 bool MediaValues::calculateThreeDEnabled(LocalFrame* frame) { | 119 bool MediaValues::calculateThreeDEnabled(LocalFrame* frame) { |
111 ASSERT(frame && !frame->contentLayoutItem().isNull() && | 120 DCHECK(frame); |
112 frame->contentLayoutItem().compositor()); | 121 DCHECK(!frame->contentLayoutItem().isNull()); |
| 122 DCHECK(frame->contentLayoutItem().compositor()); |
113 bool threeDEnabled = false; | 123 bool threeDEnabled = false; |
114 if (LayoutViewItem view = frame->contentLayoutItem()) | 124 if (LayoutViewItem view = frame->contentLayoutItem()) |
115 threeDEnabled = view.compositor()->hasAcceleratedCompositing(); | 125 threeDEnabled = view.compositor()->hasAcceleratedCompositing(); |
116 return threeDEnabled; | 126 return threeDEnabled; |
117 } | 127 } |
118 | 128 |
119 PointerType MediaValues::calculatePrimaryPointerType(LocalFrame* frame) { | 129 PointerType MediaValues::calculatePrimaryPointerType(LocalFrame* frame) { |
120 ASSERT(frame && frame->settings()); | 130 DCHECK(frame); |
| 131 DCHECK(frame->settings()); |
121 return frame->settings()->getPrimaryPointerType(); | 132 return frame->settings()->getPrimaryPointerType(); |
122 } | 133 } |
123 | 134 |
124 int MediaValues::calculateAvailablePointerTypes(LocalFrame* frame) { | 135 int MediaValues::calculateAvailablePointerTypes(LocalFrame* frame) { |
125 ASSERT(frame && frame->settings()); | 136 DCHECK(frame); |
| 137 DCHECK(frame->settings()); |
126 return frame->settings()->getAvailablePointerTypes(); | 138 return frame->settings()->getAvailablePointerTypes(); |
127 } | 139 } |
128 | 140 |
129 HoverType MediaValues::calculatePrimaryHoverType(LocalFrame* frame) { | 141 HoverType MediaValues::calculatePrimaryHoverType(LocalFrame* frame) { |
130 ASSERT(frame && frame->settings()); | 142 DCHECK(frame); |
| 143 DCHECK(frame->settings()); |
131 return frame->settings()->getPrimaryHoverType(); | 144 return frame->settings()->getPrimaryHoverType(); |
132 } | 145 } |
133 | 146 |
134 int MediaValues::calculateAvailableHoverTypes(LocalFrame* frame) { | 147 int MediaValues::calculateAvailableHoverTypes(LocalFrame* frame) { |
135 ASSERT(frame && frame->settings()); | 148 DCHECK(frame); |
| 149 DCHECK(frame->settings()); |
136 return frame->settings()->getAvailableHoverTypes(); | 150 return frame->settings()->getAvailableHoverTypes(); |
137 } | 151 } |
138 | 152 |
139 DisplayShape MediaValues::calculateDisplayShape(LocalFrame* frame) { | 153 DisplayShape MediaValues::calculateDisplayShape(LocalFrame* frame) { |
140 DCHECK(frame && frame->page()); | 154 DCHECK(frame); |
| 155 DCHECK(frame->page()); |
141 return frame->page()->chromeClient().screenInfo().displayShape; | 156 return frame->page()->chromeClient().screenInfo().displayShape; |
142 } | 157 } |
143 | 158 |
144 ColorSpaceGamut MediaValues::calculateColorGamut(LocalFrame* frame) { | 159 ColorSpaceGamut MediaValues::calculateColorGamut(LocalFrame* frame) { |
145 DCHECK(frame && frame->page()); | 160 DCHECK(frame); |
| 161 DCHECK(frame->page()); |
146 return ColorSpaceUtilities::getColorSpaceGamut( | 162 return ColorSpaceUtilities::getColorSpaceGamut( |
147 frame->page()->chromeClient().screenInfo()); | 163 frame->page()->chromeClient().screenInfo()); |
148 } | 164 } |
149 | 165 |
150 bool MediaValues::computeLengthImpl(double value, | 166 bool MediaValues::computeLengthImpl(double value, |
151 CSSPrimitiveValue::UnitType type, | 167 CSSPrimitiveValue::UnitType type, |
152 unsigned defaultFontSize, | 168 unsigned defaultFontSize, |
153 double viewportWidth, | 169 double viewportWidth, |
154 double viewportHeight, | 170 double viewportHeight, |
155 double& result) { | 171 double& result) { |
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
207 return true; | 223 return true; |
208 default: | 224 default: |
209 return false; | 225 return false; |
210 } | 226 } |
211 } | 227 } |
212 | 228 |
213 LocalFrame* MediaValues::frameFrom(Document& document) { | 229 LocalFrame* MediaValues::frameFrom(Document& document) { |
214 Document* executingDocument = document.importsController() | 230 Document* executingDocument = document.importsController() |
215 ? document.importsController()->master() | 231 ? document.importsController()->master() |
216 : &document; | 232 : &document; |
217 ASSERT(executingDocument); | 233 DCHECK(executingDocument); |
218 return executingDocument->frame(); | 234 return executingDocument->frame(); |
219 } | 235 } |
220 | 236 |
221 } // namespace blink | 237 } // namespace blink |
OLD | NEW |