diff --git a/Userland/Libraries/LibWeb/HTML/Window.cpp b/Userland/Libraries/LibWeb/HTML/Window.cpp
index c03b9e7425..b21314182e 100644
--- a/Userland/Libraries/LibWeb/HTML/Window.cpp
+++ b/Userland/Libraries/LibWeb/HTML/Window.cpp
@@ -988,7 +988,7 @@ void Window::invoke_idle_callbacks()
// 1. Pop the top callback from window's list of runnable idle callbacks.
auto callback = m_runnable_idle_callbacks.take_first();
// 2. Let deadlineArg be a new IdleDeadline whose [get deadline time algorithm] is getDeadline.
- auto deadline_arg = RequestIdleCallback::IdleDeadline::create(realm());
+ auto deadline_arg = RequestIdleCallback::IdleDeadline::create(realm()).release_value_but_fixme_should_propagate_errors();
// 3. Call callback with deadlineArg as its argument. If an uncaught runtime script error occurs, then report the exception.
auto result = callback->invoke(deadline_arg);
if (result.is_error())
diff --git a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp
index 62f2234ee6..72a2ec19a2 100644
--- a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp
+++ b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.cpp
@@ -12,9 +12,9 @@
namespace Web::RequestIdleCallback {
-JS::NonnullGCPtr IdleDeadline::create(JS::Realm& realm, bool did_timeout)
+WebIDL::ExceptionOr> IdleDeadline::create(JS::Realm& realm, bool did_timeout)
{
- return realm.heap().allocate(realm, realm, did_timeout).release_allocated_value_but_fixme_should_propagate_errors();
+ return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, did_timeout));
}
IdleDeadline::IdleDeadline(JS::Realm& realm, bool did_timeout)
diff --git a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h
index d977fffb97..661dc0a4c1 100644
--- a/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h
+++ b/Userland/Libraries/LibWeb/RequestIdleCallback/IdleDeadline.h
@@ -15,7 +15,7 @@ class IdleDeadline final : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(IdleDeadline, Bindings::PlatformObject);
public:
- static JS::NonnullGCPtr create(JS::Realm&, bool did_timeout = false);
+ static WebIDL::ExceptionOr> create(JS::Realm&, bool did_timeout = false);
virtual ~IdleDeadline() override;
double time_remaining() const;