소스 검색

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

Andreas Kling 3 년 전
부모
커밋
c113c092ee
1개의 변경된 파일3개의 추가작업 그리고 0개의 파일을 삭제
  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();