LibWeb: Make recompute_selection_states() go faster

...by avoiding `is_before()` call on every loop iteration in step 5.

This change makes switching channels on Discord go a lot faster.
This commit is contained in:
Aliaksandr Kalenik 2025-07-03 10:42:48 +02:00 committed by Alexander Kalenik
commit bc8870d019
Notes: github-actions[bot] 2025-07-03 11:49:32 +00:00

View file

@ -374,7 +374,7 @@ void ViewportPaintable::recompute_selection_states(DOM::Range& range)
}
// 5. Mark the nodes between start node and end node (in tree order) as Full.
for (auto* node = start_container->next_in_pre_order(); node && (node->is_before(end_container) || node->is_descendant_of(end_container)); node = node->next_in_pre_order()) {
for (auto* node = start_container->next_in_pre_order(); node && node != end_container; node = node->next_in_pre_order()) {
if (node->is_inert())
continue;
if (auto* paintable = node->paintable())