1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-22 13:25:07 +00:00
serenity/Userland/Libraries/LibJS/Runtime/Intl
Timothy Flynn 115baa7e32 LibJS+Everywhere: Make PrimitiveString and Utf16String fallible
This makes construction of Utf16String fallible in OOM conditions. The
immediate impact is that PrimitiveString must then be fallible as well,
as it may either transcode UTF-8 to UTF-16, or create a UTF-16 string
from ropes.

There are a couple of places where it is very non-trivial to propagate
the error further. A FIXME has been added to those locations.
2023-01-08 12:13:15 +01:00
..
AbstractOperations.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
AbstractOperations.h LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
Collator.cpp LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
Collator.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
CollatorCompareFunction.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
CollatorCompareFunction.h LibJS: Convert Intl::CollatorCompareFunction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
CollatorConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
CollatorConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
CollatorPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
CollatorPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
DateTimeFormat.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
DateTimeFormat.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
DateTimeFormatConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
DateTimeFormatConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
DateTimeFormatFunction.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
DateTimeFormatFunction.h LibJS: Convert Intl::DateTimeFormatFunction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
DateTimeFormatPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
DateTimeFormatPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
DisplayNames.cpp LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
DisplayNames.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
DisplayNamesConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
DisplayNamesConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
DisplayNamesPrototype.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
DisplayNamesPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
DurationFormat.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
DurationFormat.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
DurationFormatConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
DurationFormatConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
DurationFormatPrototype.cpp LibJS: Move IsValidDurationRecord check to ToDurationRecord 2022-12-15 09:40:09 +00:00
DurationFormatPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
Intl.cpp LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
Intl.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
ListFormat.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
ListFormat.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
ListFormatConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
ListFormatConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
ListFormatPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
ListFormatPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
Locale.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
Locale.h LibJS: Convert Intl::Locale::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
LocaleConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
LocaleConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
LocalePrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
LocalePrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
MathematicalValue.cpp LibJS: Replace standalone js_bigint() with BigInt::create() 2022-12-07 16:43:06 +00:00
MathematicalValue.h Everywhere: Rename to_{string => deprecated_string}() where applicable 2022-12-06 08:54:33 +01:00
NumberFormat.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
NumberFormat.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
NumberFormatConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
NumberFormatConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
NumberFormatFunction.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
NumberFormatFunction.h LibJS: Convert Intl::NumberFormatFunction::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
NumberFormatPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
NumberFormatPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
PluralRules.cpp AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
PluralRules.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
PluralRulesConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
PluralRulesConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
PluralRulesPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
PluralRulesPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
RelativeTimeFormat.cpp LibJS: Remove Object(Object& prototype) footgun 2022-12-14 15:11:57 +01:00
RelativeTimeFormat.h AK+Everywhere: Rename String to DeprecatedString 2022-12-06 08:54:33 +01:00
RelativeTimeFormatConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
RelativeTimeFormatConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
RelativeTimeFormatPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
RelativeTimeFormatPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
Segmenter.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
Segmenter.h LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
SegmenterConstructor.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
SegmenterConstructor.h LibJS: Convert Object::construct() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
SegmenterPrototype.cpp LibJS: Convert Object::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
SegmenterPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
SegmentIterator.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
SegmentIterator.h LibJS: Convert Intl::SegmentIterator::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
SegmentIteratorPrototype.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
SegmentIteratorPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
Segments.cpp LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtr 2022-12-15 06:56:37 -05:00
Segments.h LibJS: Convert Intl::Segments::create() to NonnullGCPtr 2022-12-14 09:59:45 +00:00
SegmentsPrototype.cpp LibJS+Everywhere: Make PrimitiveString and Utf16String fallible 2023-01-08 12:13:15 +01:00
SegmentsPrototype.h LibJS: Hide all the constructors! 2022-08-29 03:24:54 +02:00
SingleUnitIdentifiers.h LibJS+LibUnicode: Add "microsecond" and "nanosecond" as sanctioned units 2022-11-03 18:37:48 +00:00