1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-07-27 10:17:35 +00:00

LibJS: Make Heap::allocate<T>() infallible

Stop worrying about tiny OOMs. Work towards #20449.

While going through these, I also changed the function signature in many
places where returning ThrowCompletionOr<T> is no longer necessary.
This commit is contained in:
Andreas Kling 2023-08-13 13:05:26 +02:00
parent 980e7164fe
commit 72c9f56c66
337 changed files with 1229 additions and 1251 deletions

View file

@ -15,9 +15,9 @@
namespace Web::Crypto {
WebIDL::ExceptionOr<JS::NonnullGCPtr<Crypto>> Crypto::create(JS::Realm& realm)
JS::NonnullGCPtr<Crypto> Crypto::create(JS::Realm& realm)
{
return MUST_OR_THROW_OOM(realm.heap().allocate<Crypto>(realm, realm));
return realm.heap().allocate<Crypto>(realm, realm);
}
Crypto::Crypto(JS::Realm& realm)
@ -31,7 +31,7 @@ void Crypto::initialize(JS::Realm& realm)
{
Base::initialize(realm);
set_prototype(&Bindings::ensure_web_prototype<Bindings::CryptoPrototype>(realm, "Crypto"));
m_subtle = MUST(SubtleCrypto::create(realm));
m_subtle = SubtleCrypto::create(realm);
}
JS::NonnullGCPtr<SubtleCrypto> Crypto::subtle() const

View file

@ -16,7 +16,7 @@ class Crypto : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(Crypto, Bindings::PlatformObject);
public:
static WebIDL::ExceptionOr<JS::NonnullGCPtr<Crypto>> create(JS::Realm&);
[[nodiscard]] static JS::NonnullGCPtr<Crypto> create(JS::Realm&);
virtual ~Crypto() override;

View file

@ -14,9 +14,9 @@
namespace Web::Crypto {
WebIDL::ExceptionOr<JS::NonnullGCPtr<SubtleCrypto>> SubtleCrypto::create(JS::Realm& realm)
JS::NonnullGCPtr<SubtleCrypto> SubtleCrypto::create(JS::Realm& realm)
{
return MUST_OR_THROW_OOM(realm.heap().allocate<SubtleCrypto>(realm, realm));
return realm.heap().allocate<SubtleCrypto>(realm, realm);
}
SubtleCrypto::SubtleCrypto(JS::Realm& realm)

View file

@ -15,7 +15,7 @@ class SubtleCrypto final : public Bindings::PlatformObject {
WEB_PLATFORM_OBJECT(SubtleCrypto, Bindings::PlatformObject);
public:
static WebIDL::ExceptionOr<JS::NonnullGCPtr<SubtleCrypto>> create(JS::Realm&);
[[nodiscard]] static JS::NonnullGCPtr<SubtleCrypto> create(JS::Realm&);
virtual ~SubtleCrypto() override;