summaryrefslogtreecommitdiff
path: root/Userland/Libraries/LibJS/Runtime
AgeCommit message (Collapse)Author
2022-12-15LibJS: Convert ordinary_create_from_constructor() to NonnullGCPtrLinus Groh
2022-12-15LibJS: Convert Heap::allocate{,_without_realm}() to NonnullGCPtrLinus Groh
2022-12-15LibJS: Ensure Optional<Completion>'s defaults to empty completionLinus Groh
Default-constructing the m_value Completion made it have an undefined JS value when not overridden in a constructor, such as the conditional initialization in Optional(Optional<JS::Completion> const&). See investigation by Tim here: https://github.com/SerenityOS/serenity/pull/16498#discussion_r1049090456 Co-authored-by: Timothy Flynn <trflynn89@pm.me>
2022-12-15LibJS: Throw a RangeError when when formatting strings in DurationFormatTimothy Flynn
This is a normative change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/2546080
2022-12-15LibJS: Access DurationRecord properties in alphabetical orderTimothy Flynn
This is a normative change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/42e99b8
2022-12-15LibJS: Move IsValidDurationRecord check to ToDurationRecordTimothy Flynn
This is an editorial change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/fb21723
2022-12-15LibJS: Remove infallibility markers from some Intl.DurationFormat AOsTimothy Flynn
This is an editorial change in the Intl.DurationFormat proposal. See: https://github.com/tc39/proposal-intl-duration-format/commit/fa2b3d0
2022-12-14LibJS: Set DateTimeFormat's time zone when the CLDR download is disabledTimothy Flynn
We return early from the DateTimeFormat constructor to avoid crashing on assertions when the CLDR is disabled. However, after commit 019211b, the spec now mandates we assert the time zone identifier is valid. The early return resulted in this identifier being an empty string.
2022-12-14LibJS: Remove Object(Object& prototype) footgunAndreas Kling
This constructor was easily confused with a copy constructor, and it was possible to accidentally copy-construct Objects in at least one way that we dicovered (via generic ThrowCompletionOr construction). This patch adds a mandatory ConstructWithPrototypeTag parameter to the constructor to disambiguate it.
2022-12-14LibJS: Don't "copy construct" temporary value in ThrowCompletionOr ctorAndreas Kling
It was possible for the generic ThrowCompletionOr constructor to "copy-construct" a JS Object when instantiating a ThrowCompletionOr via e.g `return *object;`. This happened because it chose the Object(Object& prototype) constructor which will be removed in a subsequent commit. It was not easy to debug. As a first step towards avoiding this in the future, the generic ThrowCompletionOr constructor now takes the value as a const reference.
2022-12-14LibJS: Convert WrappedFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert WeakSet::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert WeakRef::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert WeakMap::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert TypedArray::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert SymbolObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert StringObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert StringIterator::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert SetIterator::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Set::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert RegExpStringIterator::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert RegExpObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Realm::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert ProxyObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert PromiseResolvingFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert PromiseFooElementFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert PromiseReaction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Promise::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Object::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert NumberObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert NativeFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert MapIterator::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Map::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intrinsics::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intl::Segments::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intl::SegmentIterator::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intl::NumberFormatFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intl::Locale::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intl::DateTimeFormatFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Intl::CollatorCompareFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert GeneratorObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Error::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert ECMAScriptFunctionObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert Date::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert DataView::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert BoundFunction::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert BooleanObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert BigIntObject::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert AsyncFromSyncIterator::create() to NonnullGCPtrLinus Groh
2022-12-14LibJS: Convert ArrayIterator::create() to NonnullGCPtrLinus Groh