Skip to content

Commit c1defad

Browse files
committed
[dotnet] [bidi] Make BiDi ctor private
1 parent 01cbc5e commit c1defad

File tree

1 file changed

+27
-66
lines changed

1 file changed

+27
-66
lines changed

dotnet/src/webdriver/BiDi/BiDi.cs

Lines changed: 27 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818
// </copyright>
1919

2020
using System;
21+
using System.Threading;
2122
using System.Threading.Tasks;
2223
using OpenQA.Selenium.BiDi.Communication;
2324

@@ -38,7 +39,7 @@ public class BiDi : IAsyncDisposable
3839

3940
private readonly object _moduleLock = new();
4041

41-
internal BiDi(string url)
42+
private BiDi(string url)
4243
{
4344
var uri = new Uri(url);
4445

@@ -49,15 +50,10 @@ internal Session.SessionModule SessionModule
4950
{
5051
get
5152
{
52-
if (_sessionModule is null)
53+
if (_sessionModule is not null) return _sessionModule;
54+
lock (_moduleLock)
5355
{
54-
lock (_moduleLock)
55-
{
56-
if (_sessionModule is null)
57-
{
58-
_sessionModule = new Session.SessionModule(_broker);
59-
}
60-
}
56+
_sessionModule ??= new Session.SessionModule(_broker);
6157
}
6258
return _sessionModule;
6359
}
@@ -67,15 +63,10 @@ public BrowsingContext.BrowsingContextModule BrowsingContext
6763
{
6864
get
6965
{
70-
if (_browsingContextModule is null)
66+
if (_browsingContextModule is not null) return _browsingContextModule;
67+
lock (_moduleLock)
7168
{
72-
lock (_moduleLock)
73-
{
74-
if (_browsingContextModule is null)
75-
{
76-
_browsingContextModule = new BrowsingContext.BrowsingContextModule(_broker);
77-
}
78-
}
69+
_browsingContextModule ??= new BrowsingContext.BrowsingContextModule(_broker);
7970
}
8071
return _browsingContextModule;
8172
}
@@ -85,15 +76,10 @@ public Browser.BrowserModule Browser
8576
{
8677
get
8778
{
88-
if (_browserModule is null)
79+
if (_browserModule is not null) return _browserModule;
80+
lock (_moduleLock)
8981
{
90-
lock (_moduleLock)
91-
{
92-
if (_browserModule is null)
93-
{
94-
_browserModule = new Browser.BrowserModule(_broker);
95-
}
96-
}
82+
_browserModule ??= new Browser.BrowserModule(_broker);
9783
}
9884
return _browserModule;
9985
}
@@ -103,15 +89,10 @@ public Network.NetworkModule Network
10389
{
10490
get
10591
{
106-
if (_networkModule is null)
92+
if (_networkModule is not null) return _networkModule;
93+
lock (_moduleLock)
10794
{
108-
lock (_moduleLock)
109-
{
110-
if (_networkModule is null)
111-
{
112-
_networkModule = new Network.NetworkModule(_broker);
113-
}
114-
}
95+
_networkModule ??= new Network.NetworkModule(_broker);
11596
}
11697
return _networkModule;
11798
}
@@ -121,15 +102,10 @@ internal Input.InputModule InputModule
121102
{
122103
get
123104
{
124-
if (_inputModule is null)
105+
if (_inputModule is not null) return _inputModule;
106+
lock (_moduleLock)
125107
{
126-
lock (_moduleLock)
127-
{
128-
if (_inputModule is null)
129-
{
130-
_inputModule = new Input.InputModule(_broker);
131-
}
132-
}
108+
_inputModule ??= new Input.InputModule(_broker);
133109
}
134110
return _inputModule;
135111
}
@@ -139,15 +115,10 @@ public Script.ScriptModule Script
139115
{
140116
get
141117
{
142-
if (_scriptModule is null)
118+
if (_scriptModule is not null) return _scriptModule;
119+
lock (_moduleLock)
143120
{
144-
lock (_moduleLock)
145-
{
146-
if (_scriptModule is null)
147-
{
148-
_scriptModule = new Script.ScriptModule(_broker);
149-
}
150-
}
121+
_scriptModule ??= new Script.ScriptModule(_broker);
151122
}
152123
return _scriptModule;
153124
}
@@ -157,15 +128,10 @@ public Log.LogModule Log
157128
{
158129
get
159130
{
160-
if (_logModule is null)
131+
if (_logModule is not null) return _logModule;
132+
lock (_moduleLock)
161133
{
162-
lock (_moduleLock)
163-
{
164-
if (_logModule is null)
165-
{
166-
_logModule = new Log.LogModule(_broker);
167-
}
168-
}
134+
_logModule ??= new Log.LogModule(_broker);
169135
}
170136
return _logModule;
171137
}
@@ -175,15 +141,10 @@ public Storage.StorageModule Storage
175141
{
176142
get
177143
{
178-
if (_storageModule is null)
144+
if (_storageModule is not null) return _storageModule;
145+
lock (_moduleLock)
179146
{
180-
lock (_moduleLock)
181-
{
182-
if (_storageModule is null)
183-
{
184-
_storageModule = new Storage.StorageModule(_broker);
185-
}
186-
}
147+
_storageModule ??= new Storage.StorageModule(_broker);
187148
}
188149
return _storageModule;
189150
}
@@ -198,7 +159,7 @@ public static async Task<BiDi> ConnectAsync(string url)
198159
{
199160
var bidi = new BiDi(url);
200161

201-
await bidi._broker.ConnectAsync(default).ConfigureAwait(false);
162+
await bidi._broker.ConnectAsync(CancellationToken.None).ConfigureAwait(false);
202163

203164
return bidi;
204165
}

0 commit comments

Comments
 (0)