diff --git a/sdk/lib/html/dart2js/html_dart2js.dart b/sdk/lib/html/dart2js/html_dart2js.dart index 1ecba16a765..8acae64c58b 100644 --- a/sdk/lib/html/dart2js/html_dart2js.dart +++ b/sdk/lib/html/dart2js/html_dart2js.dart @@ -8464,7 +8464,26 @@ class DedicatedWorkerGlobalScope extends WorkerGlobalScope { @DomName('DedicatedWorkerGlobalScope.postMessage') @DocsEditable() @Experimental() // untriaged - void postMessage(Object message, [List transfer]) native; + void postMessage(/*any*/ message, [List transfer]) { + if (transfer != null) { + var message_1 = convertDartToNative_SerializedScriptValue(message); + _postMessage_1(message_1, transfer); + return; + } + var message_1 = convertDartToNative_SerializedScriptValue(message); + _postMessage_2(message_1); + return; + } + @JSName('postMessage') + @DomName('DedicatedWorkerGlobalScope.postMessage') + @DocsEditable() + @Experimental() // untriaged + void _postMessage_1(message, List transfer) native; + @JSName('postMessage') + @DomName('DedicatedWorkerGlobalScope.postMessage') + @DocsEditable() + @Experimental() // untriaged + void _postMessage_2(message) native; /// Stream of `message` events handled by this [DedicatedWorkerGlobalScope]. @DomName('DedicatedWorkerGlobalScope.onmessage') @@ -27427,7 +27446,26 @@ class ServiceWorkerClient extends Interceptor { @DomName('ServiceWorkerClient.postMessage') @DocsEditable() @Experimental() // untriaged - void postMessage(/*SerializedScriptValue*/ message, [List transfer]) native; + void postMessage(/*SerializedScriptValue*/ message, [List transfer]) { + if (transfer != null) { + var message_1 = convertDartToNative_SerializedScriptValue(message); + _postMessage_1(message_1, transfer); + return; + } + var message_1 = convertDartToNative_SerializedScriptValue(message); + _postMessage_2(message_1); + return; + } + @JSName('postMessage') + @DomName('ServiceWorkerClient.postMessage') + @DocsEditable() + @Experimental() // untriaged + void _postMessage_1(message, List transfer) native; + @JSName('postMessage') + @DomName('ServiceWorkerClient.postMessage') + @DocsEditable() + @Experimental() // untriaged + void _postMessage_2(message) native; } // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a @@ -34017,7 +34055,24 @@ class Worker extends EventTarget implements AbstractWorker { @DomName('Worker.postMessage') @DocsEditable() - void postMessage(/*SerializedScriptValue*/ message, [List transfer]) native; + void postMessage(/*SerializedScriptValue*/ message, [List transfer]) { + if (transfer != null) { + var message_1 = convertDartToNative_SerializedScriptValue(message); + _postMessage_1(message_1, transfer); + return; + } + var message_1 = convertDartToNative_SerializedScriptValue(message); + _postMessage_2(message_1); + return; + } + @JSName('postMessage') + @DomName('Worker.postMessage') + @DocsEditable() + void _postMessage_1(message, List transfer) native; + @JSName('postMessage') + @DomName('Worker.postMessage') + @DocsEditable() + void _postMessage_2(message) native; @DomName('Worker.terminate') @DocsEditable() diff --git a/sdk/lib/html/dartium/html_dartium.dart b/sdk/lib/html/dartium/html_dartium.dart index 319c762d4dd..6b1a7f79486 100644 --- a/sdk/lib/html/dartium/html_dartium.dart +++ b/sdk/lib/html/dartium/html_dartium.dart @@ -9535,7 +9535,7 @@ class DedicatedWorkerGlobalScope extends WorkerGlobalScope { @DomName('DedicatedWorkerGlobalScope.postMessage') @DocsEditable() @Experimental() // untriaged - void postMessage(Object message, [List transfer]) => _blink.BlinkDedicatedWorkerGlobalScope.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer); + void postMessage(Object message, [List transfer]) => _blink.BlinkDedicatedWorkerGlobalScope.instance.postMessage_Callback_2_(unwrap_jso(this), convertDartToNative_SerializedScriptValue(message), transfer); /// Stream of `message` events handled by this [DedicatedWorkerGlobalScope]. @DomName('DedicatedWorkerGlobalScope.onmessage') @@ -33019,7 +33019,7 @@ class ServiceWorkerClient extends DartHtmlDomObject { @DomName('ServiceWorkerClient.postMessage') @DocsEditable() @Experimental() // untriaged - void postMessage(/*SerializedScriptValue*/ message, [List transfer]) => _blink.BlinkServiceWorkerClient.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer); + void postMessage(/*SerializedScriptValue*/ message, [List transfer]) => _blink.BlinkServiceWorkerClient.instance.postMessage_Callback_2_(unwrap_jso(this), convertDartToNative_SerializedScriptValue(message), transfer); } // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file @@ -40677,7 +40677,7 @@ class Worker extends EventTarget implements AbstractWorker { @DomName('Worker.postMessage') @DocsEditable() - void postMessage(/*SerializedScriptValue*/ message, [List transfer]) => _blink.BlinkWorker.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer); + void postMessage(/*SerializedScriptValue*/ message, [List transfer]) => _blink.BlinkWorker.instance.postMessage_Callback_2_(unwrap_jso(this), convertDartToNative_SerializedScriptValue(message), transfer); @DomName('Worker.terminate') @DocsEditable() diff --git a/tools/dom/scripts/generator.py b/tools/dom/scripts/generator.py index 0f8867d0d14..92a5ed0e98c 100644 --- a/tools/dom/scripts/generator.py +++ b/tools/dom/scripts/generator.py @@ -722,6 +722,9 @@ dart2js_conversions = monitored.Dict('generator.dart2js_conversions', { # postMessage 'any set MessagePort.postMessage': _serialize_SSV, 'SerializedScriptValue set Window.postMessage': _serialize_SSV, + 'SerializedScriptValue set Worker.postMessage': _serialize_SSV, + 'any set DedicatedWorkerGlobalScope.postMessage' : _serialize_SSV, + 'SerializedScriptValue set ServiceWorkerClient.postMessage': _serialize_SSV, '* get CustomEvent.detail': Conversion('convertNativeToDart_SerializedScriptValue',