@@ -88,7 +88,7 @@ public class FirefoxDriver extends RemoteWebDriver
8888 private final Optional <URI > biDiUri ;
8989 private Connection connection ;
9090 private DevTools devTools ;
91- private BiDi biDi ;
91+ private Optional < BiDi > biDi ;
9292
9393 /**
9494 * Creates a new FirefoxDriver using the {@link GeckoDriverService#createDefaultService)} server
@@ -175,6 +175,8 @@ private FirefoxDriver(
175175 return null ;
176176 });
177177
178+ this .biDi = createBiDi (biDiUri );
179+
178180 this .cdpUri = cdpUri ;
179181 this .capabilities =
180182 cdpUri
@@ -321,12 +323,7 @@ public DevTools getDevTools() {
321323 .orElseThrow (() -> new DevToolsException ("Unable to initialize CDP connection" ));
322324 }
323325
324- @ Override
325- public Optional <BiDi > maybeGetBiDi () {
326- if (biDi != null ) {
327- return Optional .of (biDi );
328- }
329-
326+ private Optional <BiDi > createBiDi (Optional <URI > biDiUri ) {
330327 if (!biDiUri .isPresent ()) {
331328 return Optional .empty ();
332329 }
@@ -340,12 +337,15 @@ public Optional<BiDi> maybeGetBiDi() {
340337 ClientConfig wsConfig = ClientConfig .defaultConfig ().baseUri (wsUri );
341338 HttpClient wsClient = clientFactory .createClient (wsConfig );
342339
343- org .openqa .selenium .bidi .Connection connection =
340+ org .openqa .selenium .bidi .Connection biDiConnection =
344341 new org .openqa .selenium .bidi .Connection (wsClient , wsUri .toString ());
345342
346- biDi = new BiDi (connection );
343+ return Optional .of (new BiDi (biDiConnection ));
344+ }
347345
348- return Optional .of (biDi );
346+ @ Override
347+ public Optional <BiDi > maybeGetBiDi () {
348+ return biDi ;
349349 }
350350
351351 @ Override
0 commit comments