Selaa lähdekoodia

LibWeb: Make factory method of Encoding::TextEncoder fallible

Kenneth Myhra 2 vuotta sitten
vanhempi
commit
d7446089ae

+ 3 - 2
Userland/Libraries/LibWeb/Encoding/TextEncoder.cpp

@@ -8,12 +8,13 @@
 #include <LibJS/Runtime/TypedArray.h>
 #include <LibWeb/Bindings/Intrinsics.h>
 #include <LibWeb/Encoding/TextEncoder.h>
+#include <LibWeb/WebIDL/ExceptionOr.h>
 
 namespace Web::Encoding {
 
-JS::NonnullGCPtr<TextEncoder> TextEncoder::construct_impl(JS::Realm& realm)
+WebIDL::ExceptionOr<JS::NonnullGCPtr<TextEncoder>> TextEncoder::construct_impl(JS::Realm& realm)
 {
-    return realm.heap().allocate<TextEncoder>(realm, realm).release_allocated_value_but_fixme_should_propagate_errors();
+    return MUST_OR_THROW_OOM(realm.heap().allocate<TextEncoder>(realm, realm));
 }
 
 TextEncoder::TextEncoder(JS::Realm& realm)

+ 1 - 1
Userland/Libraries/LibWeb/Encoding/TextEncoder.h

@@ -20,7 +20,7 @@ class TextEncoder final : public Bindings::PlatformObject {
     WEB_PLATFORM_OBJECT(TextEncoder, Bindings::PlatformObject);
 
 public:
-    static JS::NonnullGCPtr<TextEncoder> construct_impl(JS::Realm&);
+    static WebIDL::ExceptionOr<JS::NonnullGCPtr<TextEncoder>> construct_impl(JS::Realm&);
 
     virtual ~TextEncoder() override;