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'); |