From 1708c1fdfe7781fabbc5425800cd7485addf0900 Mon Sep 17 00:00:00 2001 From: Timothy Flynn Date: Wed, 30 Aug 2023 11:11:24 -0400 Subject: [PATCH] LibJS: Stop propagating small OOM errors from Intl.Collator --- .../Libraries/LibJS/Runtime/Intl/CollatorConstructor.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/Userland/Libraries/LibJS/Runtime/Intl/CollatorConstructor.cpp b/Userland/Libraries/LibJS/Runtime/Intl/CollatorConstructor.cpp index ed3cb02c6b..fa289491f0 100644 --- a/Userland/Libraries/LibJS/Runtime/Intl/CollatorConstructor.cpp +++ b/Userland/Libraries/LibJS/Runtime/Intl/CollatorConstructor.cpp @@ -15,7 +15,7 @@ namespace JS::Intl { // 10.1.2 InitializeCollator ( collator, locales, options ), https://tc39.es/ecma402/#sec-initializecollator -static ThrowCompletionOr initialize_collator(VM& vm, Collator& collator, Value locales_value, Value options_value) +static ThrowCompletionOr> initialize_collator(VM& vm, Collator& collator, Value locales_value, Value options_value) { // 1. Let requestedLocales be ? CanonicalizeLocaleList(locales). auto requested_locales = TRY(canonicalize_locale_list(vm, locales_value)); @@ -63,7 +63,7 @@ static ThrowCompletionOr initialize_collator(VM& vm, Collator& collat // a. Let numeric be ! ToString(numeric). // 15. Set opt.[[kn]] to numeric. if (!numeric.is_undefined()) - opt.kn = MUST_OR_THROW_OOM(numeric.to_string(vm)); + opt.kn = MUST(numeric.to_string(vm)); // 16. Let caseFirst be ? GetOption(options, "caseFirst", string, « "upper", "lower", "false" », undefined). // 17. Set opt.[[kf]] to caseFirst. @@ -126,7 +126,7 @@ static ThrowCompletionOr initialize_collator(VM& vm, Collator& collat collator.set_ignore_punctuation(ignore_punctuation.as_bool()); // 31. Return collator. - return &collator; + return collator; } // 10.1 The Intl.Collator Constructor, https://tc39.es/ecma402/#sec-the-intl-collator-constructor @@ -174,7 +174,7 @@ ThrowCompletionOr> CollatorConstructor::construct(FunctionO auto collator = TRY(ordinary_create_from_constructor(vm, new_target, &Intrinsics::intl_collator_prototype)); // 6. Return ? InitializeCollator(collator, locales, options). - return *TRY(initialize_collator(vm, collator, locales, options)); + return TRY(initialize_collator(vm, collator, locales, options)); } // 10.2.2 Intl.Collator.supportedLocalesOf ( locales [ , options ] ), https://tc39.es/ecma402/#sec-intl.collator.supportedlocalesof