Browse Source

LibWeb: Make HTML::EventLoop::process() a no-op if there are no tasks

Andreas Kling 3 years ago
parent
commit
c113c092ee
1 changed files with 3 additions and 0 deletions
  1. 3 0
      Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp

+ 3 - 0
Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp

@@ -91,6 +91,9 @@ void EventLoop::process()
     // 1. Let taskQueue be one of the event loop's task queues, chosen in an implementation-defined manner, with the constraint that the chosen task queue must contain at least one runnable task. If there is no such task queue, then jump to the microtasks step below.
     auto& task_queue = m_task_queue;
 
+    if (task_queue.is_empty())
+        return;
+
     // 2. Let oldestTask be the first runnable task in taskQueue, and remove it from taskQueue.
     auto oldest_task = task_queue.take_first_runnable();