Do not convert the worker object in jsinterop, just like we do for window
This makes it possible to do:
js.context['self'].addEventListener('message',
allowInterop((e) => print('received')));
Change-Id: I202b6c881372a77c0ec41dd334e9aa76286d7796
Reviewed-on: https://dart-review.googlesource.com/54068
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
diff --git a/sdk/lib/js/_js_client.dart b/sdk/lib/js/_js_client.dart
index 74df24d..de25540 100644
--- a/sdk/lib/js/_js_client.dart
+++ b/sdk/lib/js/_js_client.dart
@@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a
// BSD-style license that can be found in the LICENSE file.
-import 'dart:html' show Blob, Event, ImageData, Node, Window;
+import 'dart:html' show Blob, Event, ImageData, Node, Window, WorkerGlobalScope;
import 'dart:indexed_db' show KeyRange;
import 'dart:_js_helper' show patch;
import 'dart:_foreign_helper' show JS;
@@ -14,8 +14,9 @@
o is KeyRange ||
o is ImageData ||
o is Node ||
- o is Window;
+ o is Window ||
+ o is WorkerGlobalScope;
@patch
Object convertFromBrowserObject(dynamic o) =>
- JS('Blob|Event|KeyRange|ImageData|Node|Window', '#', o);
+ JS('Blob|Event|KeyRange|ImageData|Node|Window|WorkerGlobalScope', '#', o);