LibWeb: Schedule rendering update on AVC only style change

b583fd skipped display list invalidation for AVC only style changes
which also meant that we no longer marked the navigable as needing a
repaint or requested the next frame.

This commit updates `set_needs_accumulated_visual_contexts_update` to do
so.

This makes the animation when hovering icons on
https://chrede88.github.io/L1nkr paint intermediate frames not just the
first and last.
This commit is contained in:
Callum Law 2026-06-18 20:54:37 +12:00 committed by Jelle Raaijmakers
parent 64f866cae2
commit 8ebdd6d41e
2 changed files with 8 additions and 1 deletions

View file

@ -8550,6 +8550,13 @@ void Document::set_needs_repaint(InvalidateDisplayList should_invalidate_display
}
}
void Document::set_needs_accumulated_visual_contexts_update(bool value)
{
m_needs_accumulated_visual_contexts_update = value;
if (value)
set_needs_repaint(InvalidateDisplayList::No);
}
void Document::set_needs_to_record_display_list()
{
m_hit_test_display_list = nullptr;

View file

@ -918,7 +918,7 @@ public:
void record_full_style_invalidation() const;
static void set_style_invalidation_counter_dump_interval(Optional<u64>);
void set_needs_accumulated_visual_contexts_update(bool value) { m_needs_accumulated_visual_contexts_update = value; }
void set_needs_accumulated_visual_contexts_update(bool);
bool needs_accumulated_visual_contexts_update() const { return m_needs_accumulated_visual_contexts_update; }
virtual JS::Value named_item_value(FlyString const& name) const override;