blob: 3e4d7b97a732135f2bdd998c51f4394851129b85 [file] [log] [blame]
// Copyright 2014 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef THIRD_PARTY_BLINK_RENDERER_CORE_CSS_MEDIA_VALUES_DYNAMIC_H_
#define THIRD_PARTY_BLINK_RENDERER_CORE_CSS_MEDIA_VALUES_DYNAMIC_H_
#include "third_party/blink/renderer/core/core_export.h"
#include "third_party/blink/renderer/core/css/media_values.h"
#include "ui/base/ui_base_types.h"
namespace blink {
class Document;
class CORE_EXPORT MediaValuesDynamic : public MediaValues {
public:
static MediaValues* Create(Document&);
static MediaValues* Create(LocalFrame*);
explicit MediaValuesDynamic(LocalFrame*);
MediaValuesDynamic(LocalFrame*,
bool overridden_viewport_dimensions,
double viewport_width,
double viewport_height);
int DeviceWidth() const override;
int DeviceHeight() const override;
float DevicePixelRatio() const override;
bool DeviceSupportsHDR() const override;
int ColorBitsPerComponent() const override;
int MonochromeBitsPerComponent() const override;
bool InvertedColors() const override;
mojom::blink::PointerType PrimaryPointerType() const override;
int AvailablePointerTypes() const override;
mojom::blink::HoverType PrimaryHoverType() const override;
mojom::blink::OutputDeviceUpdateAbilityType OutputDeviceUpdateAbilityType()
const override;
int AvailableHoverTypes() const override;
bool ThreeDEnabled() const override;
bool StrictMode() const override;
const String MediaType() const override;
blink::mojom::DisplayMode DisplayMode() const override;
ui::WindowShowState WindowShowState() const override;
bool Resizable() const override;
ColorSpaceGamut ColorGamut() const override;
mojom::blink::PreferredColorScheme GetPreferredColorScheme() const override;
mojom::blink::PreferredContrast GetPreferredContrast() const override;
bool PrefersReducedMotion() const override;
bool PrefersReducedData() const override;
bool PrefersReducedTransparency() const override;
ForcedColors GetForcedColors() const override;
NavigationControls GetNavigationControls() const override;
int GetHorizontalViewportSegments() const override;
int GetVerticalViewportSegments() const override;
mojom::blink::DevicePostureType GetDevicePosture() const override;
Scripting GetScripting() const override;
Document* GetDocument() const override;
bool HasValues() const override;
void Trace(Visitor*) const override;
protected:
// CSSLengthResolver
float EmFontSize(float zoom) const override;
float RemFontSize(float zoom) const override;
float ExFontSize(float zoom) const override;
float RexFontSize(float zoom) const override;
float ChFontSize(float zoom) const override;
float RchFontSize(float zoom) const override;
float IcFontSize(float zoom) const override;
float RicFontSize(float zoom) const override;
float LineHeight(float zoom) const override;
float RootLineHeight(float zoom) const override;
float CapFontSize(float zoom) const override;
float RcapFontSize(float zoom) const override;
double ViewportWidth() const override;
double ViewportHeight() const override;
double SmallViewportWidth() const override;
double SmallViewportHeight() const override;
double LargeViewportWidth() const override;
double LargeViewportHeight() const override;
double DynamicViewportWidth() const override;
double DynamicViewportHeight() const override;
double ContainerWidth() const override;
double ContainerHeight() const override;
double ContainerWidth(const ScopedCSSName&) const override;
double ContainerHeight(const ScopedCSSName&) const override;
WritingMode GetWritingMode() const override {
return WritingMode::kHorizontalTb;
}
Member<LocalFrame> frame_;
bool viewport_dimensions_overridden_;
double viewport_width_override_;
double viewport_height_override_;
};
} // namespace blink
#endif // THIRD_PARTY_BLINK_RENDERER_CORE_CSS_MEDIA_VALUES_DYNAMIC_H_