LibWeb: Let HTML::EventLoop know its type

There are three types of event loop: window, worker and worklet.
For now, we only have window event loops.
This commit is contained in:
Andreas Kling 2021-09-09 00:21:57 +02:00
parent 0554d96a2e
commit 7bcde2bcfb
Notes: sideshowbarker 2024-07-18 04:24:32 +09:00

View File

@ -13,9 +13,20 @@ namespace Web::HTML {
class EventLoop {
public:
enum class Type {
// https://html.spec.whatwg.org/multipage/webappapis.html#window-event-loop
Window,
// https://html.spec.whatwg.org/multipage/webappapis.html#worker-event-loop
Worker,
// https://html.spec.whatwg.org/multipage/webappapis.html#worklet-event-loop
Worklet,
};
EventLoop();
~EventLoop();
Type type() const { return m_type; }
TaskQueue& task_queue() { return m_task_queue; }
TaskQueue const& task_queue() const { return m_task_queue; }
@ -25,6 +36,8 @@ public:
Task const* currently_running_task() const { return m_currently_running_task; }
private:
Type m_type { Type::Window };
TaskQueue m_task_queue;
// https://html.spec.whatwg.org/multipage/webappapis.html#currently-running-task