| 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 |