diff --git a/Userland/Libraries/LibWeb/FileAPI/FileList.cpp b/Userland/Libraries/LibWeb/FileAPI/FileList.cpp index a0f610a849..d59e1900a5 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileList.cpp +++ b/Userland/Libraries/LibWeb/FileAPI/FileList.cpp @@ -11,9 +11,9 @@ namespace Web::FileAPI { -JS::NonnullGCPtr FileList::create(JS::Realm& realm, Vector>&& files) +WebIDL::ExceptionOr> FileList::create(JS::Realm& realm, Vector>&& files) { - return realm.heap().allocate(realm, realm, move(files)).release_allocated_value_but_fixme_should_propagate_errors(); + return MUST_OR_THROW_OOM(realm.heap().allocate(realm, realm, move(files))); } FileList::FileList(JS::Realm& realm, Vector>&& files) diff --git a/Userland/Libraries/LibWeb/FileAPI/FileList.h b/Userland/Libraries/LibWeb/FileAPI/FileList.h index 66c882daa3..62d4bb9479 100644 --- a/Userland/Libraries/LibWeb/FileAPI/FileList.h +++ b/Userland/Libraries/LibWeb/FileAPI/FileList.h @@ -17,7 +17,7 @@ class FileList : public Bindings::LegacyPlatformObject { WEB_PLATFORM_OBJECT(FileList, Bindings::LegacyPlatformObject); public: - static JS::NonnullGCPtr create(JS::Realm&, Vector>&&); + static WebIDL::ExceptionOr> create(JS::Realm&, Vector>&&); virtual ~FileList() override; // https://w3c.github.io/FileAPI/#dfn-length diff --git a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp index 7e61cb33c6..1d0f8d8c5c 100644 --- a/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp +++ b/Userland/Libraries/LibWeb/HTML/HTMLInputElement.cpp @@ -110,7 +110,7 @@ JS::GCPtr HTMLInputElement::files() return nullptr; if (!m_selected_files) - m_selected_files = FileAPI::FileList::create(realm(), {}); + m_selected_files = FileAPI::FileList::create(realm(), {}).release_value_but_fixme_should_propagate_errors(); return m_selected_files; } @@ -756,7 +756,7 @@ void HTMLInputElement::reset_algorithm() m_checked = has_attribute(AttributeNames::checked); // empty the list of selected files, - m_selected_files = FileAPI::FileList::create(realm(), {}); + m_selected_files = FileAPI::FileList::create(realm(), {}).release_value_but_fixme_should_propagate_errors(); // and then invoke the value sanitization algorithm, if the type attribute's current state defines one. m_value = value_sanitization_algorithm(m_value);