1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-25 16:17:45 +00:00

LibWeb: Make factory method of HTML::Storage fallible

This commit is contained in:
Kenneth Myhra 2023-02-15 19:57:02 +01:00 committed by Linus Groh
parent d7ee378018
commit b41401bab2
3 changed files with 5 additions and 5 deletions

View file

@ -10,9 +10,9 @@
namespace Web::HTML {
JS::NonnullGCPtr<Storage> Storage::create(JS::Realm& realm)
WebIDL::ExceptionOr<JS::NonnullGCPtr<Storage>> Storage::create(JS::Realm& realm)
{
return realm.heap().allocate<Storage>(realm, realm).release_allocated_value_but_fixme_should_propagate_errors();
return MUST_OR_THROW_OOM(realm.heap().allocate<Storage>(realm, realm));
}
Storage::Storage(JS::Realm& realm)

View file

@ -16,7 +16,7 @@ class Storage : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(Storage, Bindings::PlatformObject);
public:
static JS::NonnullGCPtr<Storage> create(JS::Realm&);
static WebIDL::ExceptionOr<JS::NonnullGCPtr<Storage>> create(JS::Realm&);
~Storage();
size_t length() const;

View file

@ -864,7 +864,7 @@ JS::NonnullGCPtr<HTML::Storage> Window::local_storage()
static HashMap<Origin, JS::Handle<HTML::Storage>> local_storage_per_origin;
auto storage = local_storage_per_origin.ensure(associated_document().origin(), [this]() -> JS::Handle<HTML::Storage> {
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<HTML::Storage> Window::session_storage()
static HashMap<Origin, JS::Handle<HTML::Storage>> session_storage_per_origin;
auto storage = session_storage_per_origin.ensure(associated_document().origin(), [this]() -> JS::Handle<HTML::Storage> {
return *HTML::Storage::create(realm());
return *HTML::Storage::create(realm()).release_value_but_fixme_should_propagate_errors();
});
return *storage;
}