Преглед на файлове

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.
Luke преди 4 години
родител
ревизия
4155de2572
променени са 1 файла, в които са добавени 3 реда и са изтрити 1 реда
  1. 3 1
      Libraries/LibWeb/CSS/StyleProperties.cpp

+ 3 - 1
Libraries/LibWeb/CSS/StyleProperties.cpp

@@ -174,7 +174,9 @@ void StyleProperties::load_font() const
         m_font = Gfx::Font::default_bold_font();
         m_font = Gfx::Font::default_bold_font();
     else
     else
         m_font = Gfx::Font::default_font();
         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
 float StyleProperties::line_height(const LayoutNode& layout_node) const