Skip to content

Commit c8f0a5e

Browse files
committed
[java] ensure changes are visible for all threads
1 parent 4641ff1 commit c8f0a5e

File tree

1 file changed

+14
-8
lines changed

1 file changed

+14
-8
lines changed

java/src/org/openqa/selenium/devtools/idealized/Network.java

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public abstract class Network<AUTHREQUIRED, REQUESTPAUSED> {
5959

6060
private final Map<Predicate<URI>, Supplier<Credentials>> authHandlers = new LinkedHashMap<>();
6161
private final Filter defaultFilter = next -> next::execute;
62-
private Filter filter = defaultFilter;
62+
private volatile Filter filter = defaultFilter;
6363
protected final DevTools devTools;
6464

6565
private final AtomicBoolean networkInterceptorRegistered = new AtomicBoolean();
@@ -73,7 +73,9 @@ public void disable() {
7373
devTools.send(disableFetch());
7474
devTools.send(enableNetworkCaching());
7575

76-
authHandlers.clear();
76+
synchronized (authHandlers) {
77+
authHandlers.clear();
78+
}
7779
filter = defaultFilter;
7880
}
7981

@@ -128,7 +130,9 @@ public void addAuthHandler(
128130
Require.nonNull("URI predicate", whenThisMatches);
129131
Require.nonNull("Credentials", useTheseCredentials);
130132

131-
authHandlers.put(whenThisMatches, useTheseCredentials);
133+
synchronized (authHandlers) {
134+
authHandlers.put(whenThisMatches, useTheseCredentials);
135+
}
132136

133137
prepareToInterceptTraffic();
134138
}
@@ -250,11 +254,13 @@ public void prepareToInterceptTraffic() {
250254
protected Optional<Credentials> getAuthCredentials(URI uri) {
251255
Require.nonNull("URI", uri);
252256

253-
return authHandlers.entrySet().stream()
254-
.filter(entry -> entry.getKey().test(uri))
255-
.map(Map.Entry::getValue)
256-
.map(Supplier::get)
257-
.findFirst();
257+
synchronized (authHandlers) {
258+
return authHandlers.entrySet().stream()
259+
.filter(entry -> entry.getKey().test(uri))
260+
.map(Map.Entry::getValue)
261+
.map(Supplier::get)
262+
.findFirst();
263+
}
258264
}
259265

260266
protected HttpMethod convertFromCdpHttpMethod(String method) {

0 commit comments

Comments
 (0)