| Index: sdk/lib/_internal/js_runtime/lib/isolate_serialization.dart
|
| diff --git a/sdk/lib/_internal/js_runtime/lib/isolate_serialization.dart b/sdk/lib/_internal/js_runtime/lib/isolate_serialization.dart
|
| index 9230bba9ff3e37e81bdacb6fde5929e2ab03e1d7..ba8f66b64d46bcd0614ed3c6a3abea8d3e278b79 100644
|
| --- a/sdk/lib/_internal/js_runtime/lib/isolate_serialization.dart
|
| +++ b/sdk/lib/_internal/js_runtime/lib/isolate_serialization.dart
|
| @@ -61,6 +61,7 @@ class _Serializer {
|
| if (x is _WorkerSendPort) return serializeWorkerSendPort(x);
|
|
|
| if (x is Closure) return serializeClosure(x);
|
| + if (x is CapabilityImpl) return serializeCapability(x);
|
|
|
| return serializeDartObject(x);
|
| }
|
| @@ -204,6 +205,7 @@ class _Deserializer {
|
| case "raw sendport": return deserializeRawSendPort(x);
|
| case "js-object": return deserializeJSObject(x);
|
| case "function": return deserializeClosure(x);
|
| + case "capability": return deserializeCapability(x);
|
| case "dart": return deserializeDartObject(x);
|
| default: throw "couldn't deserialize: $x";
|
| }
|
| @@ -345,6 +347,12 @@ class _Deserializer {
|
| return result;
|
| }
|
|
|
| + // ['capability', <id>].
|
| + Capability deserializeCapability(x) {
|
| + assert(x[0] == 'capability');
|
| + return new CapabilityImpl._internal(x[1]);
|
| + }
|
| +
|
| // ['dart', <class-id>, <field-list>].
|
| deserializeDartObject(x) {
|
| assert(x[0] == 'dart');
|
|
|