LibWeb: Avoid unnecessary padded_rect() call in Box::paint()

We were computing the padded rect of the box during every paint phase,
despite only needing it in the Overlay phase.

Since this is an expensive call, let's take care not to make it
unnecessarily.
This commit is contained in:
Andreas Kling 2021-09-18 20:07:38 +02:00
commit 19c492e976
Notes: sideshowbarker 2024-07-18 03:43:02 +09:00

View file

@ -28,8 +28,6 @@ void Box::paint(PaintContext& context, PaintPhase phase)
if (is_fixed_position())
context.painter().translate(context.scroll_offset());
auto padded_rect = this->padded_rect();
if (phase == PaintPhase::Background) {
paint_background(context);
paint_box_shadow(context);
@ -50,7 +48,7 @@ void Box::paint(PaintContext& context, PaintPhase phase)
margin_rect.set_height(height() + margin_box.top + margin_box.bottom);
context.painter().draw_rect(enclosing_int_rect(margin_rect), Color::Yellow);
context.painter().draw_rect(enclosing_int_rect(padded_rect), Color::Cyan);
context.painter().draw_rect(enclosing_int_rect(padded_rect()), Color::Cyan);
context.painter().draw_rect(enclosing_int_rect(content_rect), Color::Magenta);
}