Skip to content

Commit beb4f95

Browse files
authored
Merge branch 'trunk' into refactor/merge-overloads
2 parents ab4d126 + 335c14c commit beb4f95

File tree

20 files changed

+551
-99
lines changed

20 files changed

+551
-99
lines changed

MODULE.bazel

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@ maven.install(
181181
"com.graphql-java:graphql-java:22.3",
182182
"dev.failsafe:failsafe:3.3.2",
183183
"io.grpc:grpc-context:1.69.0",
184-
"io.lettuce:lettuce-core:6.5.1.RELEASE",
184+
"io.lettuce:lettuce-core:6.5.2.RELEASE",
185185
"io.netty:netty-buffer",
186186
"io.netty:netty-codec-http",
187187
"io.netty:netty-codec-http2",
@@ -201,10 +201,10 @@ maven.install(
201201
"io.opentelemetry.semconv:opentelemetry-semconv:1.28.0-alpha",
202202
"it.ozimov:embedded-redis:0.7.3",
203203
"net.bytebuddy:byte-buddy:1.15.11",
204-
"org.htmlunit:htmlunit-core-js:4.6.0",
204+
"org.htmlunit:htmlunit-core-js:4.7.0",
205205
"org.apache.commons:commons-exec:1.4.0",
206206
"org.apache.logging.log4j:log4j-core:2.24.3",
207-
"org.assertj:assertj-core:3.27.1",
207+
"org.assertj:assertj-core:3.27.2",
208208
"org.bouncycastle:bcpkix-jdk18on:1.79",
209209
"org.eclipse.mylyn.github:org.eclipse.egit.github.core:2.1.5",
210210
"org.hsqldb:hsqldb:2.7.4",

common/mirror/selenium

Lines changed: 1 addition & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,7 @@
11
[
22
{
33
"tag_name": "nightly",
4-
"assets": [
5-
{
6-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-java-4.28.0-SNAPSHOT.zip"
7-
},
8-
{
9-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.28.0-SNAPSHOT.jar"
10-
},
11-
{
12-
"browser_download_url": "https://github.com/SeleniumHQ/selenium/releases/download/nightly/selenium-server-4.28.0-SNAPSHOT.zip"
13-
}
14-
]
4+
"assets": []
155
},
166
{
177
"tag_name": "selenium-4.27.0",
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<!DOCTYPE html>
2+
<html>
3+
<head>
4+
<title>FedCM Example</title>
5+
</head>
6+
<body>
7+
<button id="triggerButton" onclick="triggerFedCm()">Trigger FedCM</button>
8+
<div id="result"></div>
9+
10+
<script>
11+
// Use a relative path for the configURL
12+
let configURL = `http://${location.host}/common/fedcm/config.json`;
13+
console.log(configURL)
14+
let result = null;
15+
16+
async function triggerFedCm() {
17+
console.log("Config URL:", configURL);
18+
try {
19+
let promise = await navigator.credentials.get({
20+
identity: {
21+
providers: [{
22+
configURL: configURL,
23+
clientId: '1',
24+
}]
25+
}
26+
});
27+
result = promise;
28+
29+
console.log("Promised!")
30+
console.log(result)
31+
document.getElementById('result').innerText = JSON.stringify(result);
32+
} catch (error) {
33+
console.error("FedCM Error:", error);
34+
result = { error: error.message };
35+
document.getElementById('result').innerText = JSON.stringify(result);
36+
}
37+
}
38+
</script>
39+
</body>
40+
</html>

java/maven_install.json

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"__AUTOGENERATED_FILE_DO_NOT_MODIFY_THIS_FILE_MANUALLY": "THERE_IS_NO_DATA_ONLY_ZUUL",
3-
"__INPUT_ARTIFACTS_HASH": -1069673593,
4-
"__RESOLVED_ARTIFACTS_HASH": -1004221368,
3+
"__INPUT_ARTIFACTS_HASH": 1132645732,
4+
"__RESOLVED_ARTIFACTS_HASH": 1947623231,
55
"artifacts": {
66
"com.beust:jcommander": {
77
"shasums": {
@@ -228,10 +228,10 @@
228228
},
229229
"io.lettuce:lettuce-core": {
230230
"shasums": {
231-
"jar": "ff26c28351becdaf6d5abe25d97ea799a986b1746bfe5f70659d1e53745b6f1a",
232-
"sources": "383337d6e56a97563c31f2d06838c85f8295662a5f7f72408bef5d59329cf98a"
231+
"jar": "59f6a591a631d844b355b831ee723bf6ce98d92f7a775de6b0690f0eb81480e7",
232+
"sources": "e9d835ed5b0583fbf01deabdb2c4ab370ac73166a4011aac5f1e2ca397914912"
233233
},
234-
"version": "6.5.1.RELEASE"
234+
"version": "6.5.2.RELEASE"
235235
},
236236
"io.netty:netty-buffer": {
237237
"shasums": {
@@ -550,10 +550,10 @@
550550
},
551551
"org.assertj:assertj-core": {
552552
"shasums": {
553-
"jar": "ab4ab885146bc5dfbdd4cdfb06f1ae72ec6b5e8139f0ccdabcbe51374aebac0d",
554-
"sources": "0c9a7b4a85f3609bf700ad13f4173cde85cadcdd8feb829e059a000a5b9aa932"
553+
"jar": "a8079b4cb67dca1dc5c7650bf27bd59277834c63280b661475986de3b602e3ae",
554+
"sources": "fc96972d63cc234226a10b5a434acb085033f2bc68035df92abc3331595aa73d"
555555
},
556-
"version": "3.27.1"
556+
"version": "3.27.2"
557557
},
558558
"org.bouncycastle:bcpkix-jdk18on": {
559559
"shasums": {
@@ -606,10 +606,10 @@
606606
},
607607
"org.htmlunit:htmlunit-core-js": {
608608
"shasums": {
609-
"jar": "709c43eaab5b407468239b49ba990a7170ee582cbaa6a11c09a6118da22fdedc",
610-
"sources": "458acacd14d851ad0ad20310787b35d3224d0c31155bd6b17d41de2b352bb1b7"
609+
"jar": "4f0c609fbfd2ca2ca9163cc63e9b947b13a57b5644400e2b1902c1335d160888",
610+
"sources": "5834536abb3402f859cbb31f48d113e36c2dc6bc7dd7e01eca6478a61d00c70c"
611611
},
612-
"version": "4.6.0"
612+
"version": "4.7.0"
613613
},
614614
"org.jodd:jodd-util": {
615615
"shasums": {

java/src/org/openqa/selenium/Platform.java

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@
3232
public enum Platform {
3333

3434
/** Never returned, but can be used to request a browser running on any version of Windows. */
35-
WINDOWS("") {
35+
WINDOWS("windows") {
3636
@Override
3737
public Platform family() {
3838
return null;
@@ -302,6 +302,18 @@ public String toString() {
302302
}
303303
},
304304

305+
SEQUOIA("sequoia", "os x 15.0", "macos 15.0") {
306+
@Override
307+
public Platform family() {
308+
return MAC;
309+
}
310+
311+
@Override
312+
public String toString() {
313+
return "macOS 15.0";
314+
}
315+
},
316+
305317
/** Many platforms have UNIX traits, amongst them LINUX, Solaris and BSD. */
306318
UNIX("solaris", "bsd") {
307319
@Override

java/test/org/openqa/selenium/PlatformTest.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,10 @@
2424
import static org.openqa.selenium.Platform.IOS;
2525
import static org.openqa.selenium.Platform.LINUX;
2626
import static org.openqa.selenium.Platform.MAC;
27+
import static org.openqa.selenium.Platform.SEQUOIA;
2728
import static org.openqa.selenium.Platform.UNIX;
2829
import static org.openqa.selenium.Platform.VISTA;
30+
import static org.openqa.selenium.Platform.WIN11;
2931
import static org.openqa.selenium.Platform.WIN8;
3032
import static org.openqa.selenium.Platform.WIN8_1;
3133
import static org.openqa.selenium.Platform.WINDOWS;
@@ -57,6 +59,11 @@ void testWin81IsWindows() {
5759
assertThat(WIN8_1.is(WINDOWS)).isTrue();
5860
}
5961

62+
@Test
63+
void testWindows11IsWindows() {
64+
assertThat(WIN11.is(WINDOWS)).isTrue();
65+
}
66+
6067
@Test
6168
void testLinuxIsUnix() {
6269
assertThat(LINUX.is(UNIX)).isTrue();
@@ -165,16 +172,41 @@ void testWindowsIsWindows() {
165172
assertThat(WINDOWS).isEqualTo(Platform.fromString("windows"));
166173
}
167174

175+
@Test
176+
void testWindowsIsNotEmpty() {
177+
assertThat(WINDOWS).isNotEqualTo(Platform.fromString(""));
178+
}
179+
168180
@Test
169181
void canParseMacOsXCorrectly() {
170182
assertThat(Platform.fromString("Mac OS X")).isEqualTo(MAC);
171183
}
172184

185+
@Test
186+
void testAnyIsFromStringEmpty() {
187+
assertThat(ANY).isEqualTo(Platform.fromString(""));
188+
}
189+
190+
@Test
191+
void testAnyIsFromStringAny() {
192+
assertThat(ANY).isEqualTo(Platform.fromString("any"));
193+
}
194+
195+
@Test
196+
void testAnyIsNotFromStringWindows() {
197+
assertThat(ANY).isNotEqualTo(Platform.fromString("windows"));
198+
}
199+
173200
@Test
174201
void catalinaIsMac() {
175202
assertThat(CATALINA.is(MAC)).isTrue();
176203
}
177204

205+
@Test
206+
void sequoiaIsMac() {
207+
assertThat(SEQUOIA.is(MAC)).isTrue();
208+
}
209+
178210
@Test
179211
void canParseCatalinaFromOSName() {
180212
assertThat(Platform.fromString("macOS 10.15")).isEqualTo(CATALINA);

javascript/grid-ui/package.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@
1212
"@novnc/novnc": "1.5.0",
1313
"@types/jest": "29.5.14",
1414
"@types/node": "20.12.12",
15-
"@types/react": "18.2.72",
16-
"@types/react-dom": "18.2.22",
15+
"@types/react": "18.3.18",
16+
"@types/react-dom": "18.3.5",
1717
"@types/react-modal": "3.16.3",
1818
"@types/react-router-dom": "5.3.3",
1919
"graphql": "16.10.0",

javascript/node/selenium-webdriver/BUILD.bazel

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@ js_library(
3333
"io/*.js",
3434
"lib/*.js",
3535
"lib/atoms/bidi-mutation-listener.js",
36+
"lib/fedcm/*.js",
3637
"net/*.js",
3738
"remote/*.js",
3839
"testing/*.js",

javascript/node/selenium-webdriver/lib/command.js

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -185,6 +185,17 @@ const Name = {
185185
GET_DOWNLOADABLE_FILES: 'getDownloadableFiles',
186186
DOWNLOAD_FILE: 'downloadFile',
187187
DELETE_DOWNLOADABLE_FILES: 'deleteDownloadableFiles',
188+
189+
// Federated Credential Management API
190+
// https://www.w3.org/TR/fedcm/#automation
191+
CANCEL_DIALOG: 'cancelDialog',
192+
SELECT_ACCOUNT: 'selectAccount',
193+
GET_ACCOUNTS: 'getAccounts',
194+
GET_FEDCM_TITLE: 'getFedCmTitle',
195+
GET_FEDCM_DIALOG_TYPE: 'getFedCmDialogType',
196+
SET_DELAY_ENABLED: 'setDelayEnabled',
197+
RESET_COOLDOWN: 'resetCooldown',
198+
CLICK_DIALOG_BUTTON: 'clickdialogbutton',
188199
}
189200

190201
/**
Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,78 @@
1+
// Licensed to the Software Freedom Conservancy (SFC) under one
2+
// or more contributor license agreements. See the NOTICE file
3+
// distributed with this work for additional information
4+
// regarding copyright ownership. The SFC licenses this file
5+
// to you under the Apache License, Version 2.0 (the
6+
// "License"); you may not use this file except in compliance
7+
// with the License. You may obtain a copy of the License at
8+
//
9+
// http://www.apache.org/licenses/LICENSE-2.0
10+
//
11+
// Unless required by applicable law or agreed to in writing,
12+
// software distributed under the License is distributed on an
13+
// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
// KIND, either express or implied. See the License for the
15+
// specific language governing permissions and limitations
16+
// under the License.
17+
18+
class Account {
19+
constructor(
20+
accountId,
21+
email,
22+
name,
23+
givenName,
24+
pictureUrl,
25+
idpConfigUrl,
26+
loginState,
27+
termsOfServiceUrl,
28+
privacyPolicyUrl,
29+
) {
30+
this._accountId = accountId
31+
this._email = email
32+
this._name = name
33+
this._givenName = givenName
34+
this._pictureUrl = pictureUrl
35+
this._idpConfigUrl = idpConfigUrl
36+
this._loginState = loginState
37+
this._termsOfServiceUrl = termsOfServiceUrl
38+
this._privacyPolicyUrl = privacyPolicyUrl
39+
}
40+
41+
get accountId() {
42+
return this._accountId
43+
}
44+
45+
get email() {
46+
return this._email
47+
}
48+
49+
get name() {
50+
return this._name
51+
}
52+
53+
get givenName() {
54+
return this._givenName
55+
}
56+
57+
get pictureUrl() {
58+
return this._pictureUrl
59+
}
60+
61+
get idpConfigUrl() {
62+
return this._idpConfigUrl
63+
}
64+
65+
get loginState() {
66+
return this._loginState
67+
}
68+
69+
get termsOfServiceUrl() {
70+
return this._termsOfServiceUrl
71+
}
72+
73+
get privacyPolicyUrl() {
74+
return this._privacyPolicyUrl
75+
}
76+
}
77+
78+
module.exports = Account

0 commit comments

Comments
 (0)