| Index: third_party/WebKit/Source/core/css/MediaValuesDynamic.cpp
|
| diff --git a/third_party/WebKit/Source/core/css/MediaValuesDynamic.cpp b/third_party/WebKit/Source/core/css/MediaValuesDynamic.cpp
|
| index 468cf5576617c365b0f33447b3d2380ce139ba2c..0e4c4dc7d7b363a889369a0e5f514cc6d493ae03 100644
|
| --- a/third_party/WebKit/Source/core/css/MediaValuesDynamic.cpp
|
| +++ b/third_party/WebKit/Source/core/css/MediaValuesDynamic.cpp
|
| @@ -27,13 +27,25 @@ PassRefPtrWillBeRawPtr<MediaValues> MediaValuesDynamic::create(LocalFrame* frame
|
|
|
| MediaValuesDynamic::MediaValuesDynamic(LocalFrame* frame)
|
| : m_frame(frame)
|
| + , m_viewportDimensionsOverridden(false)
|
| + , m_viewportWidthOverride(0)
|
| + , m_viewportHeightOverride(0)
|
| +{
|
| + ASSERT(m_frame);
|
| +}
|
| +
|
| +MediaValuesDynamic::MediaValuesDynamic(LocalFrame* frame, bool overriddenViewportDimensions, double viewportWidth, double viewportHeight)
|
| + : m_frame(frame)
|
| + , m_viewportDimensionsOverridden(overriddenViewportDimensions)
|
| + , m_viewportWidthOverride(viewportWidth)
|
| + , m_viewportHeightOverride(viewportHeight)
|
| {
|
| ASSERT(m_frame);
|
| }
|
|
|
| PassRefPtrWillBeRawPtr<MediaValues> MediaValuesDynamic::copy() const
|
| {
|
| - return adoptRefWillBeNoop(new MediaValuesDynamic(m_frame));
|
| + return adoptRefWillBeNoop(new MediaValuesDynamic(m_frame, m_viewportDimensionsOverridden, m_viewportWidthOverride, m_viewportHeightOverride));
|
| }
|
|
|
| bool MediaValuesDynamic::computeLength(double value, CSSPrimitiveValue::UnitType type, int& result) const
|
| @@ -58,11 +70,15 @@ bool MediaValuesDynamic::computeLength(double value, CSSPrimitiveValue::UnitType
|
|
|
| double MediaValuesDynamic::viewportWidth() const
|
| {
|
| + if (m_viewportDimensionsOverridden)
|
| + return m_viewportWidthOverride;
|
| return calculateViewportWidth(m_frame);
|
| }
|
|
|
| double MediaValuesDynamic::viewportHeight() const
|
| {
|
| + if (m_viewportDimensionsOverridden)
|
| + return m_viewportHeightOverride;
|
| return calculateViewportHeight(m_frame);
|
| }
|
|
|
| @@ -147,4 +163,11 @@ DEFINE_TRACE(MediaValuesDynamic)
|
| MediaValues::trace(visitor);
|
| }
|
|
|
| +void MediaValuesDynamic::overrideViewportDimensions(double width, double height)
|
| +{
|
| + m_viewportDimensionsOverridden = true;
|
| + m_viewportWidthOverride = width;
|
| + m_viewportHeightOverride = height;
|
| +}
|
| +
|
| } // namespace blink
|
|
|