diff --git a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp
index bebef552a14..cb583a7db95 100644
--- a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp
+++ b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.cpp
@@ -339,7 +339,7 @@ void EventLoop::process()
}
// https://html.spec.whatwg.org/multipage/webappapis.html#queue-a-global-task
-void queue_global_task(HTML::Task::Source source, JS::Object& global_object, JS::SafeFunction steps)
+int queue_global_task(HTML::Task::Source source, JS::Object& global_object, JS::SafeFunction steps)
{
// 1. Let event loop be global's relevant agent's event loop.
auto& global_custom_data = verify_cast(*global_object.vm().custom_data());
@@ -354,6 +354,8 @@ void queue_global_task(HTML::Task::Source source, JS::Object& global_object, JS:
// 3. Queue a task given source, event loop, document, and steps.
event_loop.task_queue().add(HTML::Task::create(source, document, move(steps)));
+
+ return event_loop.task_queue().last_added_task()->id();
}
// https://html.spec.whatwg.org/#queue-a-microtask
diff --git a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h
index 019c9af1187..d587837e7c7 100644
--- a/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h
+++ b/Userland/Libraries/LibWeb/HTML/EventLoop/EventLoop.h
@@ -116,7 +116,7 @@ private:
};
EventLoop& main_thread_event_loop();
-void queue_global_task(HTML::Task::Source, JS::Object&, JS::SafeFunction steps);
+int queue_global_task(HTML::Task::Source, JS::Object&, JS::SafeFunction steps);
void queue_a_microtask(DOM::Document const*, JS::SafeFunction steps);
void perform_a_microtask_checkpoint();