LibWeb: Fix invalidation of CSS properties that do not affect layout

Recently, we moved the resolution of CSS properties that do not affect
layout to occur within LayoutState::commit(). This decision was a
mistake as it breaks invalidation. With this change, we now re-resolve
all properties that do not affect layout before each repaint.
This commit is contained in:
Aliaksandr Kalenik
2024-02-02 12:04:16 +01:00
committed by Andreas Kling
parent 955d73657e
commit 1af466babf
11 changed files with 314 additions and 250 deletions

View File

@@ -179,6 +179,8 @@ public:
};
void paint(Painting::RecordingPainter&, PaintConfig);
void set_needs_to_resolve_paint_only_properties() { m_needs_to_resolve_paint_only_properties = true; }
protected:
Navigable();
@@ -220,6 +222,8 @@ private:
CSSPixelSize m_size;
CSSPixelPoint m_viewport_scroll_offset;
bool m_needs_to_resolve_paint_only_properties { true };
};
HashTable<Navigable*>& all_navigables();