blob: 2ac823feb9890b63a8d2a1d4c17346257f960c12 [file] [log] [blame]
// Copyright 2014 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#include "config.h"
#include "core/css/MediaValuesDynamic.h"
#include "core/css/CSSHelper.h"
#include "core/css/CSSPrimitiveValue.h"
#include "core/css/CSSToLengthConversionData.h"
#include "core/dom/Document.h"
#include "core/frame/LocalFrame.h"
namespace WebCore {
PassRefPtr<MediaValues> MediaValuesDynamic::create(LocalFrame* frame)
{
return adoptRef(new MediaValuesDynamic(frame));
}
MediaValuesDynamic::MediaValuesDynamic(LocalFrame* frame)
: m_frame(frame)
{
ASSERT(m_frame);
}
PassRefPtr<MediaValues> MediaValuesDynamic::copy() const
{
return adoptRef(new MediaValuesDynamic(m_frame));
}
bool MediaValuesDynamic::computeLength(double value, CSSPrimitiveValue::UnitType type, int& result) const
{
return MediaValues::computeLength(value,
type,
calculateDefaultFontSize(m_frame),
calculateViewportWidth(m_frame),
calculateViewportHeight(m_frame),
result);
}
bool MediaValuesDynamic::computeLength(double value, CSSPrimitiveValue::UnitType type, double& result) const
{
return MediaValues::computeLength(value,
type,
calculateDefaultFontSize(m_frame),
calculateViewportWidth(m_frame),
calculateViewportHeight(m_frame),
result);
}
bool MediaValuesDynamic::isSafeToSendToAnotherThread() const
{
return false;
}
int MediaValuesDynamic::viewportWidth() const
{
return calculateViewportWidth(m_frame);
}
int MediaValuesDynamic::viewportHeight() const
{
return calculateViewportHeight(m_frame);
}
int MediaValuesDynamic::deviceWidth() const
{
return calculateDeviceWidth(m_frame);
}
int MediaValuesDynamic::deviceHeight() const
{
return calculateDeviceHeight(m_frame);
}
float MediaValuesDynamic::devicePixelRatio() const
{
return calculateDevicePixelRatio(m_frame);
}
int MediaValuesDynamic::colorBitsPerComponent() const
{
return calculateColorBitsPerComponent(m_frame);
}
int MediaValuesDynamic::monochromeBitsPerComponent() const
{
return calculateMonochromeBitsPerComponent(m_frame);
}
MediaValues::PointerDeviceType MediaValuesDynamic::pointer() const
{
return calculateLeastCapablePrimaryPointerDeviceType(m_frame);
}
bool MediaValuesDynamic::threeDEnabled() const
{
return calculateThreeDEnabled(m_frame);
}
bool MediaValuesDynamic::scanMediaType() const
{
return calculateScanMediaType(m_frame);
}
bool MediaValuesDynamic::screenMediaType() const
{
return calculateScreenMediaType(m_frame);
}
bool MediaValuesDynamic::printMediaType() const
{
return calculatePrintMediaType(m_frame);
}
bool MediaValuesDynamic::strictMode() const
{
return calculateStrictMode(m_frame);
}
Document* MediaValuesDynamic::document() const
{
return m_frame->document();
}
bool MediaValuesDynamic::hasValues() const
{
return m_frame;
}
} // namespace