Skip to content

Commit

Permalink
LibJS: Add spec comments to ArrayBuffer.prototype.byteLength
Browse files Browse the repository at this point in the history
  • Loading branch information
jamierocks authored and linusg committed Feb 13, 2022
1 parent 7aa4c22 commit 04c5bc5
Showing 1 changed file with 11 additions and 1 deletion.
12 changes: 11 additions & 1 deletion Userland/Libraries/LibJS/Runtime/ArrayBufferPrototype.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -127,12 +127,22 @@ JS_DEFINE_NATIVE_FUNCTION(ArrayBufferPrototype::slice)
// 25.1.5.1 get ArrayBuffer.prototype.byteLength, https://tc39.es/ecma262/#sec-get-arraybuffer.prototype.bytelength
JS_DEFINE_NATIVE_FUNCTION(ArrayBufferPrototype::byte_length_getter)
{
// 1. Let O be the this value.
// 2. Perform ? RequireInternalSlot(O, [[ArrayBufferData]]).
auto* array_buffer_object = TRY(typed_this_value(global_object));

// 3. If IsSharedArrayBuffer(O) is true, throw a TypeError exception.
// FIXME: Check for shared buffer

// 4. If IsDetachedBuffer(O) is true, return +0𝔽.
if (array_buffer_object->is_detached())
return Value(0);

return Value(array_buffer_object->byte_length());
// 5. Let length be O.[[ArrayBufferByteLength]].
auto length = array_buffer_object->byte_length();

// 6. Return 𝔽(length).
return Value(length);
}

}

0 comments on commit 04c5bc5

Please sign in to comment.