From e776171d8ffc9e883e34acb1d797f73935300a60 Mon Sep 17 00:00:00 2001 From: Kenneth Myhra Date: Sun, 19 Feb 2023 15:50:22 +0100 Subject: [PATCH] LibWeb: Allow prototype.{entries keys,value} to propagate errors This allows the prototype.{entries keys,value} native functions generated by the BindingsGenerator to propagate errors if needed. --- .../LibWeb/BindingsGenerator/IDLGenerators.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp index 808dfc5974..8c3fce7335 100644 --- a/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp +++ b/Meta/Lagom/Tools/CodeGenerators/LibWeb/BindingsGenerator/IDLGenerators.cpp @@ -2815,7 +2815,7 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::entries) { auto* impl = TRY(impl_from(vm)); - return @iterator_name@::create(*impl, Object::PropertyKind::KeyAndValue).ptr(); + return TRY(throw_dom_exception_if_needed(vm, [&] { return @iterator_name@::create(*impl, Object::PropertyKind::KeyAndValue); })); } JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::for_each) @@ -2844,14 +2844,14 @@ JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::keys) { auto* impl = TRY(impl_from(vm)); - return @iterator_name@::create(*impl, Object::PropertyKind::Key).ptr(); + return TRY(throw_dom_exception_if_needed(vm, [&] { return @iterator_name@::create(*impl, Object::PropertyKind::Key); })); } JS_DEFINE_NATIVE_FUNCTION(@prototype_class@::values) { auto* impl = TRY(impl_from(vm)); - return @iterator_name@::create(*impl, Object::PropertyKind::Value).ptr(); + return TRY(throw_dom_exception_if_needed(vm, [&] { return @iterator_name@::create(*impl, Object::PropertyKind::Value); })); } )~~~"); }