1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-06-01 06:28:13 +00:00

LibWeb: Remove exceptions from DOMPoint because allocate is unfailable

This commit is contained in:
Bastiaan van der Plaat 2023-08-15 13:16:09 +02:00 committed by Jelle Raaijmakers
parent 271bfa63f3
commit 38bc8836d6
5 changed files with 8 additions and 9 deletions

View file

@ -7,11 +7,10 @@
#include <LibWeb/Bindings/Intrinsics.h>
#include <LibWeb/Geometry/DOMPoint.h>
#include <LibWeb/WebIDL/ExceptionOr.h>
namespace Web::Geometry {
WebIDL::ExceptionOr<JS::NonnullGCPtr<DOMPoint>> DOMPoint::construct_impl(JS::Realm& realm, double x, double y, double z, double w)
JS::NonnullGCPtr<DOMPoint> DOMPoint::construct_impl(JS::Realm& realm, double x, double y, double z, double w)
{
return realm.heap().allocate<DOMPoint>(realm, realm, x, y, z, w);
}
@ -25,7 +24,7 @@ DOMPoint::DOMPoint(JS::Realm& realm, double x, double y, double z, double w)
JS::NonnullGCPtr<DOMPoint> DOMPoint::from_point(JS::VM& vm, DOMPointInit const& other)
{
// The fromPoint(other) static method on DOMPoint must create a DOMPoint from the dictionary other.
return construct_impl(*vm.current_realm(), other.x, other.y, other.z, other.w).release_value_but_fixme_should_propagate_errors();
return construct_impl(*vm.current_realm(), other.x, other.y, other.z, other.w);
}
DOMPoint::~DOMPoint() = default;

View file

@ -16,7 +16,7 @@ class DOMPoint final : public DOMPointReadOnly {
WEB_PLATFORM_OBJECT(DOMPoint, DOMPointReadOnly);
public:
static WebIDL::ExceptionOr<JS::NonnullGCPtr<DOMPoint>> construct_impl(JS::Realm&, double x = 0, double y = 0, double z = 0, double w = 1);
static JS::NonnullGCPtr<DOMPoint> construct_impl(JS::Realm&, double x = 0, double y = 0, double z = 0, double w = 1);
static JS::NonnullGCPtr<DOMPoint> from_point(JS::VM&, DOMPointInit const&);

View file

@ -11,7 +11,7 @@
namespace Web::Geometry {
WebIDL::ExceptionOr<JS::NonnullGCPtr<DOMPointReadOnly>> DOMPointReadOnly::construct_impl(JS::Realm& realm, double x, double y, double z, double w)
JS::NonnullGCPtr<DOMPointReadOnly> DOMPointReadOnly::construct_impl(JS::Realm& realm, double x, double y, double z, double w)
{
return realm.heap().allocate<DOMPointReadOnly>(realm, realm, x, y, z, w);
}
@ -26,7 +26,7 @@ DOMPointReadOnly::DOMPointReadOnly(JS::Realm& realm, double x, double y, double
}
// https://drafts.fxtf.org/geometry/#dom-dompointreadonly-frompoint
WebIDL::ExceptionOr<JS::NonnullGCPtr<DOMPointReadOnly>> DOMPointReadOnly::from_point(JS::VM& vm, DOMPointInit const& other)
JS::NonnullGCPtr<DOMPointReadOnly> DOMPointReadOnly::from_point(JS::VM& vm, DOMPointInit const& other)
{
// The fromPoint(other) static method on DOMPointReadOnly must create a DOMPointReadOnly from the dictionary other.
return construct_impl(*vm.current_realm(), other.x, other.y, other.z, other.w);

View file

@ -25,9 +25,9 @@ class DOMPointReadOnly : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(DOMPointReadOnly, Bindings::PlatformObject);
public:
static WebIDL::ExceptionOr<JS::NonnullGCPtr<DOMPointReadOnly>> construct_impl(JS::Realm&, double x = 0, double y = 0, double z = 0, double w = 1);
static JS::NonnullGCPtr<DOMPointReadOnly> construct_impl(JS::Realm&, double x = 0, double y = 0, double z = 0, double w = 1);
static WebIDL::ExceptionOr<JS::NonnullGCPtr<DOMPointReadOnly>> from_point(JS::VM&, DOMPointInit const&);
static JS::NonnullGCPtr<DOMPointReadOnly> from_point(JS::VM&, DOMPointInit const&);
virtual ~DOMPointReadOnly() override;

View file

@ -34,7 +34,7 @@ float SVGGeometryElement::get_total_length()
JS::NonnullGCPtr<Geometry::DOMPoint> SVGGeometryElement::get_point_at_length(float distance)
{
(void)distance;
return Geometry::DOMPoint::construct_impl(realm(), 0, 0, 0, 0).release_value_but_fixme_should_propagate_errors();
return Geometry::DOMPoint::construct_impl(realm(), 0, 0, 0, 0);
}
}