Skip to content

Commit

Permalink
FF124 ExperFeatures - Growable SharedArrayBuffer & Resizable ArrayBuf…
Browse files Browse the repository at this point in the history
…fer (#32355)

* FF124 ExprFeat: SharedArrayBuffer growable

* FF124 ExprFeat: ArrayBuffer resizable

* FF124 Relnote - addn of expr features for growable

* Update files/en-us/mozilla/firefox/experimental_features/index.md
  • Loading branch information
hamishwillee authored Feb 22, 2024
1 parent 7890a47 commit 471b14c
Show file tree
Hide file tree
Showing 2 changed files with 100 additions and 0 deletions.
86 changes: 86 additions & 0 deletions files/en-us/mozilla/firefox/experimental_features/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -1006,6 +1006,92 @@ This enables splitting a string into meaningful items (graphemes, words or sente
</tbody>
</table>

### SharedArrayBuffer is growable

The {{jsxref("SharedArrayBuffer")}} is now growable using the {{jsxref("SharedArrayBuffer.prototype.grow()")}} method.
The maximum allowed size of the buffer is specified using the `options.maxByteLength` parameter to the [`SharedArrayBuffer()` constructor](/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer#maxbytelength).
The {{jsxref("SharedArrayBuffer.prototype.growable")}} and {{jsxref("SharedArrayBuffer.prototype.maxByteLength")}} properties indicate whether the buffer can be grow, and its maximum allowed size, respectively.
([Firefox bug 1842773](https://bugzil.la/1842773)).

<table>
<thead>
<tr>
<th>Release channel</th>
<th>Version added</th>
<th>Enabled by default?</th>
</tr>
</thead>
<tbody>
<tr>
<th>Nightly</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Developer Edition</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Beta</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Release</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Preference name</th>
<td colspan="2"><code>javascript.options.experimental.sharedarraybuffer_growable</code></td>
</tr>
</tbody>
</table>

### ArrayBuffer is resizable

The {{jsxref("ArrayBuffer")}} can now be resized using the {{jsxref("ArrayBuffer.prototype.resize()")}} method.
The maximum allowed size of the buffer is specified using the `options.maxByteLength` parameter to the [`ArrayBuffer()` constructor](/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/ArrayBuffer#maxbytelength).
The {{jsxref("ArrayBuffer.prototype.resizable")}} and {{jsxref("ArrayBuffer.prototype.maxByteLength")}} properties indicate whether the buffer can be resized, and its maximum allowed size, respectively.
([Firefox bug 1842773](https://bugzil.la/1842773).)

<table>
<thead>
<tr>
<th>Release channel</th>
<th>Version added</th>
<th>Enabled by default?</th>
</tr>
</thead>
<tbody>
<tr>
<th>Nightly</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Developer Edition</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Beta</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Release</th>
<td>124</td>
<td>No</td>
</tr>
<tr>
<th>Preference name</th>
<td colspan="2"><code>javascript.options.experimental.arraybuffer_resizable</code></td>
</tr>
</tbody>
</table>

## APIs

### Graphics: Canvas, WebGL, and WebGPU
Expand Down
14 changes: 14 additions & 0 deletions files/en-us/mozilla/firefox/releases/124/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,20 @@ This article provides information about the changes in Firefox 124 that affect d

These features are newly shipped in Firefox 124 but are disabled by default. To experiment with them, search for the appropriate preference on the `about:config` page and set it to `true`. You can find more such features on the [Experimental features](/en-US/docs/Mozilla/Firefox/Experimental_features) page.

- **Growable `SharedArrayBuffer`:** `javascript.options.experimental.sharedarraybuffer_growable`.

The {{jsxref("SharedArrayBuffer")}} is now growable using the {{jsxref("SharedArrayBuffer.prototype.grow()")}} method.
The maximum allowed size of the buffer is specified using the `options.maxByteLength` parameter to the [`SharedArrayBuffer()` constructor](/en-US/docs/Web/JavaScript/Reference/Global_Objects/SharedArrayBuffer/SharedArrayBuffer#maxbytelength).
The {{jsxref("SharedArrayBuffer.prototype.growable")}} and {{jsxref("SharedArrayBuffer.prototype.maxByteLength")}} properties indicate whether the buffer can be grow, and its maximum allowed size, respectively.
([Firefox bug 1842773](https://bugzil.la/1842773).)

- **Resizable `ArrayBuffer`:** `javascript.options.experimental.arraybuffer_resizable`.

The {{jsxref("ArrayBuffer")}} can now be resized using the {{jsxref("ArrayBuffer.prototype.resize()")}} method.
The maximum allowed size of the buffer is specified using the `options.maxByteLength` parameter to the [`ArrayBuffer()` constructor](/en-US/docs/Web/JavaScript/Reference/Global_Objects/ArrayBuffer/ArrayBuffer#maxbytelength).
The {{jsxref("ArrayBuffer.prototype.resizable")}} and {{jsxref("ArrayBuffer.prototype.maxByteLength")}} properties indicate whether the buffer can be resized, and its maximum allowed size, respectively.
([Firefox bug 1842773](https://bugzil.la/1842773).)

## Older versions

{{Firefox_for_developers(123)}}

0 comments on commit 471b14c

Please sign in to comment.