diff --git a/Userland/Libraries/LibWeb/HTML/Storage.cpp b/Userland/Libraries/LibWeb/HTML/Storage.cpp index e258a44a49..456c8349e4 100644 --- a/Userland/Libraries/LibWeb/HTML/Storage.cpp +++ b/Userland/Libraries/LibWeb/HTML/Storage.cpp @@ -10,9 +10,9 @@ namespace Web::HTML { -JS::NonnullGCPtr Storage::create(JS::Realm& realm) +WebIDL::ExceptionOr> Storage::create(JS::Realm& realm) { - return realm.heap().allocate(realm, realm).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm)); } Storage::Storage(JS::Realm& realm) diff --git a/Userland/Libraries/LibWeb/HTML/Storage.h b/Userland/Libraries/LibWeb/HTML/Storage.h index 2fc749ee88..4a12ab704d 100644 --- a/Userland/Libraries/LibWeb/HTML/Storage.h +++ b/Userland/Libraries/LibWeb/HTML/Storage.h @@ -16,7 +16,7 @@ class Storage : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(Storage, Bindings::PlatformObject); public: - static JS::NonnullGCPtr create(JS::Realm&); + static WebIDL::ExceptionOr> create(JS::Realm&); ~Storage(); size_t length() const; diff --git a/Userland/Libraries/LibWeb/HTML/Window.cpp b/Userland/Libraries/LibWeb/HTML/Window.cpp index 76af7c0448..f301442023 100644 --- a/Userland/Libraries/LibWeb/HTML/Window.cpp +++ b/Userland/Libraries/LibWeb/HTML/Window.cpp @@ -864,7 +864,7 @@ JS::NonnullGCPtr Window::local_storage() static HashMap> local_storage_per_origin; auto storage = local_storage_per_origin.ensure(associated_document().origin(), [this]() -> JS::Handle { - return *HTML::Storage::create(realm()); + return *HTML::Storage::create(realm()).release_value_but_fixme_should_propagate_errors(); }); return *storage; } @@ -876,7 +876,7 @@ JS::NonnullGCPtr Window::session_storage() static HashMap> session_storage_per_origin; auto storage = session_storage_per_origin.ensure(associated_document().origin(), [this]() -> JS::Handle { - return *HTML::Storage::create(realm()); + return *HTML::Storage::create(realm()).release_value_but_fixme_should_propagate_errors(); }); return *storage; }