1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-24 22:17:42 +00:00

LibWeb: Make factory method of HTML::CanvasRenderingContext2D fallible

This commit is contained in:
Kenneth Myhra 2023-02-15 18:48:20 +01:00 committed by Linus Groh
parent 2506666991
commit b7c488e51e
3 changed files with 4 additions and 4 deletions

View file

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

View file

@ -52,7 +52,7 @@ class CanvasRenderingContext2D
WEB_PLATFORM_OBJECT(CanvasRenderingContext2D, Bindings::PlatformObject); WEB_PLATFORM_OBJECT(CanvasRenderingContext2D, Bindings::PlatformObject);
public: public:
static JS::NonnullGCPtr<CanvasRenderingContext2D> create(JS::Realm&, HTMLCanvasElement&); static WebIDL::ExceptionOr<JS::NonnullGCPtr<CanvasRenderingContext2D>> create(JS::Realm&, HTMLCanvasElement&);
virtual ~CanvasRenderingContext2D() override; virtual ~CanvasRenderingContext2D() override;
virtual void fill_rect(float x, float y, float width, float height) override; virtual void fill_rect(float x, float y, float width, float height) override;

View file

@ -95,7 +95,7 @@ HTMLCanvasElement::HasOrCreatedContext HTMLCanvasElement::create_2d_context()
if (!m_context.has<Empty>()) if (!m_context.has<Empty>())
return m_context.has<JS::NonnullGCPtr<CanvasRenderingContext2D>>() ? HasOrCreatedContext::Yes : HasOrCreatedContext::No; return m_context.has<JS::NonnullGCPtr<CanvasRenderingContext2D>>() ? HasOrCreatedContext::Yes : HasOrCreatedContext::No;
m_context = CanvasRenderingContext2D::create(realm(), *this); m_context = CanvasRenderingContext2D::create(realm(), *this).release_value_but_fixme_should_propagate_errors();
return HasOrCreatedContext::Yes; return HasOrCreatedContext::Yes;
} }