Skip to content

Commit 12c8c27

Browse files
committed
[java] Removing isLegacy from Firefox
This has been deprecated for a while.
1 parent e4f7ea0 commit 12c8c27

5 files changed

Lines changed: 40 additions & 77 deletions

File tree

java/src/org/openqa/selenium/firefox/FirefoxDriver.java

Lines changed: 4 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@
2020
import static org.openqa.selenium.remote.CapabilityType.PROXY;
2121

2222
import com.google.common.collect.ImmutableMap;
23-
import com.google.common.collect.Maps;
24-
import com.google.common.collect.Sets;
2523

2624
import org.openqa.selenium.Beta;
2725
import org.openqa.selenium.Capabilities;
@@ -58,7 +56,6 @@
5856
import java.util.Map;
5957
import java.util.Optional;
6058
import java.util.ServiceLoader;
61-
import java.util.Set;
6259
import java.util.stream.StreamSupport;
6360

6461
/**
@@ -134,7 +131,7 @@ public FirefoxDriver(FirefoxDriverService service, FirefoxOptions options) {
134131
}
135132

136133
private FirefoxDriver(FirefoxDriverCommandExecutor executor, FirefoxOptions options) {
137-
super(executor, dropCapabilities(options));
134+
super(executor, checkCapabilitiesAndProxy(options));
138135
webStorage = new RemoteWebStorage(getExecuteMethod());
139136
extensions = new AddHasExtensions().getImplementation(getCapabilities(), getExecuteMethod());
140137
fullPageScreenshot = new AddHasFullPageScreenshot().getImplementation(getCapabilities(), getExecuteMethod());
@@ -171,43 +168,15 @@ private static FirefoxDriverCommandExecutor toExecutor(FirefoxOptions options) {
171168
return new FirefoxDriverCommandExecutor(builder.withOptions(options).build());
172169
}
173170

174-
private static boolean isLegacy(Capabilities desiredCapabilities) {
175-
Boolean forceMarionette = forceMarionetteFromSystemProperty();
176-
if (forceMarionette != null) {
177-
return !forceMarionette;
178-
}
179-
Object marionette = desiredCapabilities.getCapability(Capability.MARIONETTE);
180-
return marionette instanceof Boolean && !(Boolean) marionette;
181-
}
182-
183-
private static Boolean forceMarionetteFromSystemProperty() {
184-
String useMarionette = System.getProperty(SystemProperty.DRIVER_USE_MARIONETTE);
185-
if (useMarionette == null) {
186-
return null;
187-
}
188-
return Boolean.valueOf(useMarionette);
189-
}
190-
191171
/**
192-
* Drops capabilities that we shouldn't send over the wire.
193-
*
194-
* Used for capabilities which aren't BeanToJson-convertable, and are only used by the local
195-
* launcher.
172+
* Check capabilities and proxy if it is set
196173
*/
197-
private static Capabilities dropCapabilities(Capabilities capabilities) {
174+
private static Capabilities checkCapabilitiesAndProxy(Capabilities capabilities) {
198175
if (capabilities == null) {
199176
return new ImmutableCapabilities();
200177
}
201178

202-
MutableCapabilities caps;
203-
204-
if (isLegacy(capabilities)) {
205-
final Set<String> toRemove = Sets.newHashSet(Capability.BINARY, Capability.PROFILE);
206-
caps = new MutableCapabilities(
207-
Maps.filterKeys(capabilities.asMap(), key -> !toRemove.contains(key)));
208-
} else {
209-
caps = new MutableCapabilities(capabilities);
210-
}
179+
MutableCapabilities caps = new MutableCapabilities(capabilities);
211180

212181
// Ensure that the proxy is in a state fit to be sent to the extension
213182
Proxy proxy = Proxy.extractFrom(capabilities);

java/src/org/openqa/selenium/firefox/FirefoxDriverService.java

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,6 @@ public FirefoxDriverService(
4747
public static abstract class Builder<DS extends FirefoxDriverService, B extends FirefoxDriverService.Builder<?, ?>>
4848
extends DriverService.Builder<DS, B> {
4949

50-
protected abstract boolean isLegacy();
5150
protected abstract Builder withOptions(FirefoxOptions options);
5251
}
5352
}

java/src/org/openqa/selenium/firefox/FirefoxOptions.java

Lines changed: 31 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@
1717

1818
package org.openqa.selenium.firefox;
1919

20+
import static java.util.stream.Collectors.toMap;
21+
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.BINARY;
22+
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.MARIONETTE;
23+
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.PROFILE;
24+
import static org.openqa.selenium.remote.Browser.FIREFOX;
25+
2026
import org.openqa.selenium.Capabilities;
2127
import org.openqa.selenium.WebDriverException;
2228
import org.openqa.selenium.internal.Require;
@@ -27,13 +33,17 @@
2733
import java.io.IOException;
2834
import java.io.UncheckedIOException;
2935
import java.nio.file.Path;
30-
import java.util.*;
31-
32-
import static java.util.stream.Collectors.toMap;
33-
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.BINARY;
34-
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.MARIONETTE;
35-
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.PROFILE;
36-
import static org.openqa.selenium.remote.Browser.FIREFOX;
36+
import java.util.ArrayList;
37+
import java.util.Arrays;
38+
import java.util.Collections;
39+
import java.util.HashMap;
40+
import java.util.List;
41+
import java.util.Map;
42+
import java.util.Objects;
43+
import java.util.Optional;
44+
import java.util.Set;
45+
import java.util.TreeMap;
46+
import java.util.TreeSet;
3747

3848
/**
3949
* Manage firefox specific settings in a way that geckodriver can understand.
@@ -158,11 +168,11 @@ public FirefoxOptions setLegacy(boolean legacy) {
158168
}
159169

160170
/**
161-
* @deprecated This method will be deleted and will not be replaced.
171+
* Constructs a {@link FirefoxBinary} and returns that to be used, and because of this is only
172+
* useful when actually starting firefox.
162173
*/
163-
@Deprecated
164-
public boolean isLegacy() {
165-
return legacy;
174+
public FirefoxBinary getBinary() {
175+
return getBinaryOrNull().orElseGet(FirefoxBinary::new);
166176
}
167177

168178
public FirefoxOptions setBinary(FirefoxBinary binary) {
@@ -181,14 +191,6 @@ public FirefoxOptions setBinary(String path) {
181191
return setFirefoxOption(Keys.BINARY, path);
182192
}
183193

184-
/**
185-
* Constructs a {@link FirefoxBinary} and returns that to be used, and because of this is only
186-
* useful when actually starting firefox.
187-
*/
188-
public FirefoxBinary getBinary() {
189-
return getBinaryOrNull().orElseGet(FirefoxBinary::new);
190-
}
191-
192194
public Optional<FirefoxBinary> getBinaryOrNull() {
193195
Object binary = firefoxOptions.get(Keys.BINARY.key());
194196
if (!(binary instanceof String)) {
@@ -207,16 +209,6 @@ public Optional<FirefoxBinary> getBinaryOrNull() {
207209
return Optional.of(toReturn);
208210
}
209211

210-
public FirefoxOptions setProfile(FirefoxProfile profile) {
211-
Require.nonNull("Profile", profile);
212-
213-
try {
214-
return setFirefoxOption(Keys.PROFILE, profile.toJson());
215-
} catch (IOException e) {
216-
throw new UncheckedIOException(e);
217-
}
218-
}
219-
220212
public FirefoxProfile getProfile() {
221213
Object rawProfile = firefoxOptions.get(Keys.PROFILE.key());
222214
if (rawProfile == null) {
@@ -234,6 +226,16 @@ public FirefoxProfile getProfile() {
234226
}
235227
}
236228

229+
public FirefoxOptions setProfile(FirefoxProfile profile) {
230+
Require.nonNull("Profile", profile);
231+
232+
try {
233+
return setFirefoxOption(Keys.PROFILE, profile.toJson());
234+
} catch (IOException e) {
235+
throw new UncheckedIOException(e);
236+
}
237+
}
238+
237239
public FirefoxOptions addArguments(String... arguments) {
238240
addArguments(Arrays.asList(arguments));
239241
return this;

java/src/org/openqa/selenium/firefox/GeckoDriverService.java

Lines changed: 5 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -17,8 +17,13 @@
1717

1818
package org.openqa.selenium.firefox;
1919

20+
import static java.util.Collections.unmodifiableList;
21+
import static java.util.concurrent.TimeUnit.MILLISECONDS;
22+
import static org.openqa.selenium.remote.Browser.FIREFOX;
23+
2024
import com.google.auto.service.AutoService;
2125
import com.google.common.io.ByteStreams;
26+
2227
import org.openqa.selenium.Capabilities;
2328
import org.openqa.selenium.WebDriverException;
2429
import org.openqa.selenium.internal.Require;
@@ -34,10 +39,6 @@
3439
import java.util.Map;
3540
import java.util.Optional;
3641

37-
import static java.util.Collections.unmodifiableList;
38-
import static java.util.concurrent.TimeUnit.MILLISECONDS;
39-
import static org.openqa.selenium.remote.Browser.FIREFOX;
40-
4142
/**
4243
* Manages the life and death of an GeckoDriver aka 'wires'.
4344
*/
@@ -136,11 +137,6 @@ public static class Builder extends FirefoxDriverService.Builder<
136137
public Builder() {
137138
}
138139

139-
@Override
140-
protected boolean isLegacy() {
141-
return false;
142-
}
143-
144140
@Override
145141
public int score(Capabilities capabilities) {
146142
if (capabilities.getCapability(FirefoxDriver.Capability.MARIONETTE) != null

java/test/org/openqa/selenium/firefox/FirefoxOptionsTest.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,6 @@
2727
import static org.assertj.core.api.InstanceOfAssertFactories.LIST;
2828
import static org.assertj.core.api.InstanceOfAssertFactories.MAP;
2929
import static org.openqa.selenium.PageLoadStrategy.EAGER;
30-
import static org.openqa.selenium.firefox.FirefoxDriver.Capability.MARIONETTE;
3130
import static org.openqa.selenium.firefox.FirefoxDriver.SystemProperty.BROWSER_BINARY;
3231
import static org.openqa.selenium.firefox.FirefoxDriver.SystemProperty.BROWSER_PROFILE;
3332
import static org.openqa.selenium.firefox.FirefoxDriverLogLevel.DEBUG;
@@ -69,11 +68,9 @@ public class FirefoxOptionsTest {
6968
@Test
7069
public void canInitFirefoxOptionsWithCapabilities() {
7170
FirefoxOptions options = new FirefoxOptions(new ImmutableCapabilities(
72-
MARIONETTE, false,
7371
PAGE_LOAD_STRATEGY, PageLoadStrategy.EAGER,
7472
ACCEPT_INSECURE_CERTS, true));
7573

76-
assertThat(options.isLegacy()).isTrue();
7774
assertThat(options.getCapability(PAGE_LOAD_STRATEGY)).isEqualTo(EAGER);
7875
assertThat(options.getCapability(ACCEPT_INSECURE_CERTS)).isEqualTo(true);
7976
}

0 commit comments

Comments
 (0)