LibWeb: Remove CalculatedStyleValue from Frequency

Conveniently, we don't actually use Frequency for any properties.
This commit is contained in:
Sam Atkins 2023-03-30 15:54:38 +01:00 committed by Andreas Kling
parent 7a1a97f153
commit bf915fdfd7
Notes: sideshowbarker 2024-07-16 23:34:49 +09:00
2 changed files with 3 additions and 33 deletions

View file

@ -1,11 +1,11 @@
/*
* Copyright (c) 2022, Sam Atkins <atkinssj@serenityos.org>
* Copyright (c) 2022-2023, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#include "Frequency.h"
#include <LibWeb/CSS/StyleValue.h>
#include <LibWeb/CSS/Percentage.h>
namespace Web::CSS {
@ -21,13 +21,6 @@ Frequency::Frequency(float value, Type type)
{
}
Frequency Frequency::make_calculated(NonnullRefPtr<CalculatedStyleValue> calculated_style_value)
{
Frequency frequency { 0, Type::Calculated };
frequency.m_calculated_style = move(calculated_style_value);
return frequency;
}
Frequency Frequency::make_hertz(float value)
{
return { value, Type::Hz };
@ -35,23 +28,17 @@ Frequency Frequency::make_hertz(float value)
Frequency Frequency::percentage_of(Percentage const& percentage) const
{
VERIFY(!is_calculated());
return Frequency { percentage.as_fraction() * m_value, m_type };
}
ErrorOr<String> Frequency::to_string() const
{
if (is_calculated())
return m_calculated_style->to_string();
return String::formatted("{}{}", m_value, unit_name());
}
float Frequency::to_hertz() const
{
switch (m_type) {
case Type::Calculated:
return m_calculated_style->resolve_frequency()->to_hertz();
case Type::Hz:
return m_value;
case Type::kHz:
@ -63,8 +50,6 @@ float Frequency::to_hertz() const
StringView Frequency::unit_name() const
{
switch (m_type) {
case Type::Calculated:
return "calculated"sv;
case Type::Hz:
return "hz"sv;
case Type::kHz:
@ -83,10 +68,4 @@ Optional<Frequency::Type> Frequency::unit_from_name(StringView name)
return {};
}
NonnullRefPtr<CalculatedStyleValue> Frequency::calculated_style_value() const
{
VERIFY(!m_calculated_style.is_null());
return *m_calculated_style;
}
}

View file

@ -1,12 +1,11 @@
/*
* Copyright (c) 2022, Sam Atkins <atkinssj@serenityos.org>
* Copyright (c) 2022-2023, Sam Atkins <atkinssj@serenityos.org>
*
* SPDX-License-Identifier: BSD-2-Clause
*/
#pragma once
#include <AK/RefPtr.h>
#include <AK/String.h>
#include <LibWeb/Forward.h>
@ -14,7 +13,6 @@ namespace Web::CSS {
class Frequency {
public:
enum class Type {
Calculated,
Hz,
kHz
};
@ -23,20 +21,14 @@ public:
Frequency(int value, Type type);
Frequency(float value, Type type);
static Frequency make_calculated(NonnullRefPtr<CalculatedStyleValue>);
static Frequency make_hertz(float);
Frequency percentage_of(Percentage const&) const;
bool is_calculated() const { return m_type == Type::Calculated; }
NonnullRefPtr<CalculatedStyleValue> calculated_style_value() const;
ErrorOr<String> to_string() const;
float to_hertz() const;
bool operator==(Frequency const& other) const
{
if (is_calculated())
return m_calculated_style == other.m_calculated_style;
return m_type == other.m_type && m_value == other.m_value;
}
@ -45,7 +37,6 @@ private:
Type m_type;
float m_value { 0 };
RefPtr<CalculatedStyleValue> m_calculated_style;
};
}