@@ -372,63 +372,60 @@ class KeyProviderImpl implements KeyProvider {
372372class FrameCryptorFactoryImpl implements FrameCryptorFactory {
373373 FrameCryptorFactoryImpl ._internal () {
374374 worker = web.Worker ('e2ee.worker.dart.js' .toJS);
375- worker.addEventListener (
376- 'message' ,
377- (web.MessageEvent msg) {
378- final data = msg.data.dartify () as Map ;
379- //print('master got $data');
380- var type = data['type' ];
381- var msgId = data['msgId' ];
382- var msgType = data['msgType' ];
383-
384- if (msgType == 'response' ) {
385- events.emit (WorkerResponse (msgId, data));
386- } else if (msgType == 'event' ) {
387- if (type == 'cryptorState' ) {
388- var trackId = data['trackId' ];
389- var participantId = data['participantId' ];
390- var frameCryptor = _frameCryptors.values.firstWhereOrNull (
391- (element) =>
392- (element as FrameCryptorImpl ).trackId == trackId);
393- var state = data['state' ];
394- var frameCryptorState = FrameCryptorState .FrameCryptorStateNew ;
395- switch (state) {
396- case 'ok' :
397- frameCryptorState = FrameCryptorState .FrameCryptorStateOk ;
398- break ;
399- case 'decryptError' :
400- frameCryptorState =
401- FrameCryptorState .FrameCryptorStateDecryptionFailed ;
402- break ;
403- case 'encryptError' :
404- frameCryptorState =
405- FrameCryptorState .FrameCryptorStateEncryptionFailed ;
406- break ;
407- case 'missingKey' :
408- frameCryptorState =
409- FrameCryptorState .FrameCryptorStateMissingKey ;
410- break ;
411- case 'internalError' :
412- frameCryptorState =
413- FrameCryptorState .FrameCryptorStateInternalError ;
414- break ;
415- case 'keyRatcheted' :
416- frameCryptorState =
417- FrameCryptorState .FrameCryptorStateKeyRatcheted ;
418- break ;
419- }
420- frameCryptor? .onFrameCryptorStateChanged
421- ? .call (participantId, frameCryptorState);
422- }
375+
376+ void Function (web.MessageEvent ) onMessage = (web.MessageEvent msg) {
377+ final data = msg.data.dartify () as Map ;
378+ //print('master got $data');
379+ var type = data['type' ];
380+ var msgId = data['msgId' ];
381+ var msgType = data['msgType' ];
382+
383+ if (msgType == 'response' ) {
384+ events.emit (WorkerResponse (msgId, data));
385+ } else if (msgType == 'event' ) {
386+ if (type == 'cryptorState' ) {
387+ var trackId = data['trackId' ];
388+ var participantId = data['participantId' ];
389+ var frameCryptor = _frameCryptors.values.firstWhereOrNull (
390+ (element) => (element as FrameCryptorImpl ).trackId == trackId);
391+ var state = data['state' ];
392+ var frameCryptorState = FrameCryptorState .FrameCryptorStateNew ;
393+ switch (state) {
394+ case 'ok' :
395+ frameCryptorState = FrameCryptorState .FrameCryptorStateOk ;
396+ break ;
397+ case 'decryptError' :
398+ frameCryptorState =
399+ FrameCryptorState .FrameCryptorStateDecryptionFailed ;
400+ break ;
401+ case 'encryptError' :
402+ frameCryptorState =
403+ FrameCryptorState .FrameCryptorStateEncryptionFailed ;
404+ break ;
405+ case 'missingKey' :
406+ frameCryptorState = FrameCryptorState .FrameCryptorStateMissingKey ;
407+ break ;
408+ case 'internalError' :
409+ frameCryptorState =
410+ FrameCryptorState .FrameCryptorStateInternalError ;
411+ break ;
412+ case 'keyRatcheted' :
413+ frameCryptorState =
414+ FrameCryptorState .FrameCryptorStateKeyRatcheted ;
415+ break ;
423416 }
424- }.toJS,
425- false .toJS);
426- worker.addEventListener (
427- 'error' ,
428- (web.ErrorEvent err) {
429- print ('worker error: $err ' );
430- }.toJS,
431- false .toJS);
417+ frameCryptor? .onFrameCryptorStateChanged
418+ ? .call (participantId, frameCryptorState);
419+ }
420+ }
421+ };
422+
423+ worker.addEventListener ('message' , onMessage.toJS, false .toJS);
424+
425+ void Function (web.ErrorEvent err) onError = (web.ErrorEvent err) {
426+ print ('worker error: $err ' );
427+ };
428+ worker.addEventListener ('error' , onError.toJS, false .toJS);
432429 }
433430
434431 static final FrameCryptorFactoryImpl instance =
0 commit comments