mirror of
https://github.com/SerenityOS/serenity.git
synced 2025-01-24 10:22:05 -05:00
LibWeb: Account for Calculated
in Length methods
We were ignoring this in a couple of places.
This commit is contained in:
parent
64f112c4ea
commit
a07fed4e53
2 changed files with 14 additions and 6 deletions
|
@ -48,6 +48,8 @@ Length Length::make_calculated(NonnullRefPtr<CalculatedStyleValue> calculated_st
|
|||
|
||||
Length Length::percentage_of(Percentage const& percentage) const
|
||||
{
|
||||
VERIFY(!is_calculated());
|
||||
|
||||
if (is_auto()) {
|
||||
dbgln("Attempting to get percentage of an auto length, this seems wrong? But for now we just return the original length.");
|
||||
return *this;
|
||||
|
@ -104,6 +106,15 @@ float Length::to_px(Layout::Node const& layout_node) const
|
|||
return to_px(viewport_rect, layout_node.font().metrics('M'), layout_node.computed_values().font_size(), root_element->layout_node()->computed_values().font_size());
|
||||
}
|
||||
|
||||
String Length::to_string() const
|
||||
{
|
||||
if (is_calculated())
|
||||
return m_calculated_style->to_string();
|
||||
if (is_auto())
|
||||
return "auto";
|
||||
return String::formatted("{}{}", m_value, unit_name());
|
||||
}
|
||||
|
||||
const char* Length::unit_name() const
|
||||
{
|
||||
switch (m_type) {
|
||||
|
|
|
@ -112,15 +112,12 @@ public:
|
|||
}
|
||||
}
|
||||
|
||||
String to_string() const
|
||||
{
|
||||
if (is_auto())
|
||||
return "auto";
|
||||
return String::formatted("{}{}", m_value, unit_name());
|
||||
}
|
||||
String to_string() const;
|
||||
|
||||
bool operator==(const Length& other) const
|
||||
{
|
||||
if (is_calculated())
|
||||
return m_calculated_style == other.m_calculated_style;
|
||||
return m_type == other.m_type && m_value == other.m_value;
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue