Skip to content

Commit bfb7e2f

Browse files
committed
[java] Adding Chrome DevTools 101 and removing 98
1 parent 581f70d commit bfb7e2f

10 files changed

Lines changed: 109 additions & 91 deletions

File tree

Rakefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,9 +99,9 @@ JAVA_RELEASE_TARGETS = %w[
9999
//java/src/org/openqa/selenium/chrome:chrome.publish
100100
//java/src/org/openqa/selenium/chromium:chromium.publish
101101
//java/src/org/openqa/selenium/devtools/v85:v85.publish
102-
//java/src/org/openqa/selenium/devtools/v98:v98.publish
103102
//java/src/org/openqa/selenium/devtools/v99:v99.publish
104103
//java/src/org/openqa/selenium/devtools/v100:v100.publish
104+
//java/src/org/openqa/selenium/devtools/v101:v101.publish
105105
//java/src/org/openqa/selenium/edge:edge.publish
106106
//java/src/org/openqa/selenium/firefox:firefox.publish
107107
//java/src/org/openqa/selenium/grid/sessionmap/jdbc:jdbc.publish

java/src/org/openqa/selenium/devtools/v98/BUILD.bazel renamed to java/src/org/openqa/selenium/devtools/v101/BUILD.bazel

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ load("//common:defs.bzl", "copy_file")
33
load("//java:defs.bzl", "java_export", "java_library")
44
load("//java:version.bzl", "SE_VERSION")
55

6-
cdp_version = "v98"
6+
cdp_version = "v101"
77

88
java_export(
99
name = cdp_version,

java/src/org/openqa/selenium/devtools/v98/V98CdpInfo.java renamed to java/src/org/openqa/selenium/devtools/v101/V101CdpInfo.java

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,16 +15,16 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
package org.openqa.selenium.devtools.v98;
18+
package org.openqa.selenium.devtools.v101;
1919

2020
import com.google.auto.service.AutoService;
21+
2122
import org.openqa.selenium.devtools.CdpInfo;
22-
import org.openqa.selenium.devtools.v98.V98Domains;
2323

2424
@AutoService(CdpInfo.class)
25-
public class V98CdpInfo extends CdpInfo {
25+
public class V101CdpInfo extends CdpInfo {
2626

27-
public V98CdpInfo() {
28-
super(98, V98Domains::new);
27+
public V101CdpInfo() {
28+
super(101, V101Domains::new);
2929
}
3030
}

java/src/org/openqa/selenium/devtools/v98/V98Domains.java renamed to java/src/org/openqa/selenium/devtools/v101/V101Domains.java

Lines changed: 13 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
package org.openqa.selenium.devtools.v98;
18+
package org.openqa.selenium.devtools.v101;
1919

2020
import org.openqa.selenium.devtools.DevTools;
2121
import org.openqa.selenium.devtools.idealized.Domains;
@@ -24,28 +24,23 @@
2424
import org.openqa.selenium.devtools.idealized.Network;
2525
import org.openqa.selenium.devtools.idealized.log.Log;
2626
import org.openqa.selenium.devtools.idealized.target.Target;
27-
import org.openqa.selenium.devtools.v98.V98Events;
28-
import org.openqa.selenium.devtools.v98.V98Javascript;
29-
import org.openqa.selenium.devtools.v98.V98Log;
30-
import org.openqa.selenium.devtools.v98.V98Network;
31-
import org.openqa.selenium.devtools.v98.V98Target;
3227
import org.openqa.selenium.internal.Require;
3328

34-
public class V98Domains implements Domains {
29+
public class V101Domains implements Domains {
3530

36-
private final V98Javascript js;
37-
private final V98Events events;
38-
private final V98Log log;
39-
private final V98Network network;
40-
private final V98Target target;
31+
private final V101Javascript js;
32+
private final V101Events events;
33+
private final V101Log log;
34+
private final V101Network network;
35+
private final V101Target target;
4136

42-
public V98Domains(DevTools devtools) {
37+
public V101Domains(DevTools devtools) {
4338
Require.nonNull("DevTools", devtools);
44-
events = new V98Events(devtools);
45-
js = new V98Javascript(devtools);
46-
log = new V98Log();
47-
network = new V98Network(devtools);
48-
target = new V98Target();
39+
events = new V101Events(devtools);
40+
js = new V101Javascript(devtools);
41+
log = new V101Log();
42+
network = new V101Network(devtools);
43+
target = new V101Target();
4944
}
5045

5146
@Override

java/src/org/openqa/selenium/devtools/v98/V98Events.java renamed to java/src/org/openqa/selenium/devtools/v101/V101Events.java

Lines changed: 16 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -15,29 +15,30 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
package org.openqa.selenium.devtools.v98;
18+
package org.openqa.selenium.devtools.v101;
1919

2020
import com.google.common.collect.ImmutableList;
21+
2122
import org.openqa.selenium.JavascriptException;
2223
import org.openqa.selenium.devtools.Command;
2324
import org.openqa.selenium.devtools.DevTools;
2425
import org.openqa.selenium.devtools.Event;
2526
import org.openqa.selenium.devtools.events.ConsoleEvent;
2627
import org.openqa.selenium.devtools.idealized.Events;
2728
import org.openqa.selenium.devtools.idealized.runtime.model.RemoteObject;
28-
import org.openqa.selenium.devtools.v98.runtime.Runtime;
29-
import org.openqa.selenium.devtools.v98.runtime.model.ConsoleAPICalled;
30-
import org.openqa.selenium.devtools.v98.runtime.model.ExceptionDetails;
31-
import org.openqa.selenium.devtools.v98.runtime.model.ExceptionThrown;
32-
import org.openqa.selenium.devtools.v98.runtime.model.StackTrace;
29+
import org.openqa.selenium.devtools.v101.runtime.Runtime;
30+
import org.openqa.selenium.devtools.v101.runtime.model.ConsoleAPICalled;
31+
import org.openqa.selenium.devtools.v101.runtime.model.ExceptionDetails;
32+
import org.openqa.selenium.devtools.v101.runtime.model.ExceptionThrown;
33+
import org.openqa.selenium.devtools.v101.runtime.model.StackTrace;
3334

3435
import java.time.Instant;
3536
import java.util.List;
3637
import java.util.Optional;
3738

38-
public class V98Events extends Events<ConsoleAPICalled, ExceptionThrown> {
39+
public class V101Events extends Events<ConsoleAPICalled, ExceptionThrown> {
3940

40-
public V98Events(DevTools devtools) {
41+
public V101Events(DevTools devtools) {
4142
super(devtools);
4243
}
4344

@@ -81,7 +82,7 @@ protected ConsoleEvent toConsoleEvent(ConsoleAPICalled event) {
8182
protected JavascriptException toJsException(ExceptionThrown event) {
8283
ExceptionDetails details = event.getExceptionDetails();
8384
Optional<StackTrace> maybeTrace = details.getStackTrace();
84-
Optional<org.openqa.selenium.devtools.v98.runtime.model.RemoteObject>
85+
Optional<org.openqa.selenium.devtools.v101.runtime.model.RemoteObject>
8586
maybeException = details.getException();
8687

8788
String message = maybeException
@@ -103,12 +104,12 @@ protected JavascriptException toJsException(ExceptionThrown event) {
103104
StackTrace trace = maybeTrace.get();
104105

105106
exception.setStackTrace(trace.getCallFrames().stream()
106-
.map(frame -> new StackTraceElement(
107-
"",
108-
frame.getFunctionName(),
109-
frame.getUrl(),
110-
frame.getLineNumber()))
111-
.toArray(StackTraceElement[]::new));
107+
.map(frame -> new StackTraceElement(
108+
"",
109+
frame.getFunctionName(),
110+
frame.getUrl(),
111+
frame.getLineNumber()))
112+
.toArray(StackTraceElement[]::new));
112113

113114
return exception;
114115
}

java/src/org/openqa/selenium/devtools/v98/V98Javascript.java renamed to java/src/org/openqa/selenium/devtools/v101/V101Javascript.java

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,22 +15,22 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
package org.openqa.selenium.devtools.v98;
18+
package org.openqa.selenium.devtools.v101;
1919

2020
import org.openqa.selenium.devtools.Command;
2121
import org.openqa.selenium.devtools.DevTools;
2222
import org.openqa.selenium.devtools.Event;
2323
import org.openqa.selenium.devtools.idealized.Javascript;
24-
import org.openqa.selenium.devtools.v98.page.Page;
25-
import org.openqa.selenium.devtools.v98.page.model.ScriptIdentifier;
26-
import org.openqa.selenium.devtools.v98.runtime.Runtime;
27-
import org.openqa.selenium.devtools.v98.runtime.model.BindingCalled;
24+
import org.openqa.selenium.devtools.v101.page.Page;
25+
import org.openqa.selenium.devtools.v101.page.model.ScriptIdentifier;
26+
import org.openqa.selenium.devtools.v101.runtime.Runtime;
27+
import org.openqa.selenium.devtools.v101.runtime.model.BindingCalled;
2828

2929
import java.util.Optional;
3030

31-
public class V98Javascript extends Javascript<ScriptIdentifier, BindingCalled> {
31+
public class V101Javascript extends Javascript<ScriptIdentifier, BindingCalled> {
3232

33-
public V98Javascript(DevTools devtools) {
33+
public V101Javascript(DevTools devtools) {
3434
super(devtools);
3535
}
3636

java/src/org/openqa/selenium/devtools/v98/V98Log.java renamed to java/src/org/openqa/selenium/devtools/v101/V101Log.java

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,20 +15,21 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
package org.openqa.selenium.devtools.v98;
18+
package org.openqa.selenium.devtools.v101;
1919

2020
import org.openqa.selenium.devtools.Command;
2121
import org.openqa.selenium.devtools.ConverterFunctions;
2222
import org.openqa.selenium.devtools.Event;
23-
import org.openqa.selenium.devtools.v98.log.Log;
24-
import org.openqa.selenium.devtools.v98.log.model.LogEntry;
25-
import org.openqa.selenium.devtools.v98.runtime.model.Timestamp;
23+
import org.openqa.selenium.devtools.v101.log.Log;
24+
import org.openqa.selenium.devtools.v101.log.model.LogEntry;
25+
import org.openqa.selenium.devtools.v101.runtime.model.Timestamp;
2626
import org.openqa.selenium.json.JsonInput;
2727

2828
import java.util.function.Function;
2929
import java.util.logging.Level;
3030

31-
public class V98Log implements org.openqa.selenium.devtools.idealized.log.Log {
31+
public class V101Log implements org.openqa.selenium.devtools.idealized.log.Log {
32+
3233
@Override
3334
public Command<Void> enable() {
3435
return Log.enable();

java/src/org/openqa/selenium/devtools/v98/V98Network.java renamed to java/src/org/openqa/selenium/devtools/v101/V101Network.java

Lines changed: 36 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -15,24 +15,25 @@
1515
// specific language governing permissions and limitations
1616
// under the License.
1717

18-
package org.openqa.selenium.devtools.v98;
18+
package org.openqa.selenium.devtools.v101;
1919

2020
import com.google.common.collect.ImmutableList;
2121
import com.google.common.io.ByteStreams;
22+
2223
import org.openqa.selenium.UsernameAndPassword;
2324
import org.openqa.selenium.devtools.Command;
2425
import org.openqa.selenium.devtools.DevTools;
2526
import org.openqa.selenium.devtools.DevToolsException;
2627
import org.openqa.selenium.devtools.Event;
2728
import org.openqa.selenium.devtools.idealized.Network;
28-
import org.openqa.selenium.devtools.v98.fetch.Fetch;
29-
import org.openqa.selenium.devtools.v98.fetch.model.AuthChallengeResponse;
30-
import org.openqa.selenium.devtools.v98.fetch.model.AuthRequired;
31-
import org.openqa.selenium.devtools.v98.fetch.model.HeaderEntry;
32-
import org.openqa.selenium.devtools.v98.fetch.model.RequestPattern;
33-
import org.openqa.selenium.devtools.v98.fetch.model.RequestPaused;
34-
import org.openqa.selenium.devtools.v98.fetch.model.RequestStage;
35-
import org.openqa.selenium.devtools.v98.network.model.Request;
29+
import org.openqa.selenium.devtools.v101.fetch.Fetch;
30+
import org.openqa.selenium.devtools.v101.fetch.model.AuthChallengeResponse;
31+
import org.openqa.selenium.devtools.v101.fetch.model.AuthRequired;
32+
import org.openqa.selenium.devtools.v101.fetch.model.HeaderEntry;
33+
import org.openqa.selenium.devtools.v101.fetch.model.RequestPattern;
34+
import org.openqa.selenium.devtools.v101.fetch.model.RequestPaused;
35+
import org.openqa.selenium.devtools.v101.fetch.model.RequestStage;
36+
import org.openqa.selenium.devtools.v101.network.model.Request;
3637
import org.openqa.selenium.internal.Either;
3738
import org.openqa.selenium.remote.http.HttpRequest;
3839
import org.openqa.selenium.remote.http.HttpResponse;
@@ -50,36 +51,37 @@
5051

5152
import static java.net.HttpURLConnection.HTTP_OK;
5253

53-
public class V98Network extends Network<AuthRequired, RequestPaused> {
54+
public class V101Network extends Network<AuthRequired, RequestPaused> {
5455

55-
private static final Logger LOG = Logger.getLogger(V98Network.class.getName());
56+
private static final Logger LOG = Logger.getLogger(V101Network.class.getName());
5657

57-
public V98Network(DevTools devTools) {
58+
public V101Network(DevTools devTools) {
5859
super(devTools);
5960
}
6061

6162
@Override
6263
protected Command<Void> setUserAgentOverride(UserAgent userAgent) {
63-
return org.openqa.selenium.devtools.v98.network.Network.setUserAgentOverride(
64+
return org.openqa.selenium.devtools.v101.network.Network.setUserAgentOverride(
6465
userAgent.userAgent(), userAgent.acceptLanguage(), userAgent.platform(), Optional.empty());
6566
}
6667

6768
@Override
6869
protected Command<Void> enableNetworkCaching() {
69-
return org.openqa.selenium.devtools.v98.network.Network.setCacheDisabled(false);
70+
return org.openqa.selenium.devtools.v101.network.Network.setCacheDisabled(false);
7071
}
7172

7273
@Override
7374
protected Command<Void> disableNetworkCaching() {
74-
return org.openqa.selenium.devtools.v98.network.Network.setCacheDisabled(true);
75+
return org.openqa.selenium.devtools.v101.network.Network.setCacheDisabled(true);
7576
}
7677

7778
@Override
7879
protected Command<Void> enableFetchForAllPatterns() {
7980
return Fetch.enable(
8081
Optional.of(ImmutableList.of(
8182
new RequestPattern(Optional.of("*"), Optional.empty(), Optional.of(RequestStage.REQUEST)),
82-
new RequestPattern(Optional.of("*"), Optional.empty(), Optional.of(RequestStage.RESPONSE)))),
83+
new RequestPattern(Optional.of("*"), Optional.empty(),
84+
Optional.of(RequestStage.RESPONSE)))),
8385
Optional.of(true));
8486
}
8587

@@ -99,7 +101,8 @@ protected String getUriFrom(AuthRequired authRequired) {
99101
}
100102

101103
@Override
102-
protected Command<Void> continueWithAuth(AuthRequired authRequired, UsernameAndPassword credentials) {
104+
protected Command<Void> continueWithAuth(AuthRequired authRequired,
105+
UsernameAndPassword credentials) {
103106
return Fetch.continueWithAuth(
104107
authRequired.getRequestId(),
105108
new AuthChallengeResponse(
@@ -112,7 +115,8 @@ protected Command<Void> continueWithAuth(AuthRequired authRequired, UsernameAndP
112115
protected Command<Void> cancelAuth(AuthRequired authRequired) {
113116
return Fetch.continueWithAuth(
114117
authRequired.getRequestId(),
115-
new AuthChallengeResponse(AuthChallengeResponse.Response.CANCELAUTH, Optional.empty(), Optional.empty()));
118+
new AuthChallengeResponse(AuthChallengeResponse.Response.CANCELAUTH, Optional.empty(),
119+
Optional.empty()));
116120
}
117121

118122
@Override
@@ -122,14 +126,18 @@ public Event<RequestPaused> requestPausedEvent() {
122126

123127
@Override
124128
public Either<HttpRequest, HttpResponse> createSeMessages(RequestPaused pausedReq) {
125-
if (pausedReq.getResponseStatusCode().isPresent() || pausedReq.getResponseErrorReason().isPresent()) {
129+
if (pausedReq.getResponseStatusCode().isPresent() || pausedReq.getResponseErrorReason()
130+
.isPresent()) {
126131
String body;
127132
boolean bodyIsBase64Encoded;
128133

129134
try {
130-
Fetch.GetResponseBodyResponse base64Body = devTools.send(Fetch.getResponseBody(pausedReq.getRequestId()));
135+
Fetch.GetResponseBodyResponse
136+
base64Body =
137+
devTools.send(Fetch.getResponseBody(pausedReq.getRequestId()));
131138
body = base64Body.getBody();
132-
bodyIsBase64Encoded = base64Body.getBase64Encoded() != null && base64Body.getBase64Encoded();
139+
bodyIsBase64Encoded =
140+
base64Body.getBase64Encoded() != null && base64Body.getBase64Encoded();
133141
} catch (DevToolsException e) {
134142
// Redirects don't seem to have bodies
135143
int code = pausedReq.getResponseStatusCode().orElse(HTTP_OK);
@@ -143,7 +151,9 @@ public Either<HttpRequest, HttpResponse> createSeMessages(RequestPaused pausedRe
143151

144152
List<Map.Entry<String, String>> headers = new LinkedList<>();
145153
pausedReq.getResponseHeaders().ifPresent(resHeaders ->
146-
resHeaders.forEach(header -> headers.add(new AbstractMap.SimpleEntry<>(header.getName(), header.getValue()))));
154+
resHeaders.forEach(header -> headers.add(
155+
new AbstractMap.SimpleEntry<>(header.getName(),
156+
header.getValue()))));
147157

148158
HttpResponse res = createHttpResponse(
149159
pausedReq.getResponseStatusCode(),
@@ -191,7 +201,8 @@ protected Command<Void> continueRequest(RequestPaused pausedReq, HttpRequest req
191201
}
192202

193203
List<HeaderEntry> headers = new LinkedList<>();
194-
req.getHeaderNames().forEach(name -> req.getHeaders(name).forEach(value -> headers.add(new HeaderEntry(name, value))));
204+
req.getHeaderNames().forEach(
205+
name -> req.getHeaders(name).forEach(value -> headers.add(new HeaderEntry(name, value))));
195206

196207
return Fetch.continueRequest(
197208
pausedReq.getRequestId(),
@@ -205,7 +216,8 @@ protected Command<Void> continueRequest(RequestPaused pausedReq, HttpRequest req
205216
@Override
206217
protected Command<Void> fulfillRequest(RequestPaused pausedReq, HttpResponse res) {
207218
List<HeaderEntry> headers = new LinkedList<>();
208-
res.getHeaderNames().forEach(name -> res.getHeaders(name).forEach(value -> headers.add(new HeaderEntry(name, value))));
219+
res.getHeaderNames().forEach(
220+
name -> res.getHeaders(name).forEach(value -> headers.add(new HeaderEntry(name, value))));
209221

210222
ByteArrayOutputStream bos = new ByteArrayOutputStream();
211223
try (InputStream is = res.getContent().get()) {

0 commit comments

Comments
 (0)