| Index: lib/html/dart2js/html_dart2js.dart
|
| diff --git a/lib/html/dart2js/html_dart2js.dart b/lib/html/dart2js/html_dart2js.dart
|
| index daf6e9f2bd4d3297f67c603f436870f009198038..2dcb62407bc3b1b6b481b9792afe07e5e738eba5 100644
|
| --- a/lib/html/dart2js/html_dart2js.dart
|
| +++ b/lib/html/dart2js/html_dart2js.dart
|
| @@ -9624,7 +9624,18 @@ class _DedicatedWorkerContextImpl extends _WorkerContextImpl implements Dedicate
|
| _DedicatedWorkerContextEventsImpl get on =>
|
| new _DedicatedWorkerContextEventsImpl(this);
|
|
|
| - void postMessage(Object message, [List messagePorts]) native;
|
| + void postMessage(message, [messagePorts]) {
|
| + if (?messagePorts) {
|
| + var message_1 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_1(message_1, messagePorts);
|
| + return;
|
| + }
|
| + var message_2 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_2(message_2);
|
| + return;
|
| + }
|
| + void _postMessage_1(message, List messagePorts) native "postMessage";
|
| + void _postMessage_2(message) native "postMessage";
|
| }
|
|
|
| class _DedicatedWorkerContextEventsImpl extends _WorkerContextEventsImpl implements DedicatedWorkerContextEvents {
|
| @@ -19225,7 +19236,8 @@ abstract class MessageEvent implements Event {
|
|
|
| class _MessageEventImpl extends _EventImpl implements MessageEvent native "*MessageEvent" {
|
|
|
| - final Object data;
|
| + Dynamic get data => _convertNativeToDart_SerializedScriptValue(this._data);
|
| + Dynamic get _data() native "return this.data;";
|
|
|
| final String lastEventId;
|
|
|
| @@ -19288,7 +19300,18 @@ class _MessagePortImpl extends _EventTargetImpl implements MessagePort native "*
|
|
|
| bool $dom_dispatchEvent(_EventImpl evt) native "dispatchEvent";
|
|
|
| - void postMessage(Object message, [List messagePorts]) native;
|
| + void postMessage(message, [messagePorts]) {
|
| + if (?messagePorts) {
|
| + var message_1 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_1(message_1, messagePorts);
|
| + return;
|
| + }
|
| + var message_2 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_2(message_2);
|
| + return;
|
| + }
|
| + void _postMessage_1(message, List messagePorts) native "postMessage";
|
| + void _postMessage_2(message) native "postMessage";
|
|
|
| void $dom_removeEventListener(String type, EventListener listener, [bool useCapture]) native "removeEventListener";
|
|
|
| @@ -36532,7 +36555,23 @@ class _WindowImpl extends _EventTargetImpl implements Window native "@*DOMWindow
|
|
|
| _DatabaseImpl openDatabase(String name, String version, String displayName, int estimatedSize, [DatabaseCallback creationCallback]) native;
|
|
|
| - void postMessage(message, String targetOrigin, [List messagePorts]) native;
|
| + void postMessage(message, String targetOrigin, [messagePorts]) {
|
| + if (?message &&
|
| + !?messagePorts) {
|
| + var message_1 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_1(message_1, targetOrigin);
|
| + return;
|
| + }
|
| + if (?message &&
|
| + (messagePorts is List || messagePorts === null)) {
|
| + var message_2 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_2(message_2, targetOrigin, messagePorts);
|
| + return;
|
| + }
|
| + throw const Exception("Incorrect number or type of arguments");
|
| + }
|
| + void _postMessage_1(message, targetOrigin) native "postMessage";
|
| + void _postMessage_2(message, targetOrigin, List messagePorts) native "postMessage";
|
|
|
| void print() native;
|
|
|
| @@ -36894,7 +36933,18 @@ class _WorkerImpl extends _AbstractWorkerImpl implements Worker native "*Worker"
|
| _WorkerEventsImpl get on =>
|
| new _WorkerEventsImpl(this);
|
|
|
| - void postMessage(message, [List messagePorts]) native;
|
| + void postMessage(message, [messagePorts]) {
|
| + if (?messagePorts) {
|
| + var message_1 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_1(message_1, messagePorts);
|
| + return;
|
| + }
|
| + var message_2 = _convertDartToNative_SerializedScriptValue(message);
|
| + _postMessage_2(message_2);
|
| + return;
|
| + }
|
| + void _postMessage_1(message, List messagePorts) native "postMessage";
|
| + void _postMessage_2(message) native "postMessage";
|
|
|
| void terminate() native;
|
| }
|
| @@ -39430,6 +39480,12 @@ _convertDartToNative_SerializedScriptValue(value) {
|
| return _convertDartToNative_PrepareForStructuredClone(value);
|
| }
|
|
|
| +// May modify original. If so, action is idempotent.
|
| +_convertNativeToDart_SerializedScriptValue(object) {
|
| + return _convertNativeToDart_AcceptStructuredClone(object);
|
| +}
|
| +
|
| +
|
|
|
| /**
|
| * Converts a Dart value into a JavaScript SerializedScriptValue. Returns the
|
|
|