Skip to content

Commit f233563

Browse files
committed
Don't drop "binary" and "profile" capabilities for Marionette.
Those are supposed to be sent over to Geckodriver.
1 parent 5fb1cfc commit f233563

File tree

1 file changed

+16
-9
lines changed

1 file changed

+16
-9
lines changed

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

Lines changed: 16 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ public FirefoxDriver(GeckoDriverService driverService, Capabilities desiredCapab
229229
private FirefoxDriver(CommandExecutor executor, Capabilities desiredCapabilities,
230230
Capabilities requiredCapabilities) {
231231
super(executor,
232-
dropCapabilities(desiredCapabilities, BINARY, PROFILE),
233-
dropCapabilities(requiredCapabilities, BINARY, PROFILE));
232+
dropCapabilities(desiredCapabilities),
233+
dropCapabilities(requiredCapabilities));
234234
}
235235

236236
private static final CommandExecutor createCommandExecutor(Capabilities desiredCapabilities,
@@ -351,16 +351,23 @@ protected void stopClient(Capabilities desiredCapabilities, Capabilities require
351351
* Used for capabilities which aren't BeanToJson-convertable, and are only used by the local
352352
* launcher.
353353
*/
354-
private static Capabilities dropCapabilities(Capabilities capabilities, String... keysToRemove) {
354+
private static Capabilities dropCapabilities(Capabilities capabilities) {
355355
if (capabilities == null) {
356356
return new DesiredCapabilities();
357357
}
358-
final Set<String> toRemove = Sets.newHashSet(keysToRemove);
359-
DesiredCapabilities caps = new DesiredCapabilities(Maps.filterKeys(capabilities.asMap(), new Predicate<String>() {
360-
public boolean apply(String key) {
361-
return !toRemove.contains(key);
362-
}
363-
}));
358+
359+
DesiredCapabilities caps;
360+
361+
if (isLegacy(capabilities)) {
362+
final Set<String> toRemove = Sets.newHashSet(BINARY, PROFILE);
363+
caps = new DesiredCapabilities(Maps.filterKeys(capabilities.asMap(), new Predicate<String>() {
364+
public boolean apply(String key) {
365+
return !toRemove.contains(key);
366+
}
367+
}));
368+
} else {
369+
caps = new DesiredCapabilities(capabilities);
370+
}
364371

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

0 commit comments

Comments
 (0)