Skip to content

Commit c359dd2

Browse files
authored
Move target updates to the target manager (#2316)
1 parent dfac7b3 commit c359dd2

File tree

2 files changed

+25
-20
lines changed

2 files changed

+25
-20
lines changed

lib/PuppeteerSharp/Browser.cs

+12-18
Original file line numberDiff line numberDiff line change
@@ -341,20 +341,14 @@ protected virtual void Dispose(bool disposing) => _ = CloseAsync()
341341
private void TargetManager_TargetDiscovered(object sender, TargetChangedArgs e)
342342
=> TargetDiscovered?.Invoke(this, e);
343343

344-
private void TargetManager_TargetChanged(object sender, TargetChangedArgs e)
344+
private void OnTargetChanged(object sender, TargetChangedArgs e)
345345
{
346-
var previousURL = e.Target.Url;
347-
var wasInitialized = e.Target.IsInitialized;
348-
e.Target.TargetInfoChanged(e.TargetInfo);
349-
if (wasInitialized && previousURL != e.Target.Url)
350-
{
351-
var args = new TargetChangedArgs { Target = e.Target };
352-
TargetChanged?.Invoke(this, args);
353-
e.Target.BrowserContext.OnTargetChanged(this, args);
354-
}
346+
var args = new TargetChangedArgs { Target = e.Target };
347+
TargetChanged?.Invoke(this, args);
348+
e.Target.BrowserContext.OnTargetChanged(this, args);
355349
}
356350

357-
private async void TargetManager_TargetGone(object sender, TargetChangedArgs e)
351+
private async void OnDetachedFromTargetAsync(object sender, TargetChangedArgs e)
358352
{
359353
try
360354
{
@@ -376,7 +370,7 @@ private async void TargetManager_TargetGone(object sender, TargetChangedArgs e)
376370
}
377371
}
378372

379-
private async void TargetManager_TargetAvailable(object sender, TargetChangedArgs e)
373+
private async void OnAttachedToTargetAsync(object sender, TargetChangedArgs e)
380374
{
381375
try
382376
{
@@ -454,19 +448,19 @@ private async void Connection_Disconnected(object sender, EventArgs e)
454448
private Task AttachAsync()
455449
{
456450
Connection.Disconnected += Connection_Disconnected;
457-
TargetManager.TargetAvailable += TargetManager_TargetAvailable;
458-
TargetManager.TargetGone += TargetManager_TargetGone;
459-
TargetManager.TargetChanged += TargetManager_TargetChanged;
451+
TargetManager.TargetAvailable += OnAttachedToTargetAsync;
452+
TargetManager.TargetGone += OnDetachedFromTargetAsync;
453+
TargetManager.TargetChanged += OnTargetChanged;
460454
TargetManager.TargetDiscovered += TargetManager_TargetDiscovered;
461455
return TargetManager.InitializeAsync();
462456
}
463457

464458
private void Detach()
465459
{
466460
Connection.Disconnected -= Connection_Disconnected;
467-
TargetManager.TargetAvailable -= TargetManager_TargetAvailable;
468-
TargetManager.TargetGone -= TargetManager_TargetGone;
469-
TargetManager.TargetChanged -= TargetManager_TargetChanged;
461+
TargetManager.TargetAvailable -= OnAttachedToTargetAsync;
462+
TargetManager.TargetGone -= OnDetachedFromTargetAsync;
463+
TargetManager.TargetChanged -= OnTargetChanged;
470464
TargetManager.TargetDiscovered -= TargetManager_TargetDiscovered;
471465
}
472466

lib/PuppeteerSharp/ChromeTargetManager.cs

+13-2
Original file line numberDiff line numberDiff line change
@@ -226,7 +226,18 @@ private void OnTargetInfoChanged(TargetCreatedResponse e)
226226
return;
227227
}
228228

229-
TargetChanged?.Invoke(this, new TargetChangedArgs { Target = target, TargetInfo = e.TargetInfo });
229+
var previousURL = target.Url;
230+
var wasInitialized = target.IsInitialized;
231+
target.TargetInfoChanged(e.TargetInfo);
232+
233+
if (wasInitialized && previousURL != target.Url)
234+
{
235+
TargetChanged?.Invoke(this, new TargetChangedArgs
236+
{
237+
Target = target,
238+
TargetInfo = e.TargetInfo,
239+
});
240+
}
230241
}
231242

232243
private async Task OnAttachedToTargetAsync(object sender, TargetAttachedToTargetResponse e)
@@ -339,7 +350,7 @@ await Task.WhenAll(
339350
}
340351
catch (Exception ex)
341352
{
342-
_logger.LogError("Failed to call setautoAttach and runIfWaitingForDebugger", ex);
353+
_logger.LogError("Failed to call setAutoAttach and runIfWaitingForDebugger", ex);
343354
}
344355
}
345356

0 commit comments

Comments
 (0)