Skip to content

Commit 673582d

Browse files
authored
Merge branch 'trunk' into Fix15697-5
2 parents f9f7abd + 3d16e7c commit 673582d

File tree

15 files changed

+279
-265
lines changed

15 files changed

+279
-265
lines changed

common/repositories.bzl

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ def pin_browsers():
1111

1212
http_archive(
1313
name = "linux_firefox",
14-
url = "https://ftp.mozilla.org/pub/firefox/releases/142.0/linux-x86_64/en-US/firefox-142.0.tar.xz",
15-
sha256 = "da8897a6a618e73878e6022a2bece76af509c304c73ae5c53dc523d35cb7bae6",
14+
url = "https://ftp.mozilla.org/pub/firefox/releases/142.0.1/linux-x86_64/en-US/firefox-142.0.1.tar.xz",
15+
sha256 = "8f47a714610a624ad536a652a70242aa894a37f65565fd3103d4366869743b91",
1616
build_file_content = """
1717
load("@aspect_rules_js//js:defs.bzl", "js_library")
1818
package(default_visibility = ["//visibility:public"])
@@ -33,8 +33,8 @@ js_library(
3333

3434
dmg_archive(
3535
name = "mac_firefox",
36-
url = "https://ftp.mozilla.org/pub/firefox/releases/142.0/mac/en-US/Firefox%20142.0.dmg",
37-
sha256 = "cc0ce6b3ec64d064c16187f92ca4a8df5a21a1d7aa2f79a9e82b44602f2b1a0f",
36+
url = "https://ftp.mozilla.org/pub/firefox/releases/142.0.1/mac/en-US/Firefox%20142.0.1.dmg",
37+
sha256 = "de41866c94d064a20cd787d89203c5f646fe0278da13c44605733ce205680965",
3838
build_file_content = """
3939
load("@aspect_rules_js//js:defs.bzl", "js_library")
4040
package(default_visibility = ["//visibility:public"])
@@ -50,8 +50,8 @@ js_library(
5050

5151
http_archive(
5252
name = "linux_beta_firefox",
53-
url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b3/linux-x86_64/en-US/firefox-143.0b3.tar.xz",
54-
sha256 = "ea43085f0a47d14a8c088175b489c8af149f59703aec20e6dd2bbf01e36d36fc",
53+
url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b9/linux-x86_64/en-US/firefox-143.0b9.tar.xz",
54+
sha256 = "43ac5d340c5380353987417a06af6c9a0eac3a21f2b81c29e6829ca6792418cf",
5555
build_file_content = """
5656
load("@aspect_rules_js//js:defs.bzl", "js_library")
5757
package(default_visibility = ["//visibility:public"])
@@ -72,8 +72,8 @@ js_library(
7272

7373
dmg_archive(
7474
name = "mac_beta_firefox",
75-
url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b3/mac/en-US/Firefox%20143.0b3.dmg",
76-
sha256 = "0e392fc487de20c31c4fe66e25473f91ce001dd6e56528409720f7b9934f34e0",
75+
url = "https://ftp.mozilla.org/pub/firefox/releases/143.0b9/mac/en-US/Firefox%20143.0b9.dmg",
76+
sha256 = "7f0c3edd7987fa64023163e3850a5d71bc1c41c7ef4458bf54c486caa1c158dd",
7777
build_file_content = """
7878
load("@aspect_rules_js//js:defs.bzl", "js_library")
7979
package(default_visibility = ["//visibility:public"])
@@ -123,10 +123,10 @@ js_library(
123123

124124
pkg_archive(
125125
name = "mac_edge",
126-
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/95344cbf-d116-4494-8485-b96014e98901/MicrosoftEdge-139.0.3405.119.pkg",
127-
sha256 = "31b3ddce353180a706179d64086ed01b53cfd20a7daea45597a7e9e405fc553f",
126+
url = "https://msedge.sf.dl.delivery.mp.microsoft.com/filestreamingservice/files/548659d9-fd7c-41ae-98f2-88c5d8e2900e/MicrosoftEdge-140.0.3485.66.pkg",
127+
sha256 = "18d0dae9bcc13d02ea46934c45109a3b76075eadb5a1c25191ec44b3583aee32",
128128
move = {
129-
"MicrosoftEdge-139.0.3405.119.pkg/Payload/Microsoft Edge.app": "Edge.app",
129+
"MicrosoftEdge-140.0.3485.66.pkg/Payload/Microsoft Edge.app": "Edge.app",
130130
},
131131
build_file_content = """
132132
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -143,8 +143,8 @@ js_library(
143143

144144
deb_archive(
145145
name = "linux_edge",
146-
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_139.0.3405.119-1_amd64.deb",
147-
sha256 = "e51e4e36cde5e7be2031fd9145ac9bf26444f734a88ff43858e05c7782e60c7b",
146+
url = "https://packages.microsoft.com/repos/edge/pool/main/m/microsoft-edge-stable/microsoft-edge-stable_140.0.3485.66-1_amd64.deb",
147+
sha256 = "fc84c914286741ae572b89d07b76e21b0eafbd5fa92db6d935bf7cf5779c5066",
148148
build_file_content = """
149149
load("@aspect_rules_js//js:defs.bzl", "js_library")
150150
package(default_visibility = ["//visibility:public"])
@@ -165,8 +165,8 @@ js_library(
165165

166166
http_archive(
167167
name = "linux_edgedriver",
168-
url = "https://msedgedriver.microsoft.com/139.0.3405.111/edgedriver_linux64.zip",
169-
sha256 = "76f1c0e35120e37848c174eee1368150b7c2461b8e4907c80bcfc2e61b93c471",
168+
url = "https://msedgedriver.microsoft.com/140.0.3485.66/edgedriver_linux64.zip",
169+
sha256 = "140a592ad275329d22424cd213a8a05a348a66c6bee1eec8e890c3dbe9d23742",
170170
build_file_content = """
171171
load("@aspect_rules_js//js:defs.bzl", "js_library")
172172
package(default_visibility = ["//visibility:public"])
@@ -182,8 +182,8 @@ js_library(
182182

183183
http_archive(
184184
name = "mac_edgedriver",
185-
url = "https://msedgedriver.microsoft.com/139.0.3405.111/edgedriver_mac64.zip",
186-
sha256 = "c97588078c6f661dd6c66b858f5e21dc9cbcee40420a2b2e839a05803e0e468f",
185+
url = "https://msedgedriver.microsoft.com/140.0.3485.66/edgedriver_mac64.zip",
186+
sha256 = "69456486f9559620c0fcfc118f9ccfa232d7d4f7886347cf164e39b2a9205a03",
187187
build_file_content = """
188188
load("@aspect_rules_js//js:defs.bzl", "js_library")
189189
package(default_visibility = ["//visibility:public"])
@@ -199,8 +199,8 @@ js_library(
199199

200200
http_archive(
201201
name = "linux_chrome",
202-
url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/linux64/chrome-linux64.zip",
203-
sha256 = "a28ed679a017b8042747d81f7855cb86cc71402b268fc843b57533e69a835a17",
202+
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/linux64/chrome-linux64.zip",
203+
sha256 = "752add52e58c9c7d7565c01c49d3058a0357e24fd518d2b842e22f3577a785fa",
204204
build_file_content = """
205205
load("@aspect_rules_js//js:defs.bzl", "js_library")
206206
package(default_visibility = ["//visibility:public"])
@@ -220,8 +220,8 @@ js_library(
220220
)
221221
http_archive(
222222
name = "mac_chrome",
223-
url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/mac-x64/chrome-mac-x64.zip",
224-
sha256 = "e910233cc746230abb5d9c855a191fceee0729e299ac15cb562260be302fa64b",
223+
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/mac-x64/chrome-mac-x64.zip",
224+
sha256 = "d8693a6568fdd1f12ff2bd5628fdc7f176a3307c86fe092e142a3778e1689508",
225225
strip_prefix = "chrome-mac-x64",
226226
patch_cmds = [
227227
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -241,8 +241,8 @@ js_library(
241241
)
242242
http_archive(
243243
name = "linux_chromedriver",
244-
url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/linux64/chromedriver-linux64.zip",
245-
sha256 = "b5940d93d97da3d98dba0d4f5a67246b839a8e5634d69a6d625d0ad54bed8bb2",
244+
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/linux64/chromedriver-linux64.zip",
245+
sha256 = "671545731e0b98fc1dc452005ee32af4ade0b9e9e6d1f684edbdcaec69c3e438",
246246
strip_prefix = "chromedriver-linux64",
247247
build_file_content = """
248248
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -259,8 +259,8 @@ js_library(
259259

260260
http_archive(
261261
name = "mac_chromedriver",
262-
url = "https://storage.googleapis.com/chrome-for-testing-public/139.0.7258.138/mac-x64/chromedriver-mac-x64.zip",
263-
sha256 = "c6e2a630d72e0017649d54f29a93caa617fac0f846c23b2bd6494d8fe92e4479",
262+
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.82/mac-x64/chromedriver-mac-x64.zip",
263+
sha256 = "f7a3ee24168916d12c3bc597aa8514feb0e306a59d5c9f83920869e4764a2307",
264264
strip_prefix = "chromedriver-mac-x64",
265265
build_file_content = """
266266
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -277,8 +277,8 @@ js_library(
277277

278278
http_archive(
279279
name = "linux_beta_chrome",
280-
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/linux64/chrome-linux64.zip",
281-
sha256 = "d2371e5f2ea9cf349a48103ff8c95e83f0ec6a97ff5e7dad951fb73096413d1b",
280+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/linux64/chrome-linux64.zip",
281+
sha256 = "bdc9007ff717d4f23572ec4af4a4a8e2d69267585ff57d499ef37cf39f2dd229",
282282
build_file_content = """
283283
load("@aspect_rules_js//js:defs.bzl", "js_library")
284284
package(default_visibility = ["//visibility:public"])
@@ -298,8 +298,8 @@ js_library(
298298
)
299299
http_archive(
300300
name = "mac_beta_chrome",
301-
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/mac-x64/chrome-mac-x64.zip",
302-
sha256 = "1eeec20838e918be14b6f5d4773fa3a1afedd8e81ff20611a59e0d54c5c3fb3d",
301+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/mac-x64/chrome-mac-x64.zip",
302+
sha256 = "f6b92982039152b6b52e9f39e6591016d66afb7a0252f3c0a09da12bc7431db1",
303303
strip_prefix = "chrome-mac-x64",
304304
patch_cmds = [
305305
"mv 'Google Chrome for Testing.app' Chrome.app",
@@ -319,8 +319,8 @@ js_library(
319319
)
320320
http_archive(
321321
name = "linux_beta_chromedriver",
322-
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/linux64/chromedriver-linux64.zip",
323-
sha256 = "a908e9d9bf547c5b2d73e441d18ba16a0ee8a980c0ad8a0aaf9c3b42d03f5569",
322+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/linux64/chromedriver-linux64.zip",
323+
sha256 = "c325fbbe40d0dd508233a6bf496819c2ba6e00a4576b9820638c9a85dc5ad2d6",
324324
strip_prefix = "chromedriver-linux64",
325325
build_file_content = """
326326
load("@aspect_rules_js//js:defs.bzl", "js_library")
@@ -337,8 +337,8 @@ js_library(
337337

338338
http_archive(
339339
name = "mac_beta_chromedriver",
340-
url = "https://storage.googleapis.com/chrome-for-testing-public/140.0.7339.24/mac-x64/chromedriver-mac-x64.zip",
341-
sha256 = "1b785a93d4dd848942064268428ca186a122d6a64c5aaf7fe2c6c8b1debcb34f",
340+
url = "https://storage.googleapis.com/chrome-for-testing-public/141.0.7390.16/mac-x64/chromedriver-mac-x64.zip",
341+
sha256 = "76b7a6239d4d32f2ef75e0a1d6749b7de89dbe14589ffdd3b3c5bf7c32efbaf6",
342342
strip_prefix = "chromedriver-mac-x64",
343343
build_file_content = """
344344
load("@aspect_rules_js//js:defs.bzl", "js_library")

java/src/org/openqa/selenium/manager/SeleniumManager.java

Lines changed: 23 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,9 @@
1616
// under the License.
1717
package org.openqa.selenium.manager;
1818

19+
import static java.nio.file.StandardCopyOption.REPLACE_EXISTING;
20+
import static java.util.Objects.requireNonNull;
21+
import static java.util.UUID.randomUUID;
1922
import static org.openqa.selenium.Platform.LINUX;
2023
import static org.openqa.selenium.Platform.MAC;
2124
import static org.openqa.selenium.Platform.UNIX;
@@ -213,11 +216,12 @@ private synchronized Path getBinary() {
213216
}
214217

215218
binary = getBinaryInCache(SELENIUM_MANAGER + extension);
216-
if (!binary.toFile().exists()) {
219+
if (!Files.exists(binary)) {
217220
String binaryPathInJar = String.format("%s/%s%s", folder, SELENIUM_MANAGER, extension);
218-
try (InputStream inputStream = this.getClass().getResourceAsStream(binaryPathInJar)) {
221+
try (InputStream inputStream =
222+
requireNonNull(getClass().getResourceAsStream(binaryPathInJar))) {
219223
Files.createDirectories(binary.getParent());
220-
Files.copy(inputStream, binary);
224+
saveToFileSafely(inputStream, binary);
221225
}
222226
}
223227
} catch (Exception e) {
@@ -233,6 +237,22 @@ private synchronized Path getBinary() {
233237
return binary;
234238
}
235239

240+
/**
241+
* Protect from concurrency issue when executed by 2+ processes simultaneously. Every process sees
242+
* the file created by another process only when the file is fully completed.
243+
*/
244+
private void saveToFileSafely(InputStream inputStream, Path target) throws IOException {
245+
Path temporaryFile = target.resolveSibling(target.getFileName() + "." + randomUUID() + ".tmp");
246+
Files.copy(inputStream, temporaryFile);
247+
try {
248+
if (!Files.exists(target)) {
249+
Files.move(temporaryFile, target, REPLACE_EXISTING);
250+
}
251+
} finally {
252+
Files.deleteIfExists(temporaryFile);
253+
}
254+
}
255+
236256
/**
237257
* Executes Selenium Manager to get the locations of the requested assets
238258
*

multitool.lock.json

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -4,41 +4,41 @@
44
"binaries": [
55
{
66
"kind": "archive",
7-
"url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-aarch64-unknown-linux-musl.tar.gz",
7+
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-aarch64-unknown-linux-musl.tar.gz",
88
"file": "ruff-aarch64-unknown-linux-musl/ruff",
9-
"sha256": "10b43a88fb948aaae538ec9f35e93b4433f144d0379fb3a67d88282595b969f7",
9+
"sha256": "bdee6f1376470b74b1dc5ed48eca52ec9c3e4512bd7f3204e0df100f0bed4741",
1010
"os": "linux",
1111
"cpu": "arm64"
1212
},
1313
{
1414
"kind": "archive",
15-
"url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-unknown-linux-musl.tar.gz",
15+
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-unknown-linux-musl.tar.gz",
1616
"file": "ruff-x86_64-unknown-linux-musl/ruff",
17-
"sha256": "dd4e5b8f81547a48975489913a80e0dce6be7f1c455912fe3a5bd5a1f5f1a35d",
17+
"sha256": "b56ac90cc6987401bafdcf1b931ef044074c5b9451286afa4606a983f64f4fdd",
1818
"os": "linux",
1919
"cpu": "x86_64"
2020
},
2121
{
2222
"kind": "archive",
23-
"url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-aarch64-apple-darwin.tar.gz",
23+
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-aarch64-apple-darwin.tar.gz",
2424
"file": "ruff-aarch64-apple-darwin/ruff",
25-
"sha256": "72c6abf39f5e87c57faa2d191baf2582e437ff72cdc0f52b7c7e50f26d41b807",
25+
"sha256": "0d706798534537b6655b79fd95c2955c0a0013d4c54d36679d3306825a6bd6aa",
2626
"os": "macos",
2727
"cpu": "arm64"
2828
},
2929
{
3030
"kind": "archive",
31-
"url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-apple-darwin.tar.gz",
31+
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-apple-darwin.tar.gz",
3232
"file": "ruff-x86_64-apple-darwin/ruff",
33-
"sha256": "8619f277921b3e2e56d850c3e203fd4ef10b457bc50f93ab6fe85743eb324de6",
33+
"sha256": "ac47ad1ac90f3070c064d2f5fceef4fe609fec7c073fd29d0814ed126c492e6d",
3434
"os": "macos",
3535
"cpu": "x86_64"
3636
},
3737
{
3838
"kind": "archive",
39-
"url": "https://github.com/astral-sh/ruff/releases/download/0.12.10/ruff-x86_64-pc-windows-msvc.zip",
39+
"url": "https://github.com/astral-sh/ruff/releases/download/0.13.0/ruff-x86_64-pc-windows-msvc.zip",
4040
"file": "ruff-x86_64-pc-windows-msvc/ruff.exe",
41-
"sha256": "a639e4dee10cb2900bffa7165457766671c59c744ce6b61cc658c35ab33a91fd",
41+
"sha256": "3a8d8cb96333671f78a5d209ddb4f830287e3eb2796fe01dd043b02ec1c1c7f1",
4242
"os": "windows",
4343
"cpu": "x86_64"
4444
}

py/docs/source/api.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -96,6 +96,7 @@ webdriver.common.bidi
9696
selenium.webdriver.common.bidi.common
9797
selenium.webdriver.common.bidi.console
9898
selenium.webdriver.common.bidi.emulation
99+
selenium.webdriver.common.bidi.input
99100
selenium.webdriver.common.bidi.log
100101
selenium.webdriver.common.bidi.network
101102
selenium.webdriver.common.bidi.permissions

py/requirements.txt

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
attrs==25.3.0
2-
cachetools==6.1.0
2+
cachetools==6.2.0
33
certifi==2025.8.3
4-
cffi==1.17.1
4+
cffi==2.0.0
55
chardet==5.2.0
66
charset-normalizer==3.4.3
77
colorama==0.4.6
8-
cryptography==45.0.6
8+
cryptography==45.0.7
99
debugpy==1.8.16
1010
distlib==0.4.0
1111
docutils==0.21.2
@@ -24,21 +24,21 @@ jeepney==0.9.0
2424
keyring==25.6.0
2525
markdown-it-py==3.0.0
2626
mdurl==0.1.2
27-
more-itertools==10.7.0
27+
more-itertools==10.8.0
2828
multidict==6.6.4
2929
nh3==0.3.0
3030
outcome==1.3.0.post0
3131
packaging==25.0
32-
platformdirs==4.3.8
32+
platformdirs==4.4.0
3333
pluggy==1.6.0
3434
py==1.11.0
35-
pycparser==2.22
35+
pycparser==2.23
3636
Pygments==2.19.2
3737
pyproject-api==1.9.1
3838
PySocks==1.7.1
39-
pytest==8.4.1
39+
pytest==8.4.2
4040
pytest-instafail==0.5.0
41-
pytest-mock==3.14.1
41+
pytest-mock==3.15.0
4242
pytest-trio==0.8.0
4343
pywin32-ctypes==0.2.3
4444
readme_renderer==44.0
@@ -49,11 +49,11 @@ rich==14.1.0
4949
SecretStorage==3.3.3
5050
sniffio==1.3.1
5151
sortedcontainers==2.4.0
52-
tox==4.28.4
53-
trio==0.30.0
52+
tox==4.30.2
53+
trio==0.31.0
5454
trio-websocket==0.12.2
55-
twine==6.1.0
56-
typing_extensions==4.14.1
55+
twine==6.2.0
56+
typing_extensions==4.15.0
5757
urllib3[socks]==2.5.0
5858
virtualenv==20.34.0
5959
websocket-client==1.8.0

0 commit comments

Comments
 (0)