@@ -129,7 +129,7 @@ private void StoreExistingTargetsForInit()
129129 }
130130 }
131131
132- private async Task EnsureTargetsIdsForInit ( )
132+ private async Task EnsureTargetsIdsForInitAsync ( )
133133 {
134134 if ( _targetDiscoveryTimeout > 0 )
135135 {
@@ -160,7 +160,7 @@ private void OnMessageReceived(object sender, MessageEventArgs e)
160160 return ;
161161
162162 case "Target.targetDestroyed" :
163- OnTargetDestroyed ( e . MessageData . ToObject < TargetDestroyedResponse > ( true ) ) ;
163+ _ = OnTargetDestroyedAsync ( e . MessageID , e . MessageData . ToObject < TargetDestroyedResponse > ( true ) ) ;
164164 return ;
165165
166166 case "Target.targetInfoChanged" :
@@ -198,15 +198,22 @@ private void OnTargetCreated(TargetCreatedResponse e)
198198 }
199199 }
200200
201- private async void OnTargetDestroyed ( TargetDestroyedResponse e )
201+ private async Task OnTargetDestroyedAsync ( string messageId , TargetDestroyedResponse e )
202202 {
203- _discoveredTargetsByTargetId . TryRemove ( e . TargetId , out var targetInfo ) ;
204- await EnsureTargetsIdsForInit ( ) . ConfigureAwait ( false ) ;
205- FinishInitializationIfReady ( e . TargetId ) ;
203+ try
204+ {
205+ _discoveredTargetsByTargetId . TryRemove ( e . TargetId , out var targetInfo ) ;
206+ await EnsureTargetsIdsForInitAsync ( ) . ConfigureAwait ( false ) ;
207+ FinishInitializationIfReady ( e . TargetId ) ;
206208
207- if ( targetInfo ? . Type == TargetType . ServiceWorker && _availableTargetsByTargetIdDictionary . TryRemove ( e . TargetId , out var target ) )
209+ if ( targetInfo ? . Type == TargetType . ServiceWorker && _availableTargetsByTargetIdDictionary . TryRemove ( e . TargetId , out var target ) )
210+ {
211+ TargetGone ? . Invoke ( this , new TargetChangedArgs { Target = target , TargetInfo = targetInfo } ) ;
212+ }
213+ }
214+ catch ( Exception ex )
208215 {
209- TargetGone ? . Invoke ( this , new TargetChangedArgs { Target = target , TargetInfo = targetInfo } ) ;
216+ HandleExceptionOnMessageReceived ( messageId , ex ) ;
210217 }
211218 }
212219
@@ -224,7 +231,7 @@ private void OnTargetInfoChanged(TargetCreatedResponse e)
224231 TargetChanged ? . Invoke ( this , new TargetChangedArgs { Target = target , TargetInfo = e . TargetInfo } ) ;
225232 }
226233
227- private async Task OnAttachedToTarget ( object sender , TargetAttachedToTargetResponse e )
234+ private async Task OnAttachedToTargetAsync ( object sender , TargetAttachedToTargetResponse e )
228235 {
229236 var parent = sender as ICDPConnection ;
230237 var targetInfo = e . TargetInfo ;
@@ -256,7 +263,7 @@ await parent.SendAsync(
256263 if ( targetInfo . Type == TargetType . ServiceWorker &&
257264 _connection . IsAutoAttached ( targetInfo . TargetId ) )
258265 {
259- await EnsureTargetsIdsForInit ( ) . ConfigureAwait ( false ) ;
266+ await EnsureTargetsIdsForInitAsync ( ) . ConfigureAwait ( false ) ;
260267 FinishInitializationIfReady ( targetInfo . TargetId ) ;
261268 await SilentDetach ( ) . ConfigureAwait ( false ) ;
262269 if ( _availableTargetsByTargetIdDictionary . ContainsKey ( targetInfo . TargetId ) )
@@ -273,7 +280,7 @@ await parent.SendAsync(
273280 if ( _targetFilterFunc ? . Invoke ( targetInfo ) == false )
274281 {
275282 _ignoredTargets . Add ( targetInfo . TargetId ) ;
276- await EnsureTargetsIdsForInit ( ) . ConfigureAwait ( false ) ;
283+ await EnsureTargetsIdsForInitAsync ( ) . ConfigureAwait ( false ) ;
277284 FinishInitializationIfReady ( targetInfo . TargetId ) ;
278285 await SilentDetach ( ) . ConfigureAwait ( false ) ;
279286 return ;
@@ -311,7 +318,7 @@ await parent.SendAsync(
311318 }
312319 }
313320
314- await EnsureTargetsIdsForInit ( ) . ConfigureAwait ( false ) ;
321+ await EnsureTargetsIdsForInitAsync ( ) . ConfigureAwait ( false ) ;
315322 _targetsIdsForInit . Remove ( target . TargetId ) ;
316323
317324 if ( ! existingTarget )
@@ -342,7 +349,7 @@ private async Task OnAttachedToTargetHandlingExceptionsAsync(object sender, stri
342349 {
343350 try
344351 {
345- await OnAttachedToTarget ( sender , e ) . ConfigureAwait ( false ) ;
352+ await OnAttachedToTargetAsync ( sender , e ) . ConfigureAwait ( false ) ;
346353 }
347354 catch ( Exception ex )
348355 {
0 commit comments