LibWeb: Process session history queue after initial iframe navigation

This is not in the spec, but we need to make sure that "apply the
history step" for initial navigation to about:blank in iframe is
applied before subsequent navigations. Otherwise, "set ongoing
navigation" call during "about:blank" traversal might abort subsequent
ongoing navigation which is not expected to happen.
This commit is contained in:
Aliaksandr Kalenik 2023-09-07 01:09:26 +02:00 committed by Andreas Kling
parent 0e0936e1ce
commit 9b16e5373d
Notes: sideshowbarker 2024-07-16 23:03:06 +09:00
4 changed files with 18 additions and 0 deletions

View file

@ -208,6 +208,9 @@ Optional<AK::URL> NavigableContainer::shared_attribute_processing_steps_for_ifra
// 4. If url matches about:blank and initialInsertion is true, then perform the URL and history update steps given element's content navigable's active document and url.
if (url_matches_about_blank(url) && initial_insertion) {
perform_url_and_history_update_steps(*m_content_navigable->active_document(), url);
// NOTE: Not in the spec but we need to make sure that "apply the history step" for initial navigation to about:blank
// is applied before subsequent navigation.
navigable()->traversable_navigable()->process_session_history_traversal_queue();
}
// 5. Return url.