@@ -504,10 +504,8 @@ void LocalTraversableNavigable::reset_session_history_for_testing(GC::Ref<GC::Fu
504504 auto entries_for_navigation_api = get_session_history_entries_for_the_navigation_api (*this , m_current_session_history_step);
505505 active_window ()->navigation ()->initialize_the_navigation_api_entries_for_reconstructed_session_history (entries_for_navigation_api, active_entry);
506506
507- if (page ().client ().should_report_session_history_updates ()) {
508- auto session_history_snapshot = create_session_history_snapshot ();
509- page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
510- }
507+ auto session_history_snapshot = create_session_history_snapshot ();
508+ page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
511509
512510 signal->resolve ({});
513511 on_complete->function ()();
@@ -1548,21 +1546,19 @@ void ApplyHistoryStepState::complete()
15481546 m_traversable->m_current_session_history_step = used_target_step;
15491547
15501548 // AD-HOC: Report the updated session history descriptors to the UI-process mirror.
1551- if (m_traversable->page ().client ().should_report_session_history_updates ()) {
1552- auto save_active_entry_persisted_state = LocalTraversableNavigable::SaveActiveEntryPersistedState::Yes;
1553- // NB: During history traversal, the active entry can point at the target
1554- // entry before the active document's queued history-step update has
1555- // restored the target entry's persisted state. Do not overwrite that
1556- // target entry with the document's pre-restoration viewport offset.
1557- if (m_navigation_type == Bindings::NavigationType::Traverse) {
1558- auto document = m_traversable->active_document ();
1559- auto active_entry = m_traversable->active_session_history_entry ();
1560- if (document && active_entry && document->latest_entry () != active_entry)
1561- save_active_entry_persisted_state = LocalTraversableNavigable::SaveActiveEntryPersistedState::No;
1562- }
1563- auto session_history_snapshot = m_traversable->create_session_history_snapshot (save_active_entry_persisted_state);
1564- m_traversable->page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
1549+ auto save_active_entry_persisted_state = LocalTraversableNavigable::SaveActiveEntryPersistedState::Yes;
1550+ // NB: During history traversal, the active entry can point at the target
1551+ // entry before the active document's queued history-step update has
1552+ // restored the target entry's persisted state. Do not overwrite that
1553+ // target entry with the document's pre-restoration viewport offset.
1554+ if (m_navigation_type == Bindings::NavigationType::Traverse) {
1555+ auto document = m_traversable->active_document ();
1556+ auto active_entry = m_traversable->active_session_history_entry ();
1557+ if (document && active_entry && document->latest_entry () != active_entry)
1558+ save_active_entry_persisted_state = LocalTraversableNavigable::SaveActiveEntryPersistedState::No;
15651559 }
1560+ auto session_history_snapshot = m_traversable->create_session_history_snapshot (save_active_entry_persisted_state);
1561+ m_traversable->page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
15661562
15671563 VERIFY (m_traversable->m_session_history_entries .size () > 0 );
15681564 m_traversable->page ().client ().page_did_change_url (m_traversable->current_session_history_entry ()->url ());
@@ -2333,10 +2329,8 @@ void LocalTraversableNavigable::apply_the_reload_history_step(UserNavigationInvo
23332329 if (auto current_entry = current_session_history_entry (); current_entry && current_entry->document_state ()->reload_pending ()) {
23342330 current_entry->document_state ()->set_reload_pending (false );
23352331
2336- if (page ().client ().should_report_session_history_updates ()) {
2337- auto session_history_snapshot = create_session_history_snapshot ();
2338- page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
2339- }
2332+ auto session_history_snapshot = create_session_history_snapshot ();
2333+ page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
23402334 }
23412335 }
23422336 on_complete->function ()(result);
@@ -2451,10 +2445,8 @@ bool LocalTraversableNavigable::try_to_synchronously_commit_same_document_naviga
24512445 }
24522446 }
24532447
2454- if (page ().client ().should_report_session_history_updates ()) {
2455- auto session_history_snapshot = create_session_history_snapshot (SaveActiveEntryPersistedState::Yes);
2456- page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
2457- }
2448+ auto session_history_snapshot = create_session_history_snapshot (SaveActiveEntryPersistedState::Yes);
2449+ page ().client ().page_did_update_session_history (session_history_snapshot.top_level_session_history_entries , session_history_snapshot.used_session_history_steps , session_history_snapshot.current_used_step_index );
24582450
24592451 VERIFY (session_history_entries ().size () > 0 );
24602452 page ().client ().page_did_change_url (current_session_history_entry ()->url ());
0 commit comments