Skip to content

Commit 658fd6e

Browse files
committed
fix: Browser.IsConnected should be updated when connection closes
1 parent 4abdc4a commit 658fd6e

1 file changed

Lines changed: 8 additions & 0 deletions

File tree

src/Playwright/Core/Browser.cs

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,11 +43,14 @@ internal class Browser : ChannelOwner, IBrowser
4343
internal string? _tracesDir = null;
4444
internal BrowserType _browserType = null!;
4545
internal string? _closeReason;
46+
private readonly EventHandler<Exception> _onConnectionClose;
4647

4748
internal Browser(ChannelOwner parent, string guid, BrowserInitializer initializer) : base(parent, guid)
4849
{
4950
IsConnected = true;
5051
_initializer = initializer;
52+
_onConnectionClose = (_, _) => DidClose();
53+
_connection.Close += _onConnectionClose;
5154
}
5255

5356
public event EventHandler<IBrowser>? Disconnected;
@@ -286,6 +289,11 @@ private void DidCreateContext(BrowserContext context)
286289

287290
internal void DidClose()
288291
{
292+
if (!IsConnected)
293+
{
294+
return;
295+
}
296+
_connection.Close -= _onConnectionClose;
289297
IsConnected = false;
290298
Disconnected?.Invoke(this, this);
291299
_closedTcs.TrySetResult(true);

0 commit comments

Comments
 (0)