Skip to content

Commit 4595510

Browse files
authored
[FIX] Flutter 3.22 WASM fixes (#272)
* fix(web): migrate to dart:js_interop * fix(web): use toJS for function eval
1 parent dc2b466 commit 4595510

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

example/lib/04.performance/main.dart

+5-2
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,9 @@
55

66
// ignore_for_file: avoid_print
77

8-
import 'dart:js' as js; // ignore: avoid_web_libraries_in_flutter
8+
import 'dart:js_interop' as js;
9+
import 'dart:js_interop_unsafe' as js_util;
10+
911
import 'package:flutter/material.dart';
1012
import 'package:flutter_code_editor/flutter_code_editor.dart';
1113
import 'package:flutter_highlight/themes/vs2015.dart';
@@ -56,7 +58,8 @@ final fieldFactories = <String, FieldFactory>{
5658
),
5759
};
5860

59-
final renderer = js.context['flutterCanvasKit'] == null ? 'HTML' : 'CanvasKit';
61+
final renderer =
62+
js.globalContext['flutterCanvasKit'] == null ? 'HTML' : 'CanvasKit';
6063

6164
void main() {
6265
runApp(CodeEditor());

lib/src/code_field/js_workarounds/js_workarounds_web.dart

+7-3
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
// ignore: avoid_web_libraries_in_flutter
2-
import 'dart:js' as js;
2+
import 'dart:js_interop' as js;
3+
import 'dart:js_interop_unsafe' as js_util;
34

45
//=========================== Disable Spellcheck ===========================
56

@@ -21,7 +22,10 @@ bool _isTimerSet = false;
2122

2223
void disableSpellCheck() {
2324
if (!_isTimerSet) {
24-
js.context.callMethod('eval', [_jsSetDisableSpellCheckTimer]);
25+
js.globalContext.callMethod(
26+
'eval'.toJS,
27+
_jsSetDisableSpellCheckTimer.toJS,
28+
);
2529
_isTimerSet = true;
2630
}
2731
}
@@ -39,5 +43,5 @@ const _jsDisableBuiltinSearch = '''
3943
''';
4044

4145
void disableBuiltInSearch() {
42-
js.context.callMethod('eval', [_jsDisableBuiltinSearch]);
46+
js.globalContext.callMethod('eval'.toJS, _jsDisableBuiltinSearch.toJS);
4347
}

0 commit comments

Comments
 (0)