selenium-webdriver 4.50.0 → 4.51.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 6abb249946ad60b44eea0ae78e98b06204b16b8eca30dd80e3e487ba98a63740
4
- data.tar.gz: 05cd0f95848eef6706ef999251f49ba32a4f0d0635e7c431b09929adda8de9db
3
+ metadata.gz: 765310e83c187b74431dc17938fe07e651840e77b5e41ac5ca2cc72857766f22
4
+ data.tar.gz: 8ae793ce3178abcbc6b05db5d67f67a9a3e88f9f5cfb4462e231ba9db8f86b5e
5
5
  SHA512:
6
- metadata.gz: 3ca677496419b36e433d0606c89451e23a04ba53e24d93fb26823b9c3600d85aec0a2e4d9f4d8a31e37032fd8bbf2af83f8847ad1ecad1c5d4d6169067b3144c
7
- data.tar.gz: fe98792350bb8c1101fcdc02b2c9eb0be1c4d1d73b72327883ec049b5d0465506ac9f4936dc59933d4f28724d47052ac278f8353119ff2ffceb25517d0c12313
6
+ metadata.gz: c3598a8f995410151be4610e6dff87bcf0a07b668323077b81854fd47b0dacc92aab3206d53c964732ee9e4f2da9c004bc162c806737cfa5cfa6614f17e46d5a
7
+ data.tar.gz: 4f4228f742069110ea18d80d5636cd8502b24ace97b8fe2af22b26e2fce6acbc96cde5740fa60213ceae5c01c5d480bb013aad7b691f5edded95cae10630b3d8
data/CHANGES CHANGED
@@ -1,3 +1,10 @@
1
+ 4.51.0 (2026-10-09)
2
+ =========================
3
+ * Support CDP versions: v153, v154, v155
4
+ * [build] Automated CDDL Spec Update (#18118)
5
+ * type a field-less synthetic map record as a validated map (#18121)
6
+ * [build] Automated Browser Version Update (major) with CDP (#18131)
7
+
1
8
  4.50.0 (2026-09-30)
2
9
  =========================
3
10
  * Support CDP versions: v152, v153, v154
Binary file
Binary file
Binary file
@@ -16,7 +16,7 @@ Apache License 2.0
16
16
  ================================================================================
17
17
 
18
18
  Used by:
19
- - selenium-manager 0.4.50
19
+ - selenium-manager 0.4.51
20
20
 
21
21
 
22
22
  Apache License
@@ -1580,7 +1580,7 @@ MIT License
1580
1580
 
1581
1581
  Used by:
1582
1582
  - bzip2 0.4.4
1583
- - cc 1.5.1
1583
+ - cc 1.6.0
1584
1584
  - cfg-if 1.0.5
1585
1585
  - filetime 0.2.29
1586
1586
  - find-msvc-tools 0.1.14
@@ -1662,7 +1662,7 @@ MIT License
1662
1662
  ================================================================================
1663
1663
 
1664
1664
  Used by:
1665
- - mio 1.2.3
1665
+ - mio 1.2.4
1666
1666
 
1667
1667
  Copyright (c) 2014 Carl Lerche and other MIO contributors
1668
1668
 
@@ -1763,7 +1763,7 @@ MIT License
1763
1763
  ================================================================================
1764
1764
 
1765
1765
  Used by:
1766
- - uuid 1.26.1
1766
+ - uuid 1.27.0
1767
1767
 
1768
1768
  Copyright (c) 2014 The Rust Project Developers
1769
1769
  Copyright (c) 2018 Ashley Mannix, Christopher Armstrong, Dylan DPC, Hunar Roop Kahlon
@@ -3764,7 +3764,7 @@ MIT License
3764
3764
  ================================================================================
3765
3765
 
3766
3766
  Used by:
3767
- - libc 0.2.189
3767
+ - libc 0.2.190
3768
3768
 
3769
3769
  Copyright (c) The Rust Project Developers
3770
3770
 
@@ -4501,7 +4501,7 @@ MIT License
4501
4501
  ================================================================================
4502
4502
 
4503
4503
  Used by:
4504
- - tokio 1.53.1
4504
+ - tokio 1.53.2
4505
4505
 
4506
4506
  MIT License
4507
4507
 
@@ -2,9 +2,9 @@
2
2
  "bomFormat": "CycloneDX",
3
3
  "specVersion": "1.3",
4
4
  "version": 1,
5
- "serialNumber": "urn:uuid:5c76922e-5d6a-440d-9897-25d6edeb8b8c",
5
+ "serialNumber": "urn:uuid:81b1e6c2-f1d8-4ccd-801b-870e4f89b057",
6
6
  "metadata": {
7
- "timestamp": "2026-09-30T19:00:19.972588643Z",
7
+ "timestamp": "2026-10-09T17:42:05.782962369Z",
8
8
  "tools": [
9
9
  {
10
10
  "vendor": "CycloneDX",
@@ -19,10 +19,10 @@
19
19
  ],
20
20
  "component": {
21
21
  "type": "application",
22
- "bom-ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.50",
22
+ "bom-ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.51",
23
23
  "author": "Selenium <selenium-developers@googlegroups.com",
24
24
  "name": "selenium-manager",
25
- "version": "0.4.50",
25
+ "version": "0.4.51",
26
26
  "description": "Selenium Manager is a CLI tool that automatically manages the browser/driver resources required by Selenium. ",
27
27
  "scope": "required",
28
28
  "licenses": [
@@ -30,7 +30,7 @@
30
30
  "expression": "Apache-2.0"
31
31
  }
32
32
  ],
33
- "purl": "pkg:cargo/selenium-manager@0.4.50?download_url=file://.",
33
+ "purl": "pkg:cargo/selenium-manager@0.4.51?download_url=file://.",
34
34
  "externalReferences": [
35
35
  {
36
36
  "type": "documentation",
@@ -48,17 +48,17 @@
48
48
  "components": [
49
49
  {
50
50
  "type": "library",
51
- "bom-ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.50 bin-target-0",
51
+ "bom-ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.51 bin-target-0",
52
52
  "name": "selenium_manager",
53
- "version": "0.4.50",
54
- "purl": "pkg:cargo/selenium-manager@0.4.50?download_url=file://.#src/lib.rs"
53
+ "version": "0.4.51",
54
+ "purl": "pkg:cargo/selenium-manager@0.4.51?download_url=file://.#src/lib.rs"
55
55
  },
56
56
  {
57
57
  "type": "application",
58
- "bom-ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.50 bin-target-1",
58
+ "bom-ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.51 bin-target-1",
59
59
  "name": "selenium-manager",
60
- "version": "0.4.50",
61
- "purl": "pkg:cargo/selenium-manager@0.4.50?download_url=file://.#src/main.rs"
60
+ "version": "0.4.51",
61
+ "purl": "pkg:cargo/selenium-manager@0.4.51?download_url=file://.#src/main.rs"
62
62
  }
63
63
  ]
64
64
  },
@@ -1008,15 +1008,15 @@
1008
1008
  },
1009
1009
  {
1010
1010
  "type": "library",
1011
- "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1",
1011
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0",
1012
1012
  "name": "cc",
1013
- "version": "1.5.1",
1013
+ "version": "1.6.0",
1014
1014
  "description": "A build-time dependency for Cargo build scripts to assist in invoking the native C compiler to compile native C code into a static archive to be linked into Rust code. ",
1015
1015
  "scope": "excluded",
1016
1016
  "hashes": [
1017
1017
  {
1018
1018
  "alg": "SHA-256",
1019
- "content": "f360145194ee8e21db5ee7f3fcd4fe52210864c75c985dae33218202c8bbe040"
1019
+ "content": "f74872d07caf508b30a21f6836e7d7016a2eaf7d9ff4f48deaa58cd8a0407630"
1020
1020
  }
1021
1021
  ],
1022
1022
  "licenses": [
@@ -1024,7 +1024,7 @@
1024
1024
  "expression": "MIT OR Apache-2.0"
1025
1025
  }
1026
1026
  ],
1027
- "purl": "pkg:cargo/cc@1.5.1",
1027
+ "purl": "pkg:cargo/cc@1.6.0",
1028
1028
  "externalReferences": [
1029
1029
  {
1030
1030
  "type": "documentation",
@@ -3927,15 +3927,15 @@
3927
3927
  },
3928
3928
  {
3929
3929
  "type": "library",
3930
- "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
3930
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
3931
3931
  "name": "libc",
3932
- "version": "0.2.189",
3932
+ "version": "0.2.190",
3933
3933
  "description": "Raw FFI bindings to platform libraries like libc.",
3934
3934
  "scope": "required",
3935
3935
  "hashes": [
3936
3936
  {
3937
3937
  "alg": "SHA-256",
3938
- "content": "3eaf3ede3fee6db1a4c2ee091bf8a8b4dccdc6d17f656fb07896ee72867612f2"
3938
+ "content": "ce5d3ddc6d3fa000eb1536d85e147bfe31aacaba692ed6a876f95cb7c855be78"
3939
3939
  }
3940
3940
  ],
3941
3941
  "licenses": [
@@ -3943,7 +3943,7 @@
3943
3943
  "expression": "MIT OR Apache-2.0"
3944
3944
  }
3945
3945
  ],
3946
- "purl": "pkg:cargo/libc@0.2.189",
3946
+ "purl": "pkg:cargo/libc@0.2.190",
3947
3947
  "externalReferences": [
3948
3948
  {
3949
3949
  "type": "vcs",
@@ -4270,16 +4270,16 @@
4270
4270
  },
4271
4271
  {
4272
4272
  "type": "library",
4273
- "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.3",
4273
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.4",
4274
4274
  "author": "Carl Lerche <me@carllerche.com>, Thomas de Zeeuw <thomasdezeeuw@gmail.com>, Tokio Contributors <team@tokio.rs>",
4275
4275
  "name": "mio",
4276
- "version": "1.2.3",
4276
+ "version": "1.2.4",
4277
4277
  "description": "Lightweight non-blocking I/O.",
4278
4278
  "scope": "required",
4279
4279
  "hashes": [
4280
4280
  {
4281
4281
  "alg": "SHA-256",
4282
- "content": "4b18443e9c262bfe8fa82f51666e2642c53393f7e5c27b3e1aeab922cff5b9d8"
4282
+ "content": "1788edb87fdc09c7e26304471e2f5be8cdefb1b6930d6e3985fc02ff53bf86ee"
4283
4283
  }
4284
4284
  ],
4285
4285
  "licenses": [
@@ -4287,7 +4287,7 @@
4287
4287
  "expression": "MIT"
4288
4288
  }
4289
4289
  ],
4290
- "purl": "pkg:cargo/mio@1.2.3",
4290
+ "purl": "pkg:cargo/mio@1.2.4",
4291
4291
  "externalReferences": [
4292
4292
  {
4293
4293
  "type": "website",
@@ -7161,16 +7161,16 @@
7161
7161
  },
7162
7162
  {
7163
7163
  "type": "library",
7164
- "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
7164
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
7165
7165
  "author": "Tokio Contributors <team@tokio.rs>",
7166
7166
  "name": "tokio",
7167
- "version": "1.53.1",
7167
+ "version": "1.53.2",
7168
7168
  "description": "An event-driven, non-blocking I/O platform for writing asynchronous I/O backed applications. ",
7169
7169
  "scope": "required",
7170
7170
  "hashes": [
7171
7171
  {
7172
7172
  "alg": "SHA-256",
7173
- "content": "202caea871b69668250d242070849eb495be178ed697a3e98aebce5bc81a0bed"
7173
+ "content": "e95f91fcc7a621e8b030f6aa23c71fe9838ae2fb4d8118b75602a328f5144044"
7174
7174
  }
7175
7175
  ],
7176
7176
  "licenses": [
@@ -7178,7 +7178,7 @@
7178
7178
  "expression": "MIT"
7179
7179
  }
7180
7180
  ],
7181
- "purl": "pkg:cargo/tokio@1.53.1",
7181
+ "purl": "pkg:cargo/tokio@1.53.2",
7182
7182
  "externalReferences": [
7183
7183
  {
7184
7184
  "type": "website",
@@ -7745,16 +7745,16 @@
7745
7745
  },
7746
7746
  {
7747
7747
  "type": "library",
7748
- "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#uuid@1.26.1",
7748
+ "bom-ref": "registry+https://github.com/rust-lang/crates.io-index#uuid@1.27.0",
7749
7749
  "author": "Ashley Mannix<ashleymannix@live.com.au>, Dylan DPC<dylan.dpc@gmail.com>, Hunar Roop Kahlon<hunar.roop@gmail.com>",
7750
7750
  "name": "uuid",
7751
- "version": "1.26.1",
7751
+ "version": "1.27.0",
7752
7752
  "description": "A library to generate and parse UUIDs.",
7753
7753
  "scope": "required",
7754
7754
  "hashes": [
7755
7755
  {
7756
7756
  "alg": "SHA-256",
7757
- "content": "2ef6dac1e96601b4fb3acccccff2139741fcb757cb9a36089bf5be91cfb285ce"
7757
+ "content": "97277d36b9c3ace13e58fa6e753f8b0bbbf302a18dd193240d70f9e29681059a"
7758
7758
  }
7759
7759
  ],
7760
7760
  "licenses": [
@@ -7762,7 +7762,7 @@
7762
7762
  "expression": "Apache-2.0 OR MIT"
7763
7763
  }
7764
7764
  ],
7765
- "purl": "pkg:cargo/uuid@1.26.1",
7765
+ "purl": "pkg:cargo/uuid@1.27.0",
7766
7766
  "externalReferences": [
7767
7767
  {
7768
7768
  "type": "documentation",
@@ -9507,7 +9507,7 @@
9507
9507
  ],
9508
9508
  "dependencies": [
9509
9509
  {
9510
- "ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.50",
9510
+ "ref": "path+file:///home/runner/work/selenium/selenium/rust#selenium-manager@0.4.51",
9511
9511
  "dependsOn": [
9512
9512
  "registry+https://github.com/rust-lang/crates.io-index#anyhow@1.0.104",
9513
9513
  "registry+https://github.com/rust-lang/crates.io-index#apple-flat-package@0.20.0",
@@ -9530,7 +9530,7 @@
9530
9530
  "registry+https://github.com/rust-lang/crates.io-index#sevenz-rust@0.6.1",
9531
9531
  "registry+https://github.com/rust-lang/crates.io-index#tar@0.4.46",
9532
9532
  "registry+https://github.com/rust-lang/crates.io-index#tempfile@3.27.0",
9533
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
9533
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
9534
9534
  "registry+https://github.com/rust-lang/crates.io-index#toml@1.1.6+spec-1.1.0",
9535
9535
  "registry+https://github.com/rust-lang/crates.io-index#walkdir@2.5.0",
9536
9536
  "registry+https://github.com/rust-lang/crates.io-index#which@8.0.6",
@@ -9552,7 +9552,7 @@
9552
9552
  {
9553
9553
  "ref": "registry+https://github.com/rust-lang/crates.io-index#android_system_properties@0.1.6",
9554
9554
  "dependsOn": [
9555
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
9555
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
9556
9556
  ]
9557
9557
  },
9558
9558
  {
@@ -9708,7 +9708,7 @@
9708
9708
  {
9709
9709
  "ref": "registry+https://github.com/rust-lang/crates.io-index#bzip2-sys@0.1.13+1.0.8",
9710
9710
  "dependsOn": [
9711
- "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1",
9711
+ "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0",
9712
9712
  "registry+https://github.com/rust-lang/crates.io-index#pkg-config@0.3.34"
9713
9713
  ]
9714
9714
  },
@@ -9716,7 +9716,7 @@
9716
9716
  "ref": "registry+https://github.com/rust-lang/crates.io-index#bzip2@0.4.4",
9717
9717
  "dependsOn": [
9718
9718
  "registry+https://github.com/rust-lang/crates.io-index#bzip2-sys@0.1.13+1.0.8",
9719
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
9719
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
9720
9720
  ]
9721
9721
  },
9722
9722
  {
@@ -9726,11 +9726,11 @@
9726
9726
  ]
9727
9727
  },
9728
9728
  {
9729
- "ref": "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1",
9729
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0",
9730
9730
  "dependsOn": [
9731
9731
  "registry+https://github.com/rust-lang/crates.io-index#find-msvc-tools@0.1.14",
9732
9732
  "registry+https://github.com/rust-lang/crates.io-index#jobserver@0.1.35",
9733
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
9733
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
9734
9734
  "registry+https://github.com/rust-lang/crates.io-index#shlex@2.0.1"
9735
9735
  ]
9736
9736
  },
@@ -9739,7 +9739,7 @@
9739
9739
  "dependsOn": [
9740
9740
  "registry+https://github.com/rust-lang/crates.io-index#byteorder@1.5.0",
9741
9741
  "registry+https://github.com/rust-lang/crates.io-index#fnv@1.0.7",
9742
- "registry+https://github.com/rust-lang/crates.io-index#uuid@1.26.1"
9742
+ "registry+https://github.com/rust-lang/crates.io-index#uuid@1.27.0"
9743
9743
  ]
9744
9744
  },
9745
9745
  {
@@ -9821,7 +9821,7 @@
9821
9821
  "ref": "registry+https://github.com/rust-lang/crates.io-index#core-foundation@0.10.1",
9822
9822
  "dependsOn": [
9823
9823
  "registry+https://github.com/rust-lang/crates.io-index#core-foundation-sys@0.8.7",
9824
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
9824
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
9825
9825
  ]
9826
9826
  },
9827
9827
  {
@@ -9836,13 +9836,13 @@
9836
9836
  {
9837
9837
  "ref": "registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.2.17",
9838
9838
  "dependsOn": [
9839
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
9839
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
9840
9840
  ]
9841
9841
  },
9842
9842
  {
9843
9843
  "ref": "registry+https://github.com/rust-lang/crates.io-index#cpufeatures@0.3.1",
9844
9844
  "dependsOn": [
9845
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
9845
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
9846
9846
  ]
9847
9847
  },
9848
9848
  {
@@ -9946,7 +9946,7 @@
9946
9946
  {
9947
9947
  "ref": "registry+https://github.com/rust-lang/crates.io-index#dirs-sys@0.5.0",
9948
9948
  "dependsOn": [
9949
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
9949
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
9950
9950
  "registry+https://github.com/rust-lang/crates.io-index#option-ext@0.2.0",
9951
9951
  "registry+https://github.com/rust-lang/crates.io-index#redox_users@0.5.3",
9952
9952
  "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.61.2"
@@ -9984,7 +9984,7 @@
9984
9984
  {
9985
9985
  "ref": "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.14",
9986
9986
  "dependsOn": [
9987
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
9987
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
9988
9988
  "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.61.2"
9989
9989
  ]
9990
9990
  },
@@ -10000,7 +10000,7 @@
10000
10000
  "ref": "registry+https://github.com/rust-lang/crates.io-index#filetime@0.2.29",
10001
10001
  "dependsOn": [
10002
10002
  "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.5",
10003
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
10003
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
10004
10004
  ]
10005
10005
  },
10006
10006
  {
@@ -10036,7 +10036,7 @@
10036
10036
  {
10037
10037
  "ref": "registry+https://github.com/rust-lang/crates.io-index#fs2@0.4.3",
10038
10038
  "dependsOn": [
10039
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10039
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10040
10040
  "registry+https://github.com/rust-lang/crates.io-index#winapi@0.3.9"
10041
10041
  ]
10042
10042
  },
@@ -10091,7 +10091,7 @@
10091
10091
  "dependsOn": [
10092
10092
  "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.5",
10093
10093
  "registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.106",
10094
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10094
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10095
10095
  "registry+https://github.com/rust-lang/crates.io-index#wasi@0.11.1+wasi-snapshot-preview1",
10096
10096
  "registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen@0.2.129"
10097
10097
  ]
@@ -10101,7 +10101,7 @@
10101
10101
  "dependsOn": [
10102
10102
  "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.5",
10103
10103
  "registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.106",
10104
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10104
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10105
10105
  "registry+https://github.com/rust-lang/crates.io-index#r-efi@6.0.0",
10106
10106
  "registry+https://github.com/rust-lang/crates.io-index#rand_core@0.10.1",
10107
10107
  "registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen@0.2.129"
@@ -10158,7 +10158,7 @@
10158
10158
  "registry+https://github.com/rust-lang/crates.io-index#hyper@1.11.1",
10159
10159
  "registry+https://github.com/rust-lang/crates.io-index#hyper-util@0.1.21",
10160
10160
  "registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.45",
10161
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
10161
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
10162
10162
  "registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.6",
10163
10163
  "registry+https://github.com/rust-lang/crates.io-index#tower-service@0.3.3",
10164
10164
  "registry+https://github.com/rust-lang/crates.io-index#webpki-roots@1.0.9"
@@ -10176,11 +10176,11 @@
10176
10176
  "registry+https://github.com/rust-lang/crates.io-index#httparse@1.10.1",
10177
10177
  "registry+https://github.com/rust-lang/crates.io-index#hyper@1.11.1",
10178
10178
  "registry+https://github.com/rust-lang/crates.io-index#ipnet@2.12.2",
10179
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10179
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10180
10180
  "registry+https://github.com/rust-lang/crates.io-index#percent-encoding@2.3.2",
10181
10181
  "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
10182
10182
  "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.5",
10183
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
10183
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
10184
10184
  "registry+https://github.com/rust-lang/crates.io-index#tower-service@0.3.3",
10185
10185
  "registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44"
10186
10186
  ]
@@ -10198,14 +10198,14 @@
10198
10198
  "registry+https://github.com/rust-lang/crates.io-index#itoa@1.0.18",
10199
10199
  "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
10200
10200
  "registry+https://github.com/rust-lang/crates.io-index#smallvec@1.16.2",
10201
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
10201
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
10202
10202
  "registry+https://github.com/rust-lang/crates.io-index#want@0.3.1"
10203
10203
  ]
10204
10204
  },
10205
10205
  {
10206
10206
  "ref": "registry+https://github.com/rust-lang/crates.io-index#iana-time-zone-haiku@0.1.2",
10207
10207
  "dependsOn": [
10208
- "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1"
10208
+ "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0"
10209
10209
  ]
10210
10210
  },
10211
10211
  {
@@ -10412,7 +10412,7 @@
10412
10412
  "ref": "registry+https://github.com/rust-lang/crates.io-index#jobserver@0.1.35",
10413
10413
  "dependsOn": [
10414
10414
  "registry+https://github.com/rust-lang/crates.io-index#getrandom@0.4.3",
10415
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
10415
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
10416
10416
  ]
10417
10417
  },
10418
10418
  {
@@ -10428,13 +10428,13 @@
10428
10428
  "dependsOn": []
10429
10429
  },
10430
10430
  {
10431
- "ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10431
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10432
10432
  "dependsOn": []
10433
10433
  },
10434
10434
  {
10435
10435
  "ref": "registry+https://github.com/rust-lang/crates.io-index#libredox@0.1.25",
10436
10436
  "dependsOn": [
10437
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
10437
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
10438
10438
  ]
10439
10439
  },
10440
10440
  {
@@ -10462,8 +10462,8 @@
10462
10462
  {
10463
10463
  "ref": "registry+https://github.com/rust-lang/crates.io-index#lzma-sys@0.1.20",
10464
10464
  "dependsOn": [
10465
- "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1",
10466
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10465
+ "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0",
10466
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10467
10467
  "registry+https://github.com/rust-lang/crates.io-index#pkg-config@0.3.34"
10468
10468
  ]
10469
10469
  },
@@ -10486,9 +10486,9 @@
10486
10486
  ]
10487
10487
  },
10488
10488
  {
10489
- "ref": "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.3",
10489
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.4",
10490
10490
  "dependsOn": [
10491
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10491
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10492
10492
  "registry+https://github.com/rust-lang/crates.io-index#wasi@0.11.1+wasi-snapshot-preview1",
10493
10493
  "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.61.2"
10494
10494
  ]
@@ -10600,7 +10600,7 @@
10600
10600
  "ref": "registry+https://github.com/rust-lang/crates.io-index#quinn-udp@0.5.16",
10601
10601
  "dependsOn": [
10602
10602
  "registry+https://github.com/rust-lang/crates.io-index#cfg_aliases@0.2.2",
10603
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10603
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10604
10604
  "registry+https://github.com/rust-lang/crates.io-index#once_cell@1.21.4",
10605
10605
  "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.5",
10606
10606
  "registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44",
@@ -10619,7 +10619,7 @@
10619
10619
  "registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.45",
10620
10620
  "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.5",
10621
10621
  "registry+https://github.com/rust-lang/crates.io-index#thiserror@2.0.21",
10622
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
10622
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
10623
10623
  "registry+https://github.com/rust-lang/crates.io-index#tracing@0.1.44",
10624
10624
  "registry+https://github.com/rust-lang/crates.io-index#web-time@1.1.0"
10625
10625
  ]
@@ -10645,7 +10645,7 @@
10645
10645
  {
10646
10646
  "ref": "registry+https://github.com/rust-lang/crates.io-index#rand@0.8.8",
10647
10647
  "dependsOn": [
10648
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10648
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10649
10649
  "registry+https://github.com/rust-lang/crates.io-index#rand_chacha@0.3.1",
10650
10650
  "registry+https://github.com/rust-lang/crates.io-index#rand_core@0.6.4"
10651
10651
  ]
@@ -10726,7 +10726,7 @@
10726
10726
  "registry+https://github.com/rust-lang/crates.io-index#serde_json@1.0.151",
10727
10727
  "registry+https://github.com/rust-lang/crates.io-index#serde_urlencoded@0.7.1",
10728
10728
  "registry+https://github.com/rust-lang/crates.io-index#sync_wrapper@1.0.2",
10729
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
10729
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
10730
10730
  "registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.6",
10731
10731
  "registry+https://github.com/rust-lang/crates.io-index#tower@0.5.3",
10732
10732
  "registry+https://github.com/rust-lang/crates.io-index#tower-http@0.6.11",
@@ -10758,7 +10758,7 @@
10758
10758
  "registry+https://github.com/rust-lang/crates.io-index#rustls-pki-types@1.15.1",
10759
10759
  "registry+https://github.com/rust-lang/crates.io-index#rustls-platform-verifier@0.7.1",
10760
10760
  "registry+https://github.com/rust-lang/crates.io-index#sync_wrapper@1.0.2",
10761
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
10761
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
10762
10762
  "registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.6",
10763
10763
  "registry+https://github.com/rust-lang/crates.io-index#tower@0.5.3",
10764
10764
  "registry+https://github.com/rust-lang/crates.io-index#tower-http@0.6.11",
@@ -10772,10 +10772,10 @@
10772
10772
  {
10773
10773
  "ref": "registry+https://github.com/rust-lang/crates.io-index#ring@0.17.14",
10774
10774
  "dependsOn": [
10775
- "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1",
10775
+ "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0",
10776
10776
  "registry+https://github.com/rust-lang/crates.io-index#cfg-if@1.0.5",
10777
10777
  "registry+https://github.com/rust-lang/crates.io-index#getrandom@0.2.17",
10778
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10778
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10779
10779
  "registry+https://github.com/rust-lang/crates.io-index#untrusted@0.9.0",
10780
10780
  "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.52.0"
10781
10781
  ]
@@ -10795,7 +10795,7 @@
10795
10795
  "dependsOn": [
10796
10796
  "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.2",
10797
10797
  "registry+https://github.com/rust-lang/crates.io-index#errno@0.3.14",
10798
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10798
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10799
10799
  "registry+https://github.com/rust-lang/crates.io-index#linux-raw-sys@0.12.1",
10800
10800
  "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.61.2"
10801
10801
  ]
@@ -10896,7 +10896,7 @@
10896
10896
  "ref": "registry+https://github.com/rust-lang/crates.io-index#security-framework-sys@2.17.0",
10897
10897
  "dependsOn": [
10898
10898
  "registry+https://github.com/rust-lang/crates.io-index#core-foundation-sys@0.8.7",
10899
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
10899
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
10900
10900
  ]
10901
10901
  },
10902
10902
  {
@@ -10905,7 +10905,7 @@
10905
10905
  "registry+https://github.com/rust-lang/crates.io-index#bitflags@2.13.2",
10906
10906
  "registry+https://github.com/rust-lang/crates.io-index#core-foundation@0.10.1",
10907
10907
  "registry+https://github.com/rust-lang/crates.io-index#core-foundation-sys@0.8.7",
10908
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
10908
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
10909
10909
  "registry+https://github.com/rust-lang/crates.io-index#security-framework-sys@2.17.0"
10910
10910
  ]
10911
10911
  },
@@ -11038,7 +11038,7 @@
11038
11038
  {
11039
11039
  "ref": "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.5",
11040
11040
  "dependsOn": [
11041
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
11041
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
11042
11042
  "registry+https://github.com/rust-lang/crates.io-index#windows-sys@0.61.2"
11043
11043
  ]
11044
11044
  },
@@ -11095,7 +11095,7 @@
11095
11095
  "ref": "registry+https://github.com/rust-lang/crates.io-index#tar@0.4.46",
11096
11096
  "dependsOn": [
11097
11097
  "registry+https://github.com/rust-lang/crates.io-index#filetime@0.2.29",
11098
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
11098
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
11099
11099
  "registry+https://github.com/rust-lang/crates.io-index#xattr@1.6.1"
11100
11100
  ]
11101
11101
  },
@@ -11182,15 +11182,15 @@
11182
11182
  "ref": "registry+https://github.com/rust-lang/crates.io-index#tokio-rustls@0.26.6",
11183
11183
  "dependsOn": [
11184
11184
  "registry+https://github.com/rust-lang/crates.io-index#rustls@0.23.45",
11185
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1"
11185
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2"
11186
11186
  ]
11187
11187
  },
11188
11188
  {
11189
- "ref": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
11189
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
11190
11190
  "dependsOn": [
11191
11191
  "registry+https://github.com/rust-lang/crates.io-index#bytes@1.12.1",
11192
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
11193
- "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.3",
11192
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
11193
+ "registry+https://github.com/rust-lang/crates.io-index#mio@1.2.4",
11194
11194
  "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
11195
11195
  "registry+https://github.com/rust-lang/crates.io-index#socket2@0.6.5",
11196
11196
  "registry+https://github.com/rust-lang/crates.io-index#tokio-macros@2.7.2",
@@ -11255,7 +11255,7 @@
11255
11255
  "registry+https://github.com/rust-lang/crates.io-index#futures-util@0.3.34",
11256
11256
  "registry+https://github.com/rust-lang/crates.io-index#pin-project-lite@0.2.17",
11257
11257
  "registry+https://github.com/rust-lang/crates.io-index#sync_wrapper@1.0.2",
11258
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
11258
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
11259
11259
  "registry+https://github.com/rust-lang/crates.io-index#tower-layer@0.3.3",
11260
11260
  "registry+https://github.com/rust-lang/crates.io-index#tower-service@0.3.3"
11261
11261
  ]
@@ -11311,7 +11311,7 @@
11311
11311
  "dependsOn": []
11312
11312
  },
11313
11313
  {
11314
- "ref": "registry+https://github.com/rust-lang/crates.io-index#uuid@1.26.1",
11314
+ "ref": "registry+https://github.com/rust-lang/crates.io-index#uuid@1.27.0",
11315
11315
  "dependsOn": [
11316
11316
  "registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.106",
11317
11317
  "registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen@0.2.129"
@@ -11342,7 +11342,7 @@
11342
11342
  "ref": "registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen-futures@0.4.79",
11343
11343
  "dependsOn": [
11344
11344
  "registry+https://github.com/rust-lang/crates.io-index#js-sys@0.3.106",
11345
- "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.1",
11345
+ "registry+https://github.com/rust-lang/crates.io-index#tokio@1.53.2",
11346
11346
  "registry+https://github.com/rust-lang/crates.io-index#wasm-bindgen@0.2.129"
11347
11347
  ]
11348
11348
  },
@@ -11408,7 +11408,7 @@
11408
11408
  {
11409
11409
  "ref": "registry+https://github.com/rust-lang/crates.io-index#which@8.0.6",
11410
11410
  "dependsOn": [
11411
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189"
11411
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190"
11412
11412
  ]
11413
11413
  },
11414
11414
  {
@@ -11558,7 +11558,7 @@
11558
11558
  {
11559
11559
  "ref": "registry+https://github.com/rust-lang/crates.io-index#xattr@1.6.1",
11560
11560
  "dependsOn": [
11561
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
11561
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
11562
11562
  "registry+https://github.com/rust-lang/crates.io-index#rustix@1.1.5"
11563
11563
  ]
11564
11564
  },
@@ -11687,14 +11687,14 @@
11687
11687
  {
11688
11688
  "ref": "registry+https://github.com/rust-lang/crates.io-index#zstd-safe@5.0.2+zstd.1.5.2",
11689
11689
  "dependsOn": [
11690
- "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.189",
11690
+ "registry+https://github.com/rust-lang/crates.io-index#libc@0.2.190",
11691
11691
  "registry+https://github.com/rust-lang/crates.io-index#zstd-sys@2.1.0+zstd.1.5.7"
11692
11692
  ]
11693
11693
  },
11694
11694
  {
11695
11695
  "ref": "registry+https://github.com/rust-lang/crates.io-index#zstd-sys@2.1.0+zstd.1.5.7",
11696
11696
  "dependsOn": [
11697
- "registry+https://github.com/rust-lang/crates.io-index#cc@1.5.1",
11697
+ "registry+https://github.com/rust-lang/crates.io-index#cc@1.6.0",
11698
11698
  "registry+https://github.com/rust-lang/crates.io-index#pkg-config@0.3.34"
11699
11699
  ]
11700
11700
  },
Binary file
@@ -1,4 +1,5 @@
1
- (function findElements(target, root) {
1
+ (function () {
2
+ function findElements(target, root) {
2
3
  const INVALID_SELECTOR = 'invalid selector';
3
4
  const INVALID_ARGUMENT = 'invalid argument';
4
5
  const NO_SUCH_ELEMENT = 'no such element';
@@ -281,4 +282,6 @@
281
282
  default:
282
283
  throw botError(INVALID_ARGUMENT, 'Unsupported locator strategy: ' + key);
283
284
  }
284
- })
285
+ }
286
+ return findElements;
287
+ })()
@@ -1,4 +1,5 @@
1
- (function (element, attribute) {
1
+ (function () {
2
+ function get(element, attribute) {
2
3
  const PROPERTY_ALIASES = {
3
4
  'class': 'className',
4
5
  'readonly': 'readOnly',
@@ -149,4 +150,6 @@
149
150
  return attrValue != null ? attrValue : null;
150
151
  }
151
152
  return property != null ? String(property) : null;
152
- })
153
+ }
154
+ return get;
155
+ })()
@@ -1,4 +1,5 @@
1
- (function isShownElement(elem, optIgnoreOpacity) {
1
+ (function () {
2
+ function isShownElement(elem, optIgnoreOpacity) {
2
3
  var tagNameDescriptor = Object.getOwnPropertyDescriptor(Element.prototype, 'tagName');
3
4
  var computedStyleCache = new Map();
4
5
  var clientRectCache = new Map();
@@ -382,4 +383,6 @@
382
383
  return result;
383
384
  }
384
385
  return isShownInternal(elem, !!optIgnoreOpacity, displayed);
385
- })
386
+ }
387
+ return isShownElement;
388
+ })()
@@ -739,7 +739,7 @@ module Selenium
739
739
  NodeProperties = Serialization::Record.define(
740
740
  node_type: {wire_key: 'nodeType', primitive: 'integer'},
741
741
  child_node_count: {wire_key: 'childNodeCount', primitive: 'integer'},
742
- attributes: {wire_key: 'attributes', required: false},
742
+ attributes: {wire_key: 'attributes', required: false, map: 'string'},
743
743
  children: {wire_key: 'children', required: false, ref: 'Script::NodeRemoteValue', list: true},
744
744
  local_name: {wire_key: 'localName', required: false, primitive: 'string'},
745
745
  mode: {wire_key: 'mode', required: false, enum: 'Script::NODE_PROPERTIES_MODE'},
@@ -60,6 +60,26 @@ module Selenium
60
60
  extensible: true
61
61
  )
62
62
 
63
+ # @api private
64
+ # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
65
+ # @see https://w3c.github.io/webdriver-bidi/#type-session-CapabilityResponse
66
+ CapabilityResponse = Serialization::Record.define(
67
+ accept_insecure_certs: {wire_key: 'acceptInsecureCerts', primitive: 'boolean'},
68
+ browser_name: {wire_key: 'browserName', primitive: 'string'},
69
+ browser_version: {wire_key: 'browserVersion', primitive: 'string'},
70
+ platform_name: {wire_key: 'platformName', primitive: 'string'},
71
+ set_window_rect: {wire_key: 'setWindowRect', primitive: 'boolean'},
72
+ user_agent: {wire_key: 'userAgent', primitive: 'string'},
73
+ proxy: {wire_key: 'proxy', required: false, ref: 'Session::ProxyConfiguration'},
74
+ unhandled_prompt_behavior: {
75
+ wire_key: 'unhandledPromptBehavior',
76
+ required: false,
77
+ ref: 'Session::UserPromptHandler'
78
+ },
79
+ web_socket_url: {wire_key: 'webSocketUrl', required: false, primitive: 'string'},
80
+ extensible: true
81
+ )
82
+
63
83
  # @api private
64
84
  # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
65
85
  # @see https://w3c.github.io/webdriver-bidi/#type-session-ProxyConfiguration
@@ -192,26 +212,7 @@ module Selenium
192
212
  # @see https://w3c.github.io/webdriver-bidi/#cddl-type-sessionnewresult
193
213
  NewResult = Serialization::Record.define(
194
214
  session_id: {wire_key: 'sessionId', primitive: 'string'},
195
- capabilities: {wire_key: 'capabilities', ref: 'Session::NewResult::Capabilities'}
196
- )
197
-
198
- # @api private
199
- # @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
200
- NewResult::Capabilities = Serialization::Record.define(
201
- accept_insecure_certs: {wire_key: 'acceptInsecureCerts', primitive: 'boolean'},
202
- browser_name: {wire_key: 'browserName', primitive: 'string'},
203
- browser_version: {wire_key: 'browserVersion', primitive: 'string'},
204
- platform_name: {wire_key: 'platformName', primitive: 'string'},
205
- set_window_rect: {wire_key: 'setWindowRect', primitive: 'boolean'},
206
- user_agent: {wire_key: 'userAgent', primitive: 'string'},
207
- proxy: {wire_key: 'proxy', required: false, ref: 'Session::ProxyConfiguration'},
208
- unhandled_prompt_behavior: {
209
- wire_key: 'unhandledPromptBehavior',
210
- required: false,
211
- ref: 'Session::UserPromptHandler'
212
- },
213
- web_socket_url: {wire_key: 'webSocketUrl', required: false, primitive: 'string'},
214
- extensible: true
215
+ capabilities: {wire_key: 'capabilities', ref: 'Session::CapabilityResponse'}
215
216
  )
216
217
 
217
218
  # @api private
@@ -30,7 +30,7 @@ module Selenium
30
30
  class Record < ::Data
31
31
  # Named Field, not Member, to avoid colliding with +::Data#members+.
32
32
  Field = ::Data.define(:name, :wire_key, :nullable, :ref, :list, :fixed, :enum, :required, :primitive,
33
- :scalar, :const)
33
+ :scalar, :const, :map)
34
34
 
35
35
  def self.define(**spec)
36
36
  extensible = spec.delete(:extensible) || false
@@ -61,7 +61,7 @@ module Selenium
61
61
  nullable: meta[:nullable] || false, ref: meta[:ref],
62
62
  list: meta[:list] || false, fixed: meta.fetch(:fixed, UNSET), enum: meta[:enum],
63
63
  required: meta.fetch(:required, true), primitive: meta[:primitive],
64
- scalar: meta[:scalar], const: meta.fetch(:const, UNSET))
64
+ scalar: meta[:scalar], const: meta.fetch(:const, UNSET), map: meta[:map])
65
65
  end
66
66
  private_class_method :field
67
67
 
@@ -127,6 +127,7 @@ module Selenium
127
127
  validate_const(field, value)
128
128
  check_outbound_shape(field, value)
129
129
  check_outbound_primitive(field, value) unless field.list
130
+ check_outbound_map(field, value) if field.map
130
131
  validate_ref(field, value) if field.ref
131
132
  Serialization.validate!("#{name}##{field.name}", value, Protocol.const_get(field.enum)) if field.enum
132
133
  end
@@ -210,6 +211,13 @@ module Selenium
210
211
  raise ::ArgumentError, "#{name}##{field.name} expected #{field.primitive}, got #{value.inspect}"
211
212
  end
212
213
 
214
+ # Outbound mirror of check_map: a map-typed arg must be a Hash whose values are the
215
+ # declared primitive, so a caller mistake is a local ArgumentError.
216
+ def check_outbound_map(field, value)
217
+ mismatch = map_mismatch(field, value)
218
+ raise ::ArgumentError, "#{name}##{field.name}#{mismatch}" if mismatch
219
+ end
220
+
213
221
  def fixed?(field)
214
222
  !UNSET.equal?(field.fixed)
215
223
  end
@@ -236,6 +244,7 @@ module Selenium
236
244
 
237
245
  if field.ref.nil?
238
246
  return raw if field.list
247
+ return check_map(field, raw) if field.map
239
248
 
240
249
  check_primitive(field, raw)
241
250
  # A whole number is exact in both types, so the declared type is held with nothing lost.
@@ -285,6 +294,30 @@ module Selenium
285
294
  raise Error::SerializationError, "#{name}##{field.name} expected #{field.primitive}, got #{raw.inspect}"
286
295
  end
287
296
 
297
+ # A `map` field (`{*text => <primitive>}`, e.g. script.NodeProperties.attributes) must arrive
298
+ # as an object whose every value matches the declared primitive. Keys are JSON object keys,
299
+ # so they are strings by construction. The Hash passes through unchanged once validated.
300
+ def check_map(field, raw)
301
+ mismatch = map_mismatch(field, raw)
302
+ raise Error::SerializationError, "#{name}##{field.name}#{mismatch}" if mismatch
303
+
304
+ raw
305
+ end
306
+
307
+ # The suffix of the error a map value earns, or nil when it conforms — shared by the inbound
308
+ # (SerializationError) and outbound (ArgumentError) checks so the two cannot drift apart. An
309
+ # unrecognized value primitive (none in PRIMITIVE_CHECKS) checks only the shape, matching the
310
+ # lenient default elsewhere.
311
+ def map_mismatch(field, value)
312
+ return " expected a map, got #{value.inspect}" unless value.is_a?(::Hash)
313
+
314
+ check = PRIMITIVE_CHECKS[field.map]
315
+ return if check.nil?
316
+
317
+ entry = value.find { |_, v| !check.call(v) }
318
+ "[#{entry[0].inspect}] expected #{field.map}, got #{entry[1].inspect}" if entry
319
+ end
320
+
288
321
  def enum_hash(field)
289
322
  (@enums ||= {})[field.name] ||= Protocol.const_get(field.enum)
290
323
  end
@@ -355,7 +355,7 @@ module BiDiGenerate
355
355
  # for a scalar/opaque field); list wraps it in an array. wire_key is the exact
356
356
  # JSON payload key (the schema's `wire` name, baked verbatim).
357
357
  FieldIR = Struct.new(:ruby_name, :wire_key, :required, :nullable, :ref, :list, :enum, :primitive, :scalar, :const,
358
- :rbs, keyword_init: true) do
358
+ :map_of, :rbs, keyword_init: true) do
359
359
  # A `Serialization::Record.define` spec entry: `name: 'jsonKey'` shorthand, or
360
360
  # `name: {wire_key:, …}` when the field carries JSON facts beyond its name.
361
361
  # enum carries the allowed-values constant path, validated at construction.
@@ -375,11 +375,19 @@ module BiDiGenerate
375
375
  facts << 'required: false' unless required
376
376
  facts << 'nullable: true' if nullable
377
377
  facts << "const: #{BiDiGenerate.ruby_literal(const)}" unless const.nil?
378
+ facts + type_facts
379
+ end
380
+
381
+ # The facts describing the value's type and shape: what the runtime reads it as and checks
382
+ # it against. `map_of` is the value primitive of a string-keyed map (`{*text => text}`).
383
+ def type_facts
384
+ facts = []
378
385
  facts << "ref: '#{ref}'" if ref
379
386
  facts << 'list: true' if list
380
387
  facts << "scalar: #{scalar_literal}" if scalar
381
388
  facts << "enum: '#{enum}'" if enum
382
389
  facts << "primitive: '#{primitive}'" if primitive
390
+ facts << "map: '#{map_of}'" if map_of
383
391
  facts
384
392
  end
385
393
 
@@ -926,7 +934,7 @@ module BiDiGenerate
926
934
  if node.key?('ref')
927
935
  named = resolve_named(node['ref'])
928
936
  return {ref: named[:ref], list: named[:list], nullable: nullable, scalar: named[:scalar],
929
- rbs: nilable(named[:rbs], nullable)}
937
+ map: named[:map], rbs: nilable(named[:rbs], nullable)}
930
938
  end
931
939
  return resolve_union(node, nullable) if node.key?('union')
932
940
 
@@ -972,7 +980,7 @@ module BiDiGenerate
972
980
  return OPAQUE unless type
973
981
 
974
982
  case type['kind']
975
- when 'record' then type['fields'].empty? ? OPAQUE : named_type(name)
983
+ when 'record' then type['fields'].empty? ? map_record(type) : named_type(name)
976
984
  when 'union' then named_union(name)
977
985
  when 'enum' then {ref: nil, list: false, rbs: 'Symbol'}
978
986
  when 'alias' then resolve_named_alias(name, type['type'], seen)
@@ -980,6 +988,18 @@ module BiDiGenerate
980
988
  end
981
989
  end
982
990
 
991
+ # A field-less record is either a genuinely empty one (EmptyParams, Extensible — opaque)
992
+ # or the projector's stand-in for an inline map (`{*text => text}` is hoisted to a record
993
+ # with no fields and the value type under `map`, e.g. script.NodePropertiesAttributes).
994
+ # A primitive-valued map becomes a `map` descriptor the runtime checks and a typed Hash;
995
+ # a ref- or union-valued one (the Mozilla vendor types) stays opaque for now.
996
+ def map_record(type)
997
+ primitive = type.dig('map', 'primitive')
998
+ return OPAQUE unless primitive && CHECKABLE_PRIMITIVES.include?(primitive)
999
+
1000
+ {ref: nil, list: false, map: primitive, rbs: "Hash[String, #{PRIMITIVE_RBS.fetch(primitive)}]"}
1001
+ end
1002
+
983
1003
  # A named structured type's serialization ref (nil for a dotless/global type, never
984
1004
  # emitted as a class) and its absolute RBS class path, derived independently so each
985
1005
  # output keeps its own treatment of dotless names.
@@ -1072,7 +1092,7 @@ module BiDiGenerate
1072
1092
  required: field['required'], nullable: resolved[:nullable],
1073
1093
  ref: resolved[:ref], list: resolved[:list], enum: enum_const(field['type']),
1074
1094
  primitive: leaf_primitive(field['type']), scalar: resolved[:scalar],
1075
- const: leaf_const(field['type']), rbs: resolved[:rbs])
1095
+ const: leaf_const(field['type']), map_of: resolved[:map], rbs: resolved[:rbs])
1076
1096
  end
1077
1097
 
1078
1098
  # The literal value of a const field, following alias chains, so the runtime can reject a
@@ -19,6 +19,6 @@
19
19
 
20
20
  module Selenium
21
21
  module WebDriver
22
- VERSION = '4.50.0'
22
+ VERSION = '4.51.0'
23
23
  end # WebDriver
24
24
  end # Selenium
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: selenium-webdriver
3
3
  version: !ruby/object:Gem::Version
4
- version: 4.50.0
4
+ version: 4.51.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Alex Rodionov