From 841bd680faa1cd79f0f0c41effdfe4819aff41ed Mon Sep 17 00:00:00 2001 From: Linus Groh Date: Mon, 13 Dec 2021 22:05:42 +0000 Subject: [PATCH] LibJS: Add ArrayBuffer::create() for ByteBuffer passed by value --- Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp | 5 +++++ Userland/Libraries/LibJS/Runtime/ArrayBuffer.h | 1 + 2 files changed, 6 insertions(+) diff --git a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp index 6b57a80f5a..d727813183 100644 --- a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp +++ b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.cpp @@ -20,6 +20,11 @@ ArrayBuffer* ArrayBuffer::create(GlobalObject& global_object, size_t byte_length return global_object.heap().allocate(global_object, buffer.release_value(), *global_object.array_buffer_prototype()); } +ArrayBuffer* ArrayBuffer::create(GlobalObject& global_object, ByteBuffer buffer) +{ + return global_object.heap().allocate(global_object, move(buffer), *global_object.array_buffer_prototype()); +} + ArrayBuffer* ArrayBuffer::create(GlobalObject& global_object, ByteBuffer* buffer) { return global_object.heap().allocate(global_object, buffer, *global_object.array_buffer_prototype()); diff --git a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h index ec438d319e..ec4662509e 100644 --- a/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h +++ b/Userland/Libraries/LibJS/Runtime/ArrayBuffer.h @@ -26,6 +26,7 @@ class ArrayBuffer : public Object { public: static ArrayBuffer* create(GlobalObject&, size_t); + static ArrayBuffer* create(GlobalObject&, ByteBuffer); static ArrayBuffer* create(GlobalObject&, ByteBuffer*); ArrayBuffer(ByteBuffer buffer, Object& prototype);