Bug 1842773 - Part 2: Add "resizable" flag to ArrayBuffer objects. r=sfink
commit486cb6aa8996b37e46edbcb17488e23af52b9d2a
authorAndré Bargull <andre.bargull@gmail.com>
Fri, 26 Jan 2024 08:17:33 +0000 (26 08:17 +0000)
committerAndré Bargull <andre.bargull@gmail.com>
Fri, 26 Jan 2024 08:17:33 +0000 (26 08:17 +0000)
treea8bdaf66de5cf827a56f3fa8520c61b73e054b5e
parentd9854084f5574fa0e7bda0ad8374faeb60caffaf
Bug 1842773 - Part 2: Add "resizable" flag to ArrayBuffer objects. r=sfink

Disallow resizable ArrayBuffers for:
- asm.js because it's not designed for resizable buffers.
- DOM bindings because `mozilla::dom::TypedArray` caches the TypedArrays's length.
- Structured cloning because I haven't yet checked how structured cloning should
  work when resizable ArrayBuffers are used.

Differential Revision: https://phabricator.services.mozilla.com/D183318
17 files changed:
dom/bindings/Codegen.py
dom/bindings/Errors.msg
dom/bindings/TypedArray.h
dom/bindings/test/mochitest.toml
dom/bindings/test/test_resizable_arraybufferview.html [new file with mode: 0644]
js/public/ArrayBufferMaybeShared.h
js/public/experimental/TypedData.h
js/src/vm/ArrayBufferObject-inl.h
js/src/vm/ArrayBufferObject.cpp
js/src/vm/ArrayBufferObject.h
js/src/vm/ArrayBufferObjectMaybeShared.cpp
js/src/vm/ArrayBufferViewObject.cpp
js/src/vm/ArrayBufferViewObject.h
js/src/vm/SharedArrayObject.h
js/src/vm/StructuredClone.cpp
js/src/vm/TypedArrayObject.cpp
js/src/wasm/AsmJS.cpp