OLD | NEW |
(Empty) | |
| 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 |
| 3 // found in the LICENSE file. |
| 4 |
| 5 #include "config.h" |
| 6 #include "core/css/MediaValuesDynamic.h" |
| 7 |
| 8 #include "core/css/CSSHelper.h" |
| 9 #include "core/css/CSSPrimitiveValue.h" |
| 10 #include "core/css/CSSToLengthConversionData.h" |
| 11 #include "core/dom/Document.h" |
| 12 #include "core/rendering/RenderObject.h" |
| 13 #include "core/rendering/style/RenderStyle.h" |
| 14 #include "core/rendering/style/StyleInheritedData.h" |
| 15 |
| 16 namespace WebCore { |
| 17 |
| 18 PassRefPtr<MediaValues> MediaValuesDynamic::create(PassRefPtr<LocalFrame> frame,
PassRefPtr<RenderStyle> style) |
| 19 { |
| 20 return adoptRef(new MediaValuesDynamic(frame, style)); |
| 21 } |
| 22 |
| 23 PassRefPtr<MediaValues> MediaValuesDynamic::create(Document& document) |
| 24 { |
| 25 Document* executingDocument = getExecutingDocument(document); |
| 26 return MediaValuesDynamic::create(executingDocument->frame(), executingDocum
ent->renderer()->style()); |
| 27 } |
| 28 |
| 29 MediaValuesDynamic::MediaValuesDynamic(PassRefPtr<LocalFrame> frame, PassRefPtr<
RenderStyle> style) |
| 30 : m_style(style) |
| 31 , m_frame(frame) |
| 32 { |
| 33 } |
| 34 |
| 35 PassRefPtr<MediaValues> MediaValuesDynamic::copy() const |
| 36 { |
| 37 return adoptRef(new MediaValuesDynamic(m_frame, m_style)); |
| 38 } |
| 39 |
| 40 bool MediaValuesDynamic::computeLength(double value, unsigned short type, int& r
esult) const |
| 41 { |
| 42 ASSERT(m_style.get()); |
| 43 RefPtr<CSSPrimitiveValue> primitiveValue = CSSPrimitiveValue::create(value,
(CSSPrimitiveValue::UnitTypes)type); |
| 44 result = primitiveValue->computeLength<int>(CSSToLengthConversionData(m_styl
e.get(), m_style.get(), 0, 1.0 /* zoom */, true /* computingFontSize */)); |
| 45 return true; |
| 46 } |
| 47 |
| 48 bool MediaValuesDynamic::isSafeToSendToAnotherThread() const |
| 49 { |
| 50 return false; |
| 51 } |
| 52 |
| 53 int MediaValuesDynamic::viewportWidth() const |
| 54 { |
| 55 ASSERT(m_style.get()); |
| 56 ASSERT(m_frame.get()); |
| 57 return calculateViewportWidth(m_frame.get()); |
| 58 } |
| 59 |
| 60 int MediaValuesDynamic::viewportHeight() const |
| 61 { |
| 62 ASSERT(m_style.get()); |
| 63 ASSERT(m_frame.get()); |
| 64 return calculateViewportHeight(m_frame.get()); |
| 65 } |
| 66 |
| 67 int MediaValuesDynamic::deviceWidth() const |
| 68 { |
| 69 ASSERT(m_frame.get()); |
| 70 return calculateDeviceWidth(m_frame.get()); |
| 71 } |
| 72 |
| 73 int MediaValuesDynamic::deviceHeight() const |
| 74 { |
| 75 ASSERT(m_frame.get()); |
| 76 return calculateDeviceHeight(m_frame.get()); |
| 77 } |
| 78 |
| 79 float MediaValuesDynamic::devicePixelRatio() const |
| 80 { |
| 81 ASSERT(m_frame.get()); |
| 82 return calculateDevicePixelRatio(m_frame.get()); |
| 83 } |
| 84 |
| 85 int MediaValuesDynamic::colorBitsPerComponent() const |
| 86 { |
| 87 ASSERT(m_frame.get()); |
| 88 return calculateColorBitsPerComponent(m_frame.get()); |
| 89 } |
| 90 |
| 91 int MediaValuesDynamic::monochromeBitsPerComponent() const |
| 92 { |
| 93 ASSERT(m_frame.get()); |
| 94 return calculateMonochromeBitsPerComponent(m_frame.get()); |
| 95 } |
| 96 |
| 97 MediaValues::PointerDeviceType MediaValuesDynamic::pointer() const |
| 98 { |
| 99 ASSERT(m_frame.get()); |
| 100 return calculateLeastCapablePrimaryPointerDeviceType(m_frame.get()); |
| 101 } |
| 102 |
| 103 bool MediaValuesDynamic::threeDEnabled() const |
| 104 { |
| 105 ASSERT(m_frame.get()); |
| 106 return calculateThreeDEnabled(m_frame.get()); |
| 107 } |
| 108 |
| 109 bool MediaValuesDynamic::scanMediaType() const |
| 110 { |
| 111 ASSERT(m_frame.get()); |
| 112 return calculateScanMediaType(m_frame.get()); |
| 113 } |
| 114 |
| 115 bool MediaValuesDynamic::screenMediaType() const |
| 116 { |
| 117 ASSERT(m_frame.get()); |
| 118 return calculateScreenMediaType(m_frame.get()); |
| 119 } |
| 120 |
| 121 bool MediaValuesDynamic::printMediaType() const |
| 122 { |
| 123 ASSERT(m_frame.get()); |
| 124 return calculatePrintMediaType(m_frame.get()); |
| 125 } |
| 126 |
| 127 bool MediaValuesDynamic::strictMode() const |
| 128 { |
| 129 ASSERT(m_frame.get()); |
| 130 return calculateStrictMode(m_frame.get()); |
| 131 } |
| 132 |
| 133 Document* MediaValuesDynamic::document() const |
| 134 { |
| 135 ASSERT(m_frame.get()); |
| 136 return m_frame->document(); |
| 137 } |
| 138 |
| 139 bool MediaValuesDynamic::hasValues() const |
| 140 { |
| 141 return(m_style.get() && m_frame.get()); |
| 142 } |
| 143 |
| 144 } // namespace |
OLD | NEW |