Add the right type conversions for various postMessage methods

BUG=

Review URL: https://codereview.chromium.org/1490763005 .
This commit is contained in:
Alan Knight
2015-12-01 10:48:19 -08:00
parent a05ad6111a
commit 160355de42
3 changed files with 64 additions and 6 deletions
+58 -3
View File
@@ -8464,7 +8464,26 @@ class DedicatedWorkerGlobalScope extends WorkerGlobalScope {
@DomName('DedicatedWorkerGlobalScope.postMessage')
@DocsEditable()
@Experimental() // untriaged
void postMessage(Object message, [List<MessagePort> transfer]) native;
void postMessage(/*any*/ message, [List<MessagePort> 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<MessagePort> 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<MessagePort> transfer]) native;
void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> 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<MessagePort> 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<MessagePort> transfer]) native;
void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> 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<MessagePort> transfer) native;
@JSName('postMessage')
@DomName('Worker.postMessage')
@DocsEditable()
void _postMessage_2(message) native;
@DomName('Worker.terminate')
@DocsEditable()
+3 -3
View File
@@ -9535,7 +9535,7 @@ class DedicatedWorkerGlobalScope extends WorkerGlobalScope {
@DomName('DedicatedWorkerGlobalScope.postMessage')
@DocsEditable()
@Experimental() // untriaged
void postMessage(Object message, [List<MessagePort> transfer]) => _blink.BlinkDedicatedWorkerGlobalScope.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
void postMessage(Object message, [List<MessagePort> 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<MessagePort> transfer]) => _blink.BlinkServiceWorkerClient.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> 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<MessagePort> transfer]) => _blink.BlinkWorker.instance.postMessage_Callback_2_(unwrap_jso(this), message, transfer);
void postMessage(/*SerializedScriptValue*/ message, [List<MessagePort> transfer]) => _blink.BlinkWorker.instance.postMessage_Callback_2_(unwrap_jso(this), convertDartToNative_SerializedScriptValue(message), transfer);
@DomName('Worker.terminate')
@DocsEditable()
+3
View File
@@ -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',