Skip to content

Commit 5a75c51

Browse files
mkustermannCommit Queue
authored and
Commit Queue
committed
[stable] [deps] Roll jsshell & firefox to newer version
Issue: Firefox performs more strict validation when enabling the `js-string` builtin. Namely it requires the wasm array to `fromCharCodeArray` to be nullable (as per-spec), where D8 is more lenient and allows non-nullable wasm array just fine. In principle it shouldn't be nullable as passing a null will make the function trap at runtime. But the spec says it should be nullable and if it isn't, Firefox will fail validation. Soon Chrome will start enforcing this. Fix: Import the function with a nullable wasm array type as parameter. Why Cherry-pick: Apps compiled with dart2wasm will no longer work with newer Chrome (once they roll out stricter validation). Risk: Low Issue #59899 Cherry-pick: https://dart-review.googlesource.com/c/sdk/+/404300 Change-Id: Icde5eccfdc2cf1e4666be6c670105b896b1a19a7 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/413440 Commit-Queue: Martin Kustermann <[email protected]> Reviewed-by: Alexander Thomas <[email protected]>
1 parent dcddfab commit 5a75c51

File tree

3 files changed

+13
-3
lines changed

3 files changed

+13
-3
lines changed

CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,13 @@
1+
## 3.7.2
2+
3+
This is a patch release that:
4+
5+
- Fixes a bug in dart2wasm that imports a `js-string` builtin function with a
6+
non-nullable parameter type where it must use a nullable one (issue [#59899]).
7+
8+
[#59899]: https://github.com/dart-lang/sdk/issues/59899
9+
10+
111
## 3.7.1
212
**Released on:** 2025-02-26
313

DEPS

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -72,7 +72,7 @@ vars = {
7272
# instructions. d8, the V8 shell, is always checked out.
7373
"checkout_javascript_engines": False,
7474
"d8_tag": "version:13.3.255",
75-
"jsshell_tag": "version:133.0",
75+
"jsshell_tag": "version:134.0",
7676
"jsc_tag": "version:287397",
7777

7878
# https://chrome-infra-packages.appspot.com/p/fuchsia/third_party/clang
@@ -182,7 +182,7 @@ vars = {
182182
"download_chrome": False,
183183
"chrome_tag": "132.0.6834.57",
184184
"download_firefox": False,
185-
"firefox_tag": "133.0.3",
185+
"firefox_tag": "134.0",
186186

187187
# Emscripten is used in dart2wasm tests.
188188
"download_emscripten": False,

sdk/lib/_internal/wasm/lib/js_helper_patch.dart

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ String jsStringToDartString(JSStringImpl jsString) {
6161

6262
@pragma("wasm:import", "wasm:js-string.fromCharCodeArray")
6363
external WasmExternRef _jsStringFromCharCodeArray(
64-
WasmArray<WasmI16> array,
64+
WasmArray<WasmI16>? array,
6565
WasmI32 start,
6666
WasmI32 end,
6767
);

0 commit comments

Comments
 (0)