OLD | NEW |
1 var _isolate_helper; | 1 var _isolate_helper; |
2 (function(exports) { | 2 (function(exports) { |
3 'use strict'; | 3 'use strict'; |
4 // Function _serializeMessage: (dynamic) → dynamic | 4 // Function _serializeMessage: (dynamic) → dynamic |
5 function _serializeMessage(message) { | 5 function _serializeMessage(message) { |
6 return new _Serializer().serialize(message); | 6 return new _Serializer().serialize(message); |
7 } | 7 } |
8 // Function _deserializeMessage: (dynamic) → dynamic | 8 // Function _deserializeMessage: (dynamic) → dynamic |
9 function _deserializeMessage(message) { | 9 function _deserializeMessage(message) { |
10 return new _Deserializer().deserialize(message); | 10 return new _Deserializer().deserialize(message); |
(...skipping 92 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
103 } | 103 } |
104 return serialized; | 104 return serialized; |
105 } | 105 } |
106 serializeArrayInPlace(x) { | 106 serializeArrayInPlace(x) { |
107 for (let i = 0; dart.notNull(i) < dart.notNull(x[core.$length]); i = dart.
notNull(i) + 1) { | 107 for (let i = 0; dart.notNull(i) < dart.notNull(x[core.$length]); i = dart.
notNull(i) + 1) { |
108 x[core.$set](i, this.serialize(x[core.$get](i))); | 108 x[core.$set](i, this.serialize(x[core.$get](i))); |
109 } | 109 } |
110 return x; | 110 return x; |
111 } | 111 } |
112 serializeMap(x) { | 112 serializeMap(x) { |
113 let serializeTearOff = this.serialize; | 113 let serializeTearOff = this.serialize.bind(this); |
114 return ['map', x.keys[core.$map](dart.as(serializeTearOff, __CastType0))[c
ore.$toList](), x.values[core.$map](dart.as(serializeTearOff, dart.functionType(
dart.dynamic, [dart.dynamic])))[core.$toList]()]; | 114 return ['map', x.keys[core.$map](dart.as(serializeTearOff, __CastType0))[c
ore.$toList](), x.values[core.$map](dart.as(serializeTearOff, dart.functionType(
dart.dynamic, [dart.dynamic])))[core.$toList]()]; |
115 } | 115 } |
116 serializeJSObject(x) { | 116 serializeJSObject(x) { |
117 if (!!x.constructor && x.constructor !== Object) { | 117 if (!!x.constructor && x.constructor !== Object) { |
118 this.unsupported(x, "Only plain JS Objects are supported:"); | 118 this.unsupported(x, "Only plain JS Objects are supported:"); |
119 } | 119 } |
120 let keys = dart.as(Object.keys(x), core.List); | 120 let keys = dart.as(Object.keys(x), core.List); |
121 let values = []; | 121 let values = []; |
122 values[core.$length] = keys[core.$length]; | 122 values[core.$length] = keys[core.$length]; |
123 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { | 123 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { |
(...skipping 156 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 let result = dart.as(dart.dindex(x, 1), core.List); | 280 let result = dart.as(dart.dindex(x, 1), core.List); |
281 this.deserializedObjects[core.$add](result); | 281 this.deserializedObjects[core.$add](result); |
282 return new _interceptors.JSArray.markFixed(this.deserializeArrayInPlace(da
rt.as(result, _interceptors.JSArray))); | 282 return new _interceptors.JSArray.markFixed(this.deserializeArrayInPlace(da
rt.as(result, _interceptors.JSArray))); |
283 } | 283 } |
284 deserializeMap(x) { | 284 deserializeMap(x) { |
285 dart.assert(dart.equals(dart.dindex(x, 0), 'map')); | 285 dart.assert(dart.equals(dart.dindex(x, 0), 'map')); |
286 let keys = dart.as(dart.dindex(x, 1), core.List); | 286 let keys = dart.as(dart.dindex(x, 1), core.List); |
287 let values = dart.as(dart.dindex(x, 2), core.List); | 287 let values = dart.as(dart.dindex(x, 2), core.List); |
288 let result = dart.map(); | 288 let result = dart.map(); |
289 this.deserializedObjects[core.$add](result); | 289 this.deserializedObjects[core.$add](result); |
290 keys = keys[core.$map](this.deserialize)[core.$toList](); | 290 keys = keys[core.$map](this.deserialize.bind(this))[core.$toList](); |
291 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { | 291 for (let i = 0; dart.notNull(i) < dart.notNull(keys[core.$length]); i = da
rt.notNull(i) + 1) { |
292 result.set(keys[core.$get](i), this.deserialize(values[core.$get](i))); | 292 result.set(keys[core.$get](i), this.deserialize(values[core.$get](i))); |
293 } | 293 } |
294 return result; | 294 return result; |
295 } | 295 } |
296 deserializeSendPort(x) { | 296 deserializeSendPort(x) { |
297 dart.assert(dart.equals(dart.dindex(x, 0), 'sendport')); | 297 dart.assert(dart.equals(dart.dindex(x, 0), 'sendport')); |
298 let managerId = dart.as(dart.dindex(x, 1), core.int); | 298 let managerId = dart.as(dart.dindex(x, 1), core.int); |
299 let isolateId = dart.as(dart.dindex(x, 2), core.int); | 299 let isolateId = dart.as(dart.dindex(x, 2), core.int); |
300 let receivePortId = dart.as(dart.dindex(x, 3), core.int); | 300 let receivePortId = dart.as(dart.dindex(x, 3), core.int); |
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
447 let isWorkerDefined = exports.globalWorker != null; | 447 let isWorkerDefined = exports.globalWorker != null; |
448 this.isWorker = !dart.notNull(isWindowDefined) && dart.notNull(exports.glo
balPostMessageDefined); | 448 this.isWorker = !dart.notNull(isWindowDefined) && dart.notNull(exports.glo
balPostMessageDefined); |
449 this.supportsWorkers = dart.notNull(this.isWorker) || dart.notNull(isWorke
rDefined) && IsolateNatives.thisScript != null; | 449 this.supportsWorkers = dart.notNull(this.isWorker) || dart.notNull(isWorke
rDefined) && IsolateNatives.thisScript != null; |
450 this.fromCommandLine = !dart.notNull(isWindowDefined) && !dart.notNull(thi
s.isWorker); | 450 this.fromCommandLine = !dart.notNull(isWindowDefined) && !dart.notNull(thi
s.isWorker); |
451 } | 451 } |
452 [_nativeInitWorkerMessageHandler]() { | 452 [_nativeInitWorkerMessageHandler]() { |
453 let func = function(f, a) { | 453 let func = function(f, a) { |
454 return function(e) { | 454 return function(e) { |
455 f(a, e); | 455 f(a, e); |
456 }; | 456 }; |
457 }(_foreign_helper.DART_CLOSURE_TO_JS(IsolateNatives[_processWorkerMessage]
), this.mainManager); | 457 }(_foreign_helper.DART_CLOSURE_TO_JS(dart.bind(IsolateNatives, _processWor
kerMessage)), this.mainManager); |
458 self.onmessage = func; | 458 self.onmessage = func; |
459 self.dartPrint = self.dartPrint || function(serialize) { | 459 self.dartPrint = self.dartPrint || function(serialize) { |
460 return function(object) { | 460 return function(object) { |
461 if (self.console && self.console.log) { | 461 if (self.console && self.console.log) { |
462 self.console.log(object); | 462 self.console.log(object); |
463 } else { | 463 } else { |
464 self.postMessage(serialize(object)); | 464 self.postMessage(serialize(object)); |
465 } | 465 } |
466 }; | 466 }; |
467 }(_foreign_helper.DART_CLOSURE_TO_JS(_Manager[_serializePrintMessage])); | 467 }(_foreign_helper.DART_CLOSURE_TO_JS(_Manager[_serializePrintMessage])); |
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
565 dart.dsend(this[_scheduledControlEvents], 'addLast', respond); | 565 dart.dsend(this[_scheduledControlEvents], 'addLast', respond); |
566 } | 566 } |
567 handleKill(authentification, priority) { | 567 handleKill(authentification, priority) { |
568 if (!dart.equals(this.terminateCapability, authentification)) | 568 if (!dart.equals(this.terminateCapability, authentification)) |
569 return; | 569 return; |
570 if (priority == isolate.Isolate.IMMEDIATE || priority == isolate.Isolate.B
EFORE_NEXT_EVENT && !dart.notNull(this[_isExecutingEvent])) { | 570 if (priority == isolate.Isolate.IMMEDIATE || priority == isolate.Isolate.B
EFORE_NEXT_EVENT && !dart.notNull(this[_isExecutingEvent])) { |
571 this.kill(); | 571 this.kill(); |
572 return; | 572 return; |
573 } | 573 } |
574 if (priority == isolate.Isolate.AS_EVENT) { | 574 if (priority == isolate.Isolate.AS_EVENT) { |
575 exports._globalState.topEventLoop.enqueue(this, this.kill, "kill"); | 575 exports._globalState.topEventLoop.enqueue(this, this.kill.bind(this), "k
ill"); |
576 return; | 576 return; |
577 } | 577 } |
578 dart.assert(priority == isolate.Isolate.BEFORE_NEXT_EVENT); | 578 dart.assert(priority == isolate.Isolate.BEFORE_NEXT_EVENT); |
579 if (this[_scheduledControlEvents] == null) { | 579 if (this[_scheduledControlEvents] == null) { |
580 this[_scheduledControlEvents] = new collection.Queue(); | 580 this[_scheduledControlEvents] = new collection.Queue(); |
581 } | 581 } |
582 dart.dsend(this[_scheduledControlEvents], 'addLast', this.kill); | 582 dart.dsend(this[_scheduledControlEvents], 'addLast', this.kill.bind(this))
; |
583 } | 583 } |
584 addErrorListener(port) { | 584 addErrorListener(port) { |
585 this.errorPorts.add(port); | 585 this.errorPorts.add(port); |
586 } | 586 } |
587 removeErrorListener(port) { | 587 removeErrorListener(port) { |
588 this.errorPorts.remove(port); | 588 this.errorPorts.remove(port); |
589 } | 589 } |
590 handleUncaughtError(error, stackTrace) { | 590 handleUncaughtError(error, stackTrace) { |
591 if (this.errorPorts[core.$isEmpty]) { | 591 if (this.errorPorts[core.$isEmpty]) { |
592 if (dart.notNull(this.errorsAreFatal) && dart.notNull(core.identical(thi
s, exports._globalState.rootContext))) { | 592 if (dart.notNull(this.errorsAreFatal) && dart.notNull(core.identical(thi
s, exports._globalState.rootContext))) { |
(...skipping 665 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1258 ReceivePortImpl() { | 1258 ReceivePortImpl() { |
1259 this.fromRawReceivePort(new RawReceivePortImpl(null)); | 1259 this.fromRawReceivePort(new RawReceivePortImpl(null)); |
1260 } | 1260 } |
1261 weak() { | 1261 weak() { |
1262 this.fromRawReceivePort(new RawReceivePortImpl.weak(null)); | 1262 this.fromRawReceivePort(new RawReceivePortImpl.weak(null)); |
1263 } | 1263 } |
1264 fromRawReceivePort(rawPort) { | 1264 fromRawReceivePort(rawPort) { |
1265 this[_rawPort] = rawPort; | 1265 this[_rawPort] = rawPort; |
1266 this[_controller] = null; | 1266 this[_controller] = null; |
1267 super.Stream(); | 1267 super.Stream(); |
1268 this[_controller] = new async.StreamController({onCancel: this.close, sync
: true}); | 1268 this[_controller] = new async.StreamController({onCancel: this.close.bind(
this), sync: true}); |
1269 this[_rawPort].handler = this[_controller].add; | 1269 this[_rawPort].handler = dart.bind(this[_controller], 'add'); |
1270 } | 1270 } |
1271 listen(onData, opts) { | 1271 listen(onData, opts) { |
1272 let onError = opts && 'onError' in opts ? opts.onError : null; | 1272 let onError = opts && 'onError' in opts ? opts.onError : null; |
1273 let onDone = opts && 'onDone' in opts ? opts.onDone : null; | 1273 let onDone = opts && 'onDone' in opts ? opts.onDone : null; |
1274 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError :
null; | 1274 let cancelOnError = opts && 'cancelOnError' in opts ? opts.cancelOnError :
null; |
1275 return this[_controller].stream.listen(onData, {onError: onError, onDone:
onDone, cancelOnError: cancelOnError}); | 1275 return this[_controller].stream.listen(onData, {onError: onError, onDone:
onDone, cancelOnError: cancelOnError}); |
1276 } | 1276 } |
1277 close() { | 1277 close() { |
1278 this[_rawPort].close(); | 1278 this[_rawPort].close(); |
1279 this[_controller].close(); | 1279 this[_controller].close(); |
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1393 exports.leaveJsAsync = leaveJsAsync; | 1393 exports.leaveJsAsync = leaveJsAsync; |
1394 exports.isWorker = isWorker; | 1394 exports.isWorker = isWorker; |
1395 exports.startRootIsolate = startRootIsolate; | 1395 exports.startRootIsolate = startRootIsolate; |
1396 exports.IsolateNatives = IsolateNatives; | 1396 exports.IsolateNatives = IsolateNatives; |
1397 exports.RawReceivePortImpl = RawReceivePortImpl; | 1397 exports.RawReceivePortImpl = RawReceivePortImpl; |
1398 exports.ReceivePortImpl = ReceivePortImpl; | 1398 exports.ReceivePortImpl = ReceivePortImpl; |
1399 exports.TimerImpl = TimerImpl; | 1399 exports.TimerImpl = TimerImpl; |
1400 exports.hasTimer = hasTimer; | 1400 exports.hasTimer = hasTimer; |
1401 exports.CapabilityImpl = CapabilityImpl; | 1401 exports.CapabilityImpl = CapabilityImpl; |
1402 })(_isolate_helper || (_isolate_helper = {})); | 1402 })(_isolate_helper || (_isolate_helper = {})); |
OLD | NEW |