LibWeb: Remove SessionHistoryTraversalQueue::process()

...because existance of this method conflicts with the purpose of
having a queue as it allows to start executing next task in the middle
of ongoing task.

For example:

1. SHTQ timer starts executing a task.
2. Task does SHTQ::process().

Another example:

1. SHTQ::process() start executing a task.
2. task does SHTQ::process().
This commit is contained in:
Aliaksandr Kalenik 2024-04-05 15:58:56 +02:00 committed by Alexander Kalenik
commit 00531573a4
Notes: sideshowbarker 2024-07-16 21:51:02 +09:00
3 changed files with 0 additions and 18 deletions

View file

@ -1281,8 +1281,6 @@ WebIDL::ExceptionOr<void> Navigable::navigate(NavigateParams params)
// 1. Navigate to a fragment given navigable, url, historyHandling, userInvolvement, navigationAPIState, and navigationId.
TRY(navigate_to_a_fragment(url, to_history_handling_behavior(history_handling), user_involvement, navigation_api_state, navigation_id));
traversable_navigable()->process_session_history_traversal_queue();
// 2. Return.
return {};
}
@ -1934,9 +1932,6 @@ void perform_url_and_history_update_steps(DOM::Document& document, URL::URL new_
// 1. Finalize a same-document navigation given traversable, navigable, newEntry, and entryToReplace.
finalize_a_same_document_navigation(*traversable, *navigable, new_entry, entry_to_replace, history_handling);
});
// FIXME: Implement synchronous session history steps.
traversable->process_session_history_traversal_queue();
}
void Navigable::scroll_offset_did_change()

View file

@ -57,14 +57,6 @@ public:
return index.has_value() ? m_queue.take(*index) : SessionHistoryTraversalQueueEntry {};
}
void process()
{
while (m_queue.size() > 0) {
auto entry = m_queue.take_first();
entry.steps();
}
}
private:
Vector<SessionHistoryTraversalQueueEntry> m_queue;
RefPtr<Core::Timer> m_timer;

View file

@ -79,11 +79,6 @@ public:
m_session_history_traversal_queue.append_sync(move(steps), target_navigable);
}
void process_session_history_traversal_queue()
{
m_session_history_traversal_queue.process();
}
Page& page() { return m_page; }
Page const& page() const { return m_page; }