Bug 1842773 - Part 2: Add "resizable" flag to ArrayBuffer objects. r=sfink
commit3d5e50a8d0060536b059044f3cab770aa105dd2d
authorAndré Bargull <andre.bargull@gmail.com>
Mon, 29 Jan 2024 10:44:19 +0000 (29 10:44 +0000)
committerAndré Bargull <andre.bargull@gmail.com>
Mon, 29 Jan 2024 10:44:19 +0000 (29 10:44 +0000)
tree322f5dcb3d5d65b991f92b6f1e07e5a6278b39a6
parentc32a63c94c4dca10b3a870b6fae1dc8ae073f7ed
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