From 4155de257237bebe96b5d5c976e57fd18ee572eb Mon Sep 17 00:00:00 2001 From: Luke Date: Sat, 10 Oct 2020 20:35:00 +0100 Subject: [PATCH] LibWeb: Cache the default font if we fail to find the specified font This is a hack to stop chewing CPU on sites that use a font we don't have and have a lot of text or changes text often. Examples are the Serenity 2nd birthday page and the JS specification. --- Libraries/LibWeb/CSS/StyleProperties.cpp | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/Libraries/LibWeb/CSS/StyleProperties.cpp b/Libraries/LibWeb/CSS/StyleProperties.cpp index 2b4b656a17a..2e15aa949d9 100644 --- a/Libraries/LibWeb/CSS/StyleProperties.cpp +++ b/Libraries/LibWeb/CSS/StyleProperties.cpp @@ -174,7 +174,9 @@ void StyleProperties::load_font() const m_font = Gfx::Font::default_bold_font(); else m_font = Gfx::Font::default_font(); - return; + // FIXME: This is a hack to stop chewing CPU on sites that use a font we don't have and have a lot of text + // or changes text often. Examples are the Serenity 2nd birthday page and the JS specification. + FontCache::the().set({ font_family, font_weight }, *m_font); } float StyleProperties::line_height(const LayoutNode& layout_node) const