1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 11:18:11 +00:00

LibWeb: Paint 1x1 backgrounds as color fill instead of tiling bitmap

This yields a huge speedup on pages that use this weird but
not-entirely-uncommon technique.
This commit is contained in:
Andreas Kling 2024-01-01 13:48:53 +01:00
parent e8f04be3ae
commit 6eeda29642
4 changed files with 47 additions and 14 deletions

View file

@ -146,4 +146,13 @@ JS::GCPtr<HTML::DecodedImageData> ImageStyleValue::image_data() const
return m_image_request->image_data();
}
Optional<Gfx::Color> ImageStyleValue::color_if_single_pixel_bitmap() const
{
if (auto const* b = bitmap(m_current_frame_index)) {
if (b->width() == 1 && b->height() == 1)
return b->bitmap().get_pixel(0, 0);
}
return {};
}
}