mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-29 04:09:13 +00:00
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:
parent
e44702f090
commit
ede3c91688
Notes:
github-actions[bot]
2024-10-30 19:57:28 +00:00
Author: https://github.com/shannonbooth
Commit: ede3c91688
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/2062
Reviewed-by: https://github.com/kalenikaliaksandr ✅
15 changed files with 52 additions and 38 deletions
|
@ -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();
|
||||
});
|
||||
}
|
||||
|
|
|
@ -96,7 +96,7 @@ private:
|
|||
// https://html.spec.whatwg.org/multipage/webappapis.html#last-idle-period-start-time
|
||||
double m_last_idle_period_start_time { 0 };
|
||||
|
||||
RefPtr<Platform::Timer> m_system_event_loop_timer;
|
||||
JS::GCPtr<Platform::Timer> m_system_event_loop_timer;
|
||||
|
||||
// https://html.spec.whatwg.org/#performing-a-microtask-checkpoint
|
||||
bool m_performing_a_microtask_checkpoint { false };
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue