Skip to content

Commit 9257c6f

Browse files
authored
[dotnet] [bidi] Cache modules in the root BiDi (#16655)
1 parent 4c6474b commit 9257c6f

File tree

1 file changed

+11
-22
lines changed

1 file changed

+11
-22
lines changed

dotnet/src/webdriver/BiDi/BiDi.cs

Lines changed: 11 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -36,38 +36,27 @@ private BiDi(string url)
3636
var uri = new Uri(url);
3737

3838
Broker = new Broker(this, uri);
39-
40-
SessionModule = AsModule<Session.SessionModule>();
41-
BrowsingContext = AsModule<BrowsingContext.BrowsingContextModule>();
42-
Browser = AsModule<Browser.BrowserModule>();
43-
Network = AsModule<Network.NetworkModule>();
44-
InputModule = AsModule<Input.InputModule>();
45-
Script = AsModule<Script.ScriptModule>();
46-
Log = AsModule<Log.LogModule>();
47-
Storage = AsModule<Storage.StorageModule>();
48-
WebExtension = AsModule<WebExtension.WebExtensionModule>();
49-
Emulation = AsModule<Emulation.EmulationModule>();
5039
}
5140

52-
internal Session.SessionModule SessionModule { get; }
41+
internal Session.SessionModule SessionModule => AsModule<Session.SessionModule>();
5342

54-
public BrowsingContext.BrowsingContextModule BrowsingContext { get; }
43+
public BrowsingContext.BrowsingContextModule BrowsingContext => AsModule<BrowsingContext.BrowsingContextModule>();
5544

56-
public Browser.BrowserModule Browser { get; }
45+
public Browser.BrowserModule Browser => AsModule<Browser.BrowserModule>();
5746

58-
public Network.NetworkModule Network { get; }
47+
public Network.NetworkModule Network => AsModule<Network.NetworkModule>();
5948

60-
internal Input.InputModule InputModule { get; }
49+
internal Input.InputModule InputModule => AsModule<Input.InputModule>();
6150

62-
public Script.ScriptModule Script { get; }
51+
public Script.ScriptModule Script => AsModule<Script.ScriptModule>();
6352

64-
public Log.LogModule Log { get; }
53+
public Log.LogModule Log => AsModule<Log.LogModule>();
6554

66-
public Storage.StorageModule Storage { get; }
55+
public Storage.StorageModule Storage => AsModule<Storage.StorageModule>();
6756

68-
public WebExtension.WebExtensionModule WebExtension { get; }
57+
public WebExtension.WebExtensionModule WebExtension => AsModule<WebExtension.WebExtensionModule>();
6958

70-
public Emulation.EmulationModule Emulation { get; }
59+
public Emulation.EmulationModule Emulation => AsModule<Emulation.EmulationModule>();
7160

7261
public Task<Session.StatusResult> StatusAsync()
7362
{
@@ -96,7 +85,7 @@ public async ValueTask DisposeAsync()
9685

9786
public T AsModule<T>() where T : Module, new()
9887
{
99-
return (T)_modules.GetOrAdd(typeof(T), Module.Create<T>(this, Broker, GetJsonOptions()));
88+
return (T)_modules.GetOrAdd(typeof(T), _ => Module.Create<T>(this, Broker, GetJsonOptions()));
10089
}
10190

10291
private Broker Broker { get; }

0 commit comments

Comments
 (0)