Skip to content

Commit 1e91f51

Browse files
committed
[grid] Removing unknown extensions for IE
Fixes #11625
1 parent ce4a66b commit 1e91f51

File tree

1 file changed

+16
-1
lines changed

1 file changed

+16
-1
lines changed

java/src/org/openqa/selenium/grid/node/config/SessionCapabilitiesMutator.java

Lines changed: 16 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
import org.openqa.selenium.Capabilities;
2323
import org.openqa.selenium.ImmutableCapabilities;
2424
import org.openqa.selenium.PersistentCapabilities;
25+
2526
import java.util.ArrayList;
2627
import java.util.HashMap;
2728
import java.util.List;
@@ -56,6 +57,10 @@ public Capabilities apply(Capabilities capabilities) {
5657
return capabilities;
5758
}
5859

60+
if ("internet explorer".equalsIgnoreCase(capabilities.getBrowserName())) {
61+
return new ImmutableCapabilities(removeUnknownExtensionsForIE(capabilities));
62+
}
63+
5964
String browserName = capabilities.getBrowserName().toLowerCase();
6065
if (!BROWSER_OPTIONS.containsKey(browserName)) {
6166
return capabilities;
@@ -95,11 +100,21 @@ public Capabilities apply(Capabilities capabilities) {
95100
return slotStereotype.merge(capabilities);
96101
}
97102

103+
private Map<String, Object> removeUnknownExtensionsForIE(Capabilities capabilities) {
104+
Map<String, Object> toReturn = new HashMap<>(capabilities.asMap());
105+
capabilities.asMap().keySet()
106+
.stream()
107+
.filter(key -> key.contains(":"))
108+
.filter(key -> !"se:ieOptions".equalsIgnoreCase(key))
109+
.forEach(toReturn::remove);
110+
return toReturn;
111+
}
112+
98113
private Map<String, Object> mergeChromiumOptions(Map<String, Object> stereotypeOptions,
99114
Map<String, Object> capsOptions) {
100115
Map<String, Object> toReturn = new HashMap<>(stereotypeOptions);
101116

102-
for (Map.Entry<String, Object> entry : capsOptions.entrySet()) {
117+
for (Map.Entry<String, Object> entry : capsOptions.entrySet()) {
103118
String name = entry.getKey();
104119
Object value = entry.getValue();
105120
if (name.equals("args")) {

0 commit comments

Comments
 (0)