[dart2wasm] Workarounds to compile and run flute

Change-Id: I9180a2a65d47b11ec5e13d9c003c10b428bc15fc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/287540
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Joshua Litt <joshualitt@google.com>
diff --git a/pkg/dart2wasm/bin/run_wasm.js b/pkg/dart2wasm/bin/run_wasm.js
index ef44cc5..f15ab2d 100644
--- a/pkg/dart2wasm/bin/run_wasm.js
+++ b/pkg/dart2wasm/bin/run_wasm.js
@@ -42,6 +42,8 @@
         return new WebAssembly.Instance(compile(filename), imports);
     }
 
+    globalThis.window ??= globalThis;
+
     let importObject = {};
 
     // Is an FFI module specified?
diff --git a/pkg/dart2wasm/lib/target.dart b/pkg/dart2wasm/lib/target.dart
index 429be51..f65addb 100644
--- a/pkg/dart2wasm/lib/target.dart
+++ b/pkg/dart2wasm/lib/target.dart
@@ -69,6 +69,7 @@
         'dart:nativewrappers',
         'dart:io',
         'dart:js_interop',
+        'dart:js',
         'dart:js_util',
         'dart:wasm',
         'dart:developer',