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

LibWeb: Add unloading of child navigables in "apply the history step"

Implements missing step from the spec.
This commit is contained in:
Aliaksandr Kalenik 2023-09-03 22:34:27 +02:00 committed by Andreas Kling
parent 2445205e9d
commit c20123378d

View file

@ -406,8 +406,13 @@ void TraversableNavigable::apply_the_history_step(int step, Optional<SourceSnaps
// 1. Unload displayedDocument given targetEntry's document.
displayed_document->unload(target_entry->document_state->document());
// FIXME: 2. For each childNavigable of displayedDocument's descendant navigables, queue a global task on the navigation and traversal task source given
// childNavigable's active window to unload childNavigable's active document.
// 2. For each childNavigable of displayedDocument's descendant navigables, queue a global task on the navigation and traversal task source given
// childNavigable's active window to unload childNavigable's active document.
for (auto child_navigable : displayed_document->descendant_navigables()) {
queue_global_task(Task::Source::NavigationAndTraversal, *navigable->active_window(), [child_navigable] {
child_navigable->active_document()->unload();
});
}
// 3. Activate history entry targetEntry for navigable.
navigable->activate_history_entry(*target_entry);