LibWeb: Make Platform::Timer GC-allocated

This will allow us to remove the use of SafeFunction in it's
implementation. This requires a fair amount of plumbing to wire up the
GC heap to the appropriate places in order to create the timers.
This commit is contained in:
Shannon Booth 2024-10-30 21:37:08 +13:00 committed by Alexander Kalenik
parent e44702f090
commit ede3c91688
Notes: github-actions[bot] 2024-10-30 19:57:28 +00:00
15 changed files with 52 additions and 38 deletions

View file

@ -48,12 +48,13 @@ void EventLoop::visit_edges(Visitor& visitor)
visitor.visit(m_currently_running_task);
visitor.visit(m_backup_incumbent_settings_object_stack);
visitor.visit(m_rendering_task_function);
visitor.visit(m_system_event_loop_timer);
}
void EventLoop::schedule()
{
if (!m_system_event_loop_timer) {
m_system_event_loop_timer = Platform::Timer::create_single_shot(0, [this] {
m_system_event_loop_timer = Platform::Timer::create_single_shot(heap(), 0, [this] {
process();
});
}