diff --git a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp index 09285c391b2..cdfe2ce60d0 100644 --- a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp +++ b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp @@ -27,9 +27,6 @@ EventLoop::EventLoop() { m_task_queue = heap().allocate_without_realm(*this); m_microtask_queue = heap().allocate_without_realm(*this); - - for (size_t i = 0; i < m_blocked_task_sources.size(); ++i) - m_blocked_task_sources[i] = false; } EventLoop::~EventLoop() = default; @@ -62,31 +59,6 @@ EventLoop& main_thread_event_loop() return *static_cast(Bindings::main_thread_vm().custom_data())->event_loop; } -bool EventLoop::is_task_source_blocked(Task::Source source) const -{ - if (source == Task::Source::Unspecified) - return false; - if (static_cast(to_underlying(source)) < m_blocked_task_sources.size()) - return m_blocked_task_sources[to_underlying(source)]; - return false; -} - -void EventLoop::block_task_source(Task::Source source) -{ - if (source == Task::Source::Unspecified) - return; - if (static_cast(to_underlying(source)) < m_blocked_task_sources.size()) - m_blocked_task_sources[to_underlying(source)] = true; -} - -void EventLoop::unblock_task_source(Task::Source source) -{ - if (source == Task::Source::Unspecified) - return; - if (static_cast(to_underlying(source)) < m_blocked_task_sources.size()) - m_blocked_task_sources[to_underlying(source)] = false; -} - // https://html.spec.whatwg.org/multipage/webappapis.html#spin-the-event-loop void EventLoop::spin_until(JS::SafeFunction goal_condition) { @@ -147,13 +119,11 @@ void EventLoop::spin_processing_tasks_with_source_until(Task::Source source, JS: return task.source() == source && task.is_runnable(); }); - block_task_source(source); for (auto& task : tasks) { m_currently_running_task = task.ptr(); task->execute(); m_currently_running_task = nullptr; } - unblock_task_source(source); } // FIXME: Remove the platform event loop plugin so that this doesn't look out of place @@ -191,8 +161,6 @@ void EventLoop::process() oldest_task = task_queue.take_first_runnable(); if (oldest_task) { - block_task_source(oldest_task->source()); - // 5. Set the event loop's currently running task to oldestTask. m_currently_running_task = oldest_task.ptr(); @@ -201,8 +169,6 @@ void EventLoop::process() // 7. Set the event loop's currently running task back to null. m_currently_running_task = nullptr; - - unblock_task_source(oldest_task->source()); } // 8. Microtasks: Perform a microtask checkpoint. diff --git a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h index dae3a3b521e..ebb4a794cdb 100644 --- a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h +++ b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h @@ -39,10 +39,6 @@ public: TaskQueue& microtask_queue() { return *m_microtask_queue; } TaskQueue const& microtask_queue() const { return *m_microtask_queue; } - bool is_task_source_blocked(Task::Source source) const; - void block_task_source(Task::Source source); - void unblock_task_source(Task::Source source); - void spin_until(NOESCAPE JS::SafeFunction goal_condition); void spin_processing_tasks_with_source_until(Task::Source, NOESCAPE JS::SafeFunction goal_condition); void process(); @@ -117,8 +113,6 @@ private: bool m_execution_paused { false }; bool m_skip_event_loop_processing_steps { false }; - - Array m_blocked_task_sources; }; EventLoop& main_thread_event_loop(); diff --git a/Userland/Libraries/LibWeb/HTML/EventLoop/TaskQueue.cpp b/Userland/Libraries/LibWeb/HTML/EventLoop/TaskQueue.cpp index bee975f1e9b..8cea970cc5f 100644 --- a/Userland/Libraries/LibWeb/HTML/EventLoop/TaskQueue.cpp +++ b/Userland/Libraries/LibWeb/HTML/EventLoop/TaskQueue.cpp @@ -39,10 +39,7 @@ JS::GCPtr TaskQueue::take_first_runnable() return nullptr; for (size_t i = 0; i < m_tasks.size(); ++i) { - auto const& task = m_tasks[i]; - if (m_event_loop->is_task_source_blocked(task->source())) - continue; - if (task->is_runnable()) + if (m_tasks[i]->is_runnable()) return m_tasks.take(i); } return nullptr; @@ -54,8 +51,6 @@ bool TaskQueue::has_runnable_tasks() const return false; for (auto& task : m_tasks) { - if (m_event_loop->is_task_source_blocked(task->source())) - continue; if (task->is_runnable()) return true; }