1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 08:38:10 +00:00

LibWeb: Calculate font-size in NodeWidthStyle::apply_style()

Previously, this made the same "everything is px" assumption as in
`StyleProperties::load_font()`, so I've replaced it with the calculation
from there.
This commit is contained in:
Sam Atkins 2021-08-16 21:12:48 +01:00 committed by Andreas Kling
parent 8c39fee34d
commit 3c541452b7

View file

@ -223,9 +223,13 @@ void NodeWithStyle::apply_style(const CSS::StyleProperties& specified_style)
m_line_height = specified_style.line_height(*this);
{
// FIXME: This doesn't work right for relative font-sizes
auto length = specified_style.length_or_fallback(CSS::PropertyID::FontSize, CSS::Length(10, CSS::Length::Type::Px));
m_font_size = length.raw_value();
constexpr int default_font_size = 10;
auto parent_font_size = parent() == nullptr ? default_font_size : parent()->font_size();
auto length = specified_style.length_or_fallback(CSS::PropertyID::FontSize, CSS::Length(default_font_size, CSS::Length::Type::Px));
// FIXME: em sizes return 0 here, for some reason
m_font_size = length.resolved_or_zero(*this, parent_font_size).to_px(*this);
if (m_font_size == 0)
m_font_size = default_font_size;
}
auto bgimage = specified_style.property(CSS::PropertyID::BackgroundImage);