ladybird/Userland/Libraries/LibWeb/HTML/EventLoop
Andreas Kling bc6e61adec LibWeb: Don't churn HTML::EventLoop while in microtask checkpoint
At the end of HTML::EventLoop::process(), the loop reschedules itself if
there are more runnable tasks available.

However, the condition was flawed: we would reschedule if there were any
microtasks queued, but those tasks will not be processed if we're
currently within the scope of a microtask checkpoint.

To fix this, we now only reschedule the HTML event loop for microtask
processing *if* we're not already in a microtask checkpoint.

This fixes the 100% CPU churn seen when looking at PRs on GitHub. :^)
2023-04-01 12:45:47 +01:00
..
EventLoop.cpp LibWeb: Don't churn HTML::EventLoop while in microtask checkpoint 2023-04-01 12:45:47 +01:00
EventLoop.h LibJS+LibWeb: Wrap raw JS::Cell*/& fields in GCPtr/NonnullGCPtr 2023-03-15 08:48:49 +01:00
Task.cpp LibWeb: Fix a few const-ness issues 2023-03-06 13:05:43 +00:00
Task.h LibWeb: Fix a few const-ness issues 2023-03-06 13:05:43 +00:00
TaskQueue.cpp LibWeb: Add a flag to pause an HTML event loop's execution 2022-11-16 17:23:56 +00:00
TaskQueue.h LibWeb: Flesh out a chunk of the HTML spec's frame navigation algorithms 2022-09-20 10:32:13 +02:00