#include "third_party/blink/renderer/core/css/css_to_length_conversion_data.h"
#include "third_party/blink/renderer/core/css/anchor_evaluator.h"
#include "third_party/blink/renderer/core/css/container_query.h"
#include "third_party/blink/renderer/core/css/container_query_evaluator.h"
#include "third_party/blink/renderer/core/css/css_resolution_units.h"
#include "third_party/blink/renderer/core/dom/element.h"
#include "third_party/blink/renderer/core/dom/layout_tree_builder_traversal.h"
#include "third_party/blink/renderer/core/dom/node_computed_style.h"
#include "third_party/blink/renderer/core/layout/adjust_for_absolute_zoom.h"
#include "third_party/blink/renderer/core/layout/layout_view.h"
#include "third_party/blink/renderer/core/style/computed_style.h"
#include "third_party/blink/renderer/core/style/font_size_style.h"
namespace blink {
namespace {
std::optional<double> FindSizeForContainerAxis(
PhysicalAxes requested_axis,
Element* context_element,
const ScopedCSSName* container_name = nullptr) { … }
}
float CSSToLengthConversionData::FontSizes::Ex(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Rex(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Ch(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Rch(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Ic(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Ric(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Cap(float zoom) const { … }
float CSSToLengthConversionData::FontSizes::Rcap(float zoom) const { … }
CSSToLengthConversionData::LineHeightSize::LineHeightSize(
const FontSizeStyle& style,
const ComputedStyle* root_style)
: … { … }
float CSSToLengthConversionData::LineHeightSize::Lh(float zoom) const { … }
float CSSToLengthConversionData::LineHeightSize::Rlh(float zoom) const { … }
CSSToLengthConversionData::ViewportSize::ViewportSize(
const LayoutView* layout_view) { … }
CSSToLengthConversionData::ContainerSizes
CSSToLengthConversionData::ContainerSizes::PreCachedCopy() const { … }
void CSSToLengthConversionData::ContainerSizes::Trace(Visitor* visitor) const { … }
bool CSSToLengthConversionData::ContainerSizes::SizesEqual(
const ContainerSizes& other) const { … }
std::optional<double> CSSToLengthConversionData::ContainerSizes::Width() const { … }
std::optional<double> CSSToLengthConversionData::ContainerSizes::Height()
const { … }
std::optional<double> CSSToLengthConversionData::ContainerSizes::Width(
const ScopedCSSName& container_name) const { … }
std::optional<double> CSSToLengthConversionData::ContainerSizes::Height(
const ScopedCSSName& container_name) const { … }
void CSSToLengthConversionData::ContainerSizes::CacheSizeIfNeeded(
PhysicalAxes requested_axis,
std::optional<double>& cache) const { … }
std::optional<double> CSSToLengthConversionData::ContainerSizes::FindNamedSize(
const ScopedCSSName& container_name,
PhysicalAxes requested_axis) const { … }
CSSToLengthConversionData::AnchorData::AnchorData(
AnchorEvaluator* evaluator,
const ScopedCSSName* position_anchor,
const std::optional<PositionAreaOffsets>& position_area_offsets)
: … { … }
CSSToLengthConversionData::CSSToLengthConversionData(
WritingMode writing_mode,
const FontSizes& font_sizes,
const LineHeightSize& line_height_size,
const ViewportSize& viewport_size,
const ContainerSizes& container_sizes,
const AnchorData& anchor_data,
float zoom,
Flags& flags)
: … { … }
float CSSToLengthConversionData::EmFontSize(float zoom) const { … }
float CSSToLengthConversionData::RemFontSize(float zoom) const { … }
float CSSToLengthConversionData::ExFontSize(float zoom) const { … }
float CSSToLengthConversionData::RexFontSize(float zoom) const { … }
float CSSToLengthConversionData::ChFontSize(float zoom) const { … }
float CSSToLengthConversionData::RchFontSize(float zoom) const { … }
float CSSToLengthConversionData::IcFontSize(float zoom) const { … }
float CSSToLengthConversionData::RicFontSize(float zoom) const { … }
float CSSToLengthConversionData::LineHeight(float zoom) const { … }
float CSSToLengthConversionData::RootLineHeight(float zoom) const { … }
float CSSToLengthConversionData::CapFontSize(float zoom) const { … }
float CSSToLengthConversionData::RcapFontSize(float zoom) const { … }
double CSSToLengthConversionData::ViewportWidth() const { … }
double CSSToLengthConversionData::ViewportHeight() const { … }
double CSSToLengthConversionData::SmallViewportWidth() const { … }
double CSSToLengthConversionData::SmallViewportHeight() const { … }
double CSSToLengthConversionData::LargeViewportWidth() const { … }
double CSSToLengthConversionData::LargeViewportHeight() const { … }
double CSSToLengthConversionData::DynamicViewportWidth() const { … }
double CSSToLengthConversionData::DynamicViewportHeight() const { … }
double CSSToLengthConversionData::ContainerWidth() const { … }
double CSSToLengthConversionData::ContainerHeight() const { … }
double CSSToLengthConversionData::ContainerWidth(
const ScopedCSSName& container_name) const { … }
double CSSToLengthConversionData::ContainerHeight(
const ScopedCSSName& container_name) const { … }
WritingMode CSSToLengthConversionData::GetWritingMode() const { … }
CSSToLengthConversionData::ContainerSizes
CSSToLengthConversionData::PreCachedContainerSizesCopy() const { … }
void CSSToLengthConversionData::ReferenceTreeScope() const { … }
void CSSToLengthConversionData::ReferenceAnchor() const { … }
}