diff --git a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp index 213d618a38..882d4f9eec 100644 --- a/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp +++ b/Userland/Libraries/LibWeb/HTML/CanvasRenderingContext2D.cpp @@ -377,7 +377,7 @@ JS::NonnullGCPtr CanvasRenderingContext2D::measure_text(DeprecatedS // TextMetrics object with members behaving as described in the following // list: auto prepared_text = prepare_text(text); - auto metrics = TextMetrics::create(realm()); + auto metrics = TextMetrics::create(realm()).release_value_but_fixme_should_propagate_errors(); // FIXME: Use the font that was used to create the glyphs in prepared_text. auto& font = Platform::FontPlugin::the().default_font(); diff --git a/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp b/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp index 0f21286fe6..235da24367 100644 --- a/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp +++ b/Userland/Libraries/LibWeb/HTML/TextMetrics.cpp @@ -6,12 +6,13 @@ #include #include +#include namespace Web::HTML { -JS::NonnullGCPtr TextMetrics::create(JS::Realm& realm) +WebIDL::ExceptionOr> TextMetrics::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)); } TextMetrics::TextMetrics(JS::Realm& realm) diff --git a/Userland/Libraries/LibWeb/HTML/TextMetrics.h b/Userland/Libraries/LibWeb/HTML/TextMetrics.h index 47df236a57..1d07e8f8c2 100644 --- a/Userland/Libraries/LibWeb/HTML/TextMetrics.h +++ b/Userland/Libraries/LibWeb/HTML/TextMetrics.h @@ -14,7 +14,7 @@ class TextMetrics : public Bindings::PlatformObject { WEB_PLATFORM_OBJECT(TextMetrics, Bindings::PlatformObject); public: - static JS::NonnullGCPtr create(JS::Realm&); + static WebIDL::ExceptionOr> create(JS::Realm&); virtual ~TextMetrics() override;