Skip to content

Commit 4218fd4

Browse files
authored
Introduce Target initialization status (#2318)
1 parent 79dc944 commit 4218fd4

File tree

5 files changed

+18
-10
lines changed

5 files changed

+18
-10
lines changed

docfx_project/examples/index.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ await page.SetViewportAsync(new ViewPortOptions
3232

3333
```cs
3434
using var browserFetcher = new BrowserFetcher();
35-
await browserFetcher.DownloadAsync(BrowserFetcher.DefaultChromiumRevision);
35+
await browserFetcher.DownloadAsync();
3636
var browser = await Puppeteer.LaunchAsync(new LaunchOptions
3737
{
3838
Headless = true

lib/PuppeteerSharp/Browser.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -352,10 +352,10 @@ private async void OnDetachedFromTargetAsync(object sender, TargetChangedArgs e)
352352
{
353353
try
354354
{
355-
e.Target.InitializedTaskWrapper.TrySetResult(false);
355+
e.Target.InitializedTaskWrapper.TrySetResult(InitializationStatus.Aborted);
356356
e.Target.CloseTaskWrapper.TrySetResult(true);
357357

358-
if (await e.Target.InitializedTask.ConfigureAwait(false))
358+
if ((await e.Target.InitializedTask.ConfigureAwait(false)) == InitializationStatus.Success)
359359
{
360360
var args = new TargetChangedArgs { Target = e.Target };
361361
TargetDestroyed?.Invoke(this, args);
@@ -374,7 +374,7 @@ private async void OnAttachedToTargetAsync(object sender, TargetChangedArgs e)
374374
{
375375
try
376376
{
377-
if (await e.Target.InitializedTask.ConfigureAwait(false))
377+
if ((await e.Target.InitializedTask.ConfigureAwait(false)) == InitializationStatus.Success)
378378
{
379379
var args = new TargetChangedArgs { Target = e.Target };
380380
TargetCreated?.Invoke(this, args);
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
namespace PuppeteerSharp
2+
{
3+
internal enum InitializationStatus
4+
{
5+
Aborted,
6+
Success,
7+
}
8+
}

lib/PuppeteerSharp/PageTarget.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@ protected override void Initialize()
4545
async initializedTask =>
4646
{
4747
var success = initializedTask.Result;
48-
if (!success)
48+
if (success != InitializationStatus.Success)
4949
{
5050
return;
5151
}
@@ -81,7 +81,7 @@ protected override void CheckIfInitialized()
8181
IsInitialized = !string.IsNullOrEmpty(TargetInfo.Url);
8282
if (IsInitialized)
8383
{
84-
InitializedTaskWrapper.TrySetResult(true);
84+
InitializedTaskWrapper.TrySetResult(InitializationStatus.Success);
8585
}
8686
}
8787
}

lib/PuppeteerSharp/Target.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,9 +49,9 @@ internal Target(
4949

5050
internal BrowserContext BrowserContext { get; }
5151

52-
internal Task<bool> InitializedTask => InitializedTaskWrapper.Task;
52+
internal Task<InitializationStatus> InitializedTask => InitializedTaskWrapper.Task;
5353

54-
internal TaskCompletionSource<bool> InitializedTaskWrapper { get; } = new(TaskCreationOptions.RunContinuationsAsynchronously);
54+
internal TaskCompletionSource<InitializationStatus> InitializedTaskWrapper { get; } = new(TaskCreationOptions.RunContinuationsAsynchronously);
5555

5656
internal Task CloseTask => CloseTaskWrapper.Task;
5757

@@ -88,7 +88,7 @@ internal void TargetInfoChanged(TargetInfo targetInfo)
8888
protected virtual void Initialize()
8989
{
9090
IsInitialized = true;
91-
InitializedTaskWrapper.TrySetResult(true);
91+
InitializedTaskWrapper.TrySetResult(InitializationStatus.Success);
9292
}
9393

9494
/// <summary>
@@ -97,7 +97,7 @@ protected virtual void Initialize()
9797
protected virtual void CheckIfInitialized()
9898
{
9999
IsInitialized = true;
100-
InitializedTaskWrapper.TrySetResult(true);
100+
InitializedTaskWrapper.TrySetResult(InitializationStatus.Success);
101101
}
102102
}
103103
}

0 commit comments

Comments
 (0)