selenium-webdriver 4.51.0 → 4.52.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 +4 -4
- data/CHANGES +15 -0
- data/Gemfile +14 -0
- data/README.md +20 -0
- data/bin/linux-arm64/selenium-manager +0 -0
- data/bin/linux-x86_64/selenium-manager +0 -0
- data/bin/macos/selenium-manager +0 -0
- data/bin/selenium-manager-THIRD-PARTY-NOTICES.txt +543 -226
- data/bin/selenium-manager.cdx.json +804 -722
- data/bin/windows/selenium-manager.exe +0 -0
- data/lib/selenium/webdriver/atoms/findElements.js +960 -250
- data/lib/selenium/webdriver/atoms/getAttribute.js +153 -127
- data/lib/selenium/webdriver/atoms/isDisplayed.js +433 -364
- data/lib/selenium/webdriver/atoms.rb +4 -1
- data/lib/selenium/webdriver/bidi/protocol/bluetooth.rb +6 -6
- data/lib/selenium/webdriver/bidi/protocol/browser.rb +21 -9
- data/lib/selenium/webdriver/bidi/protocol/browsing_context.rb +109 -39
- data/lib/selenium/webdriver/bidi/protocol/emulation.rb +89 -44
- data/lib/selenium/webdriver/bidi/protocol/input.rb +95 -31
- data/lib/selenium/webdriver/bidi/protocol/log.rb +4 -4
- data/lib/selenium/webdriver/bidi/protocol/moz_debugging.rb +12 -10
- data/lib/selenium/webdriver/bidi/protocol/moz_profiler.rb +4 -4
- data/lib/selenium/webdriver/bidi/protocol/network.rb +82 -39
- data/lib/selenium/webdriver/bidi/protocol/script.rb +38 -24
- data/lib/selenium/webdriver/bidi/protocol/session.rb +61 -8
- data/lib/selenium/webdriver/bidi/protocol/storage.rb +3 -3
- data/lib/selenium/webdriver/bidi/protocol/user_agent_client_hints.rb +3 -3
- data/lib/selenium/webdriver/bidi/protocol/web_extension.rb +17 -9
- data/lib/selenium/webdriver/bidi/serialization/record.rb +66 -24
- data/lib/selenium/webdriver/bidi/serialization.rb +2 -2
- data/lib/selenium/webdriver/bidi/support/bidi_generate.rb +228 -150
- data/lib/selenium/webdriver/common/client_config.rb +4 -1
- data/lib/selenium/webdriver/common/driver_finder.rb +5 -2
- data/lib/selenium/webdriver/common/websocket_connection.rb +51 -13
- data/lib/selenium/webdriver/remote/http/default.rb +17 -1
- data/lib/selenium/webdriver/version.rb +1 -1
- data/selenium-webdriver.gemspec +0 -12
- metadata +6 -163
|
@@ -103,11 +103,11 @@ module Selenium
|
|
|
103
103
|
context: {wire_key: 'context', nullable: true, primitive: 'string'},
|
|
104
104
|
is_blocked: {wire_key: 'isBlocked', primitive: 'boolean'},
|
|
105
105
|
navigation: {wire_key: 'navigation', nullable: true, primitive: 'string'},
|
|
106
|
-
redirect_count: {wire_key: 'redirectCount', primitive: 'integer'},
|
|
106
|
+
redirect_count: {wire_key: 'redirectCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
107
107
|
request: {wire_key: 'request', ref: 'Network::RequestData'},
|
|
108
|
-
timestamp: {wire_key: 'timestamp', primitive: 'integer'},
|
|
108
|
+
timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
109
109
|
user_context: {wire_key: 'userContext', required: false, nullable: true, primitive: 'string'},
|
|
110
|
-
intercepts: {wire_key: 'intercepts', required: false, list: true}
|
|
110
|
+
intercepts: {wire_key: 'intercepts', required: false, list: true, primitive: 'string'}
|
|
111
111
|
)
|
|
112
112
|
|
|
113
113
|
# @api private
|
|
@@ -149,11 +149,11 @@ module Selenium
|
|
|
149
149
|
value: {wire_key: 'value', ref: 'Network::BytesValue'},
|
|
150
150
|
domain: {wire_key: 'domain', primitive: 'string'},
|
|
151
151
|
path: {wire_key: 'path', primitive: 'string'},
|
|
152
|
-
size: {wire_key: 'size', primitive: 'integer'},
|
|
152
|
+
size: {wire_key: 'size', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
153
153
|
http_only: {wire_key: 'httpOnly', primitive: 'boolean'},
|
|
154
154
|
secure: {wire_key: 'secure', primitive: 'boolean'},
|
|
155
155
|
same_site: {wire_key: 'sameSite', enum: 'Network::SAME_SITE'},
|
|
156
|
-
expiry: {wire_key: 'expiry', required: false, primitive: 'integer'},
|
|
156
|
+
expiry: {wire_key: 'expiry', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
157
157
|
extensible: true
|
|
158
158
|
)
|
|
159
159
|
|
|
@@ -196,8 +196,20 @@ module Selenium
|
|
|
196
196
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
197
197
|
# @see https://w3c.github.io/webdriver-bidi/#type-network-Initiator
|
|
198
198
|
Initiator = Serialization::Record.define(
|
|
199
|
-
column_number: {
|
|
200
|
-
|
|
199
|
+
column_number: {
|
|
200
|
+
wire_key: 'columnNumber',
|
|
201
|
+
required: false,
|
|
202
|
+
primitive: 'integer',
|
|
203
|
+
min: 0,
|
|
204
|
+
max: 9_007_199_254_740_991
|
|
205
|
+
},
|
|
206
|
+
line_number: {
|
|
207
|
+
wire_key: 'lineNumber',
|
|
208
|
+
required: false,
|
|
209
|
+
primitive: 'integer',
|
|
210
|
+
min: 0,
|
|
211
|
+
max: 9_007_199_254_740_991
|
|
212
|
+
},
|
|
201
213
|
request: {wire_key: 'request', required: false, primitive: 'string'},
|
|
202
214
|
stack_trace: {wire_key: 'stackTrace', required: false, ref: 'Script::StackTrace'},
|
|
203
215
|
type: {wire_key: 'type', required: false, enum: 'Network::INITIATOR_TYPE'}
|
|
@@ -212,8 +224,8 @@ module Selenium
|
|
|
212
224
|
method_: {wire_key: 'method', primitive: 'string'},
|
|
213
225
|
headers: {wire_key: 'headers', ref: 'Network::Header', list: true},
|
|
214
226
|
cookies: {wire_key: 'cookies', ref: 'Network::Cookie', list: true},
|
|
215
|
-
headers_size: {wire_key: 'headersSize', primitive: 'integer'},
|
|
216
|
-
body_size: {wire_key: 'bodySize', nullable: true, primitive: 'integer'},
|
|
227
|
+
headers_size: {wire_key: 'headersSize', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
228
|
+
body_size: {wire_key: 'bodySize', nullable: true, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
217
229
|
destination: {wire_key: 'destination', primitive: 'string'},
|
|
218
230
|
initiator_type: {wire_key: 'initiatorType', nullable: true, primitive: 'string'},
|
|
219
231
|
timings: {wire_key: 'timings', ref: 'Network::FetchTimingInfo'}
|
|
@@ -222,7 +234,9 @@ module Selenium
|
|
|
222
234
|
# @api private
|
|
223
235
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
224
236
|
# @see https://w3c.github.io/webdriver-bidi/#type-network-ResponseContent
|
|
225
|
-
ResponseContent = Serialization::Record.define(
|
|
237
|
+
ResponseContent = Serialization::Record.define(
|
|
238
|
+
size: {wire_key: 'size', primitive: 'integer', min: 0, max: 9_007_199_254_740_991}
|
|
239
|
+
)
|
|
226
240
|
|
|
227
241
|
# @api private
|
|
228
242
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
@@ -230,14 +244,20 @@ module Selenium
|
|
|
230
244
|
ResponseData = Serialization::Record.define(
|
|
231
245
|
url: {wire_key: 'url', primitive: 'string'},
|
|
232
246
|
protocol: {wire_key: 'protocol', primitive: 'string'},
|
|
233
|
-
status: {wire_key: 'status', primitive: 'integer'},
|
|
247
|
+
status: {wire_key: 'status', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
234
248
|
status_text: {wire_key: 'statusText', primitive: 'string'},
|
|
235
249
|
from_cache: {wire_key: 'fromCache', primitive: 'boolean'},
|
|
236
250
|
headers: {wire_key: 'headers', ref: 'Network::Header', list: true},
|
|
237
251
|
mime_type: {wire_key: 'mimeType', primitive: 'string'},
|
|
238
|
-
bytes_received: {wire_key: 'bytesReceived', primitive: 'integer'},
|
|
239
|
-
headers_size: {
|
|
240
|
-
|
|
252
|
+
bytes_received: {wire_key: 'bytesReceived', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
253
|
+
headers_size: {
|
|
254
|
+
wire_key: 'headersSize',
|
|
255
|
+
nullable: true,
|
|
256
|
+
primitive: 'integer',
|
|
257
|
+
min: 0,
|
|
258
|
+
max: 9_007_199_254_740_991
|
|
259
|
+
},
|
|
260
|
+
body_size: {wire_key: 'bodySize', nullable: true, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
241
261
|
content: {wire_key: 'content', ref: 'Network::ResponseContent'},
|
|
242
262
|
auth_challenges: {wire_key: 'authChallenges', required: false, ref: 'Network::AuthChallenge', list: true}
|
|
243
263
|
)
|
|
@@ -251,7 +271,13 @@ module Selenium
|
|
|
251
271
|
domain: {wire_key: 'domain', required: false, primitive: 'string'},
|
|
252
272
|
http_only: {wire_key: 'httpOnly', required: false, primitive: 'boolean'},
|
|
253
273
|
expiry: {wire_key: 'expiry', required: false, primitive: 'string'},
|
|
254
|
-
max_age: {
|
|
274
|
+
max_age: {
|
|
275
|
+
wire_key: 'maxAge',
|
|
276
|
+
required: false,
|
|
277
|
+
primitive: 'integer',
|
|
278
|
+
min: -9_007_199_254_740_991,
|
|
279
|
+
max: 9_007_199_254_740_991
|
|
280
|
+
},
|
|
255
281
|
path: {wire_key: 'path', required: false, primitive: 'string'},
|
|
256
282
|
same_site: {wire_key: 'sameSite', required: false, enum: 'Network::SAME_SITE'},
|
|
257
283
|
secure: {wire_key: 'secure', required: false, primitive: 'boolean'}
|
|
@@ -297,10 +323,15 @@ module Selenium
|
|
|
297
323
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-networkadddatacollectorparameters
|
|
298
324
|
AddDataCollectorParameters = Serialization::Record.define(
|
|
299
325
|
data_types: {wire_key: 'dataTypes', list: true, enum: 'Network::DATA_TYPE'},
|
|
300
|
-
max_encoded_data_size: {
|
|
326
|
+
max_encoded_data_size: {
|
|
327
|
+
wire_key: 'maxEncodedDataSize',
|
|
328
|
+
primitive: 'integer',
|
|
329
|
+
min: 0,
|
|
330
|
+
max: 9_007_199_254_740_991
|
|
331
|
+
},
|
|
301
332
|
collector_type: {wire_key: 'collectorType', required: false, enum: 'Network::COLLECTOR_TYPE'},
|
|
302
|
-
contexts: {wire_key: 'contexts', required: false, list: true},
|
|
303
|
-
user_contexts: {wire_key: 'userContexts', required: false, list: true}
|
|
333
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
|
|
334
|
+
user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
|
|
304
335
|
)
|
|
305
336
|
|
|
306
337
|
# @api private
|
|
@@ -313,7 +344,7 @@ module Selenium
|
|
|
313
344
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-networkaddinterceptparameters
|
|
314
345
|
AddInterceptParameters = Serialization::Record.define(
|
|
315
346
|
phases: {wire_key: 'phases', list: true, enum: 'Network::INTERCEPT_PHASE'},
|
|
316
|
-
contexts: {wire_key: 'contexts', required: false, list: true},
|
|
347
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
|
|
317
348
|
url_patterns: {wire_key: 'urlPatterns', required: false, ref: 'Network::UrlPattern', list: true}
|
|
318
349
|
)
|
|
319
350
|
|
|
@@ -343,7 +374,13 @@ module Selenium
|
|
|
343
374
|
credentials: {wire_key: 'credentials', required: false, ref: 'Network::AuthCredentials'},
|
|
344
375
|
headers: {wire_key: 'headers', required: false, ref: 'Network::Header', list: true},
|
|
345
376
|
reason_phrase: {wire_key: 'reasonPhrase', required: false, primitive: 'string'},
|
|
346
|
-
status_code: {
|
|
377
|
+
status_code: {
|
|
378
|
+
wire_key: 'statusCode',
|
|
379
|
+
required: false,
|
|
380
|
+
primitive: 'integer',
|
|
381
|
+
min: 0,
|
|
382
|
+
max: 9_007_199_254_740_991
|
|
383
|
+
}
|
|
347
384
|
)
|
|
348
385
|
|
|
349
386
|
# @api private
|
|
@@ -413,7 +450,13 @@ module Selenium
|
|
|
413
450
|
cookies: {wire_key: 'cookies', required: false, ref: 'Network::SetCookieHeader', list: true},
|
|
414
451
|
headers: {wire_key: 'headers', required: false, ref: 'Network::Header', list: true},
|
|
415
452
|
reason_phrase: {wire_key: 'reasonPhrase', required: false, primitive: 'string'},
|
|
416
|
-
status_code: {
|
|
453
|
+
status_code: {
|
|
454
|
+
wire_key: 'statusCode',
|
|
455
|
+
required: false,
|
|
456
|
+
primitive: 'integer',
|
|
457
|
+
min: 0,
|
|
458
|
+
max: 9_007_199_254_740_991
|
|
459
|
+
}
|
|
417
460
|
)
|
|
418
461
|
|
|
419
462
|
# @api private
|
|
@@ -435,7 +478,7 @@ module Selenium
|
|
|
435
478
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-networksetcachebehaviorparameters
|
|
436
479
|
SetCacheBehaviorParameters = Serialization::Record.define(
|
|
437
480
|
cache_behavior: {wire_key: 'cacheBehavior', enum: 'Network::SET_CACHE_BEHAVIOR_PARAMETERS_CACHE_BEHAVIOR'},
|
|
438
|
-
contexts: {wire_key: 'contexts', required: false, list: true}
|
|
481
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'}
|
|
439
482
|
)
|
|
440
483
|
|
|
441
484
|
# @api private
|
|
@@ -443,8 +486,8 @@ module Selenium
|
|
|
443
486
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-networksetextraheadersparameters
|
|
444
487
|
SetExtraHeadersParameters = Serialization::Record.define(
|
|
445
488
|
headers: {wire_key: 'headers', ref: 'Network::Header', list: true},
|
|
446
|
-
contexts: {wire_key: 'contexts', required: false, list: true},
|
|
447
|
-
user_contexts: {wire_key: 'userContexts', required: false, list: true}
|
|
489
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
|
|
490
|
+
user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
|
|
448
491
|
)
|
|
449
492
|
|
|
450
493
|
# @api private
|
|
@@ -454,11 +497,11 @@ module Selenium
|
|
|
454
497
|
context: {wire_key: 'context', nullable: true, primitive: 'string'},
|
|
455
498
|
is_blocked: {wire_key: 'isBlocked', primitive: 'boolean'},
|
|
456
499
|
navigation: {wire_key: 'navigation', nullable: true, primitive: 'string'},
|
|
457
|
-
redirect_count: {wire_key: 'redirectCount', primitive: 'integer'},
|
|
500
|
+
redirect_count: {wire_key: 'redirectCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
458
501
|
request: {wire_key: 'request', ref: 'Network::RequestData'},
|
|
459
|
-
timestamp: {wire_key: 'timestamp', primitive: 'integer'},
|
|
502
|
+
timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
460
503
|
user_context: {wire_key: 'userContext', required: false, nullable: true, primitive: 'string'},
|
|
461
|
-
intercepts: {wire_key: 'intercepts', required: false, list: true},
|
|
504
|
+
intercepts: {wire_key: 'intercepts', required: false, list: true, primitive: 'string'},
|
|
462
505
|
response: {wire_key: 'response', ref: 'Network::ResponseData'}
|
|
463
506
|
)
|
|
464
507
|
|
|
@@ -469,11 +512,11 @@ module Selenium
|
|
|
469
512
|
context: {wire_key: 'context', nullable: true, primitive: 'string'},
|
|
470
513
|
is_blocked: {wire_key: 'isBlocked', primitive: 'boolean'},
|
|
471
514
|
navigation: {wire_key: 'navigation', nullable: true, primitive: 'string'},
|
|
472
|
-
redirect_count: {wire_key: 'redirectCount', primitive: 'integer'},
|
|
515
|
+
redirect_count: {wire_key: 'redirectCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
473
516
|
request: {wire_key: 'request', ref: 'Network::RequestData'},
|
|
474
|
-
timestamp: {wire_key: 'timestamp', primitive: 'integer'},
|
|
517
|
+
timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
475
518
|
user_context: {wire_key: 'userContext', required: false, nullable: true, primitive: 'string'},
|
|
476
|
-
intercepts: {wire_key: 'intercepts', required: false, list: true},
|
|
519
|
+
intercepts: {wire_key: 'intercepts', required: false, list: true, primitive: 'string'},
|
|
477
520
|
initiator: {wire_key: 'initiator', required: false, ref: 'Network::Initiator'}
|
|
478
521
|
)
|
|
479
522
|
|
|
@@ -484,11 +527,11 @@ module Selenium
|
|
|
484
527
|
context: {wire_key: 'context', nullable: true, primitive: 'string'},
|
|
485
528
|
is_blocked: {wire_key: 'isBlocked', primitive: 'boolean'},
|
|
486
529
|
navigation: {wire_key: 'navigation', nullable: true, primitive: 'string'},
|
|
487
|
-
redirect_count: {wire_key: 'redirectCount', primitive: 'integer'},
|
|
530
|
+
redirect_count: {wire_key: 'redirectCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
488
531
|
request: {wire_key: 'request', ref: 'Network::RequestData'},
|
|
489
|
-
timestamp: {wire_key: 'timestamp', primitive: 'integer'},
|
|
532
|
+
timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
490
533
|
user_context: {wire_key: 'userContext', required: false, nullable: true, primitive: 'string'},
|
|
491
|
-
intercepts: {wire_key: 'intercepts', required: false, list: true},
|
|
534
|
+
intercepts: {wire_key: 'intercepts', required: false, list: true, primitive: 'string'},
|
|
492
535
|
error_text: {wire_key: 'errorText', primitive: 'string'}
|
|
493
536
|
)
|
|
494
537
|
|
|
@@ -499,11 +542,11 @@ module Selenium
|
|
|
499
542
|
context: {wire_key: 'context', nullable: true, primitive: 'string'},
|
|
500
543
|
is_blocked: {wire_key: 'isBlocked', primitive: 'boolean'},
|
|
501
544
|
navigation: {wire_key: 'navigation', nullable: true, primitive: 'string'},
|
|
502
|
-
redirect_count: {wire_key: 'redirectCount', primitive: 'integer'},
|
|
545
|
+
redirect_count: {wire_key: 'redirectCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
503
546
|
request: {wire_key: 'request', ref: 'Network::RequestData'},
|
|
504
|
-
timestamp: {wire_key: 'timestamp', primitive: 'integer'},
|
|
547
|
+
timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
505
548
|
user_context: {wire_key: 'userContext', required: false, nullable: true, primitive: 'string'},
|
|
506
|
-
intercepts: {wire_key: 'intercepts', required: false, list: true},
|
|
549
|
+
intercepts: {wire_key: 'intercepts', required: false, list: true, primitive: 'string'},
|
|
507
550
|
response: {wire_key: 'response', ref: 'Network::ResponseData'}
|
|
508
551
|
)
|
|
509
552
|
|
|
@@ -514,11 +557,11 @@ module Selenium
|
|
|
514
557
|
context: {wire_key: 'context', nullable: true, primitive: 'string'},
|
|
515
558
|
is_blocked: {wire_key: 'isBlocked', primitive: 'boolean'},
|
|
516
559
|
navigation: {wire_key: 'navigation', nullable: true, primitive: 'string'},
|
|
517
|
-
redirect_count: {wire_key: 'redirectCount', primitive: 'integer'},
|
|
560
|
+
redirect_count: {wire_key: 'redirectCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
518
561
|
request: {wire_key: 'request', ref: 'Network::RequestData'},
|
|
519
|
-
timestamp: {wire_key: 'timestamp', primitive: 'integer'},
|
|
562
|
+
timestamp: {wire_key: 'timestamp', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
520
563
|
user_context: {wire_key: 'userContext', required: false, nullable: true, primitive: 'string'},
|
|
521
|
-
intercepts: {wire_key: 'intercepts', required: false, list: true},
|
|
564
|
+
intercepts: {wire_key: 'intercepts', required: false, list: true, primitive: 'string'},
|
|
522
565
|
response: {wire_key: 'response', ref: 'Network::ResponseData'}
|
|
523
566
|
)
|
|
524
567
|
|
|
@@ -94,23 +94,23 @@ module Selenium
|
|
|
94
94
|
|
|
95
95
|
# @api private
|
|
96
96
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
97
|
-
# @see https://w3c.github.io/webdriver-bidi/#type-script-
|
|
98
|
-
class
|
|
97
|
+
# @see https://w3c.github.io/webdriver-bidi/#type-script-EvaluationResult
|
|
98
|
+
class EvaluationResult < Serialization::Union
|
|
99
99
|
discriminator 'type', {success: 'success', exception: 'exception'}
|
|
100
100
|
variants(
|
|
101
|
-
success: 'Script::
|
|
102
|
-
exception: 'Script::
|
|
101
|
+
success: 'Script::EvaluationResultSuccess',
|
|
102
|
+
exception: 'Script::EvaluationResultException'
|
|
103
103
|
)
|
|
104
104
|
object_only
|
|
105
105
|
|
|
106
|
-
def self.success(**) = Script::
|
|
107
|
-
def self.exception(**) = Script::
|
|
106
|
+
def self.success(**) = Script::EvaluationResultSuccess.new(**)
|
|
107
|
+
def self.exception(**) = Script::EvaluationResultException.new(**)
|
|
108
108
|
end
|
|
109
109
|
|
|
110
110
|
# @api private
|
|
111
111
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
112
|
-
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-
|
|
113
|
-
|
|
112
|
+
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-scriptevaluationresultsuccess
|
|
113
|
+
EvaluationResultSuccess = Serialization::Record.define(
|
|
114
114
|
type: {fixed: 'success'},
|
|
115
115
|
result: {wire_key: 'result', ref: 'Script::RemoteValue'},
|
|
116
116
|
realm: {wire_key: 'realm', primitive: 'string'}
|
|
@@ -118,8 +118,8 @@ module Selenium
|
|
|
118
118
|
|
|
119
119
|
# @api private
|
|
120
120
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
121
|
-
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-
|
|
122
|
-
|
|
121
|
+
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-scriptevaluationresultexception
|
|
122
|
+
EvaluationResultException = Serialization::Record.define(
|
|
123
123
|
type: {fixed: 'exception'},
|
|
124
124
|
exception_details: {wire_key: 'exceptionDetails', ref: 'Script::ExceptionDetails'},
|
|
125
125
|
realm: {wire_key: 'realm', primitive: 'string'}
|
|
@@ -129,9 +129,9 @@ module Selenium
|
|
|
129
129
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
130
130
|
# @see https://w3c.github.io/webdriver-bidi/#type-script-ExceptionDetails
|
|
131
131
|
ExceptionDetails = Serialization::Record.define(
|
|
132
|
-
column_number: {wire_key: 'columnNumber', primitive: 'integer'},
|
|
132
|
+
column_number: {wire_key: 'columnNumber', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
133
133
|
exception: {wire_key: 'exception', ref: 'Script::RemoteValue'},
|
|
134
|
-
line_number: {wire_key: 'lineNumber', primitive: 'integer'},
|
|
134
|
+
line_number: {wire_key: 'lineNumber', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
135
135
|
stack_trace: {wire_key: 'stackTrace', ref: 'Script::StackTrace'},
|
|
136
136
|
text: {wire_key: 'text', primitive: 'string'}
|
|
137
137
|
)
|
|
@@ -376,7 +376,7 @@ module Selenium
|
|
|
376
376
|
type: {fixed: 'dedicated-worker'},
|
|
377
377
|
realm: {wire_key: 'realm', primitive: 'string'},
|
|
378
378
|
origin: {wire_key: 'origin', primitive: 'string'},
|
|
379
|
-
owners: {wire_key: 'owners', list: true}
|
|
379
|
+
owners: {wire_key: 'owners', list: true, primitive: 'string'}
|
|
380
380
|
)
|
|
381
381
|
|
|
382
382
|
# @api private
|
|
@@ -737,8 +737,8 @@ module Selenium
|
|
|
737
737
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
738
738
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-scriptnodeproperties
|
|
739
739
|
NodeProperties = Serialization::Record.define(
|
|
740
|
-
node_type: {wire_key: 'nodeType', primitive: 'integer'},
|
|
741
|
-
child_node_count: {wire_key: 'childNodeCount', primitive: 'integer'},
|
|
740
|
+
node_type: {wire_key: 'nodeType', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
741
|
+
child_node_count: {wire_key: 'childNodeCount', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
742
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'},
|
|
@@ -767,8 +767,22 @@ module Selenium
|
|
|
767
767
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
768
768
|
# @see https://w3c.github.io/webdriver-bidi/#type-script-SerializationOptions
|
|
769
769
|
SerializationOptions = Serialization::Record.define(
|
|
770
|
-
max_dom_depth: {
|
|
771
|
-
|
|
770
|
+
max_dom_depth: {
|
|
771
|
+
wire_key: 'maxDomDepth',
|
|
772
|
+
required: false,
|
|
773
|
+
nullable: true,
|
|
774
|
+
primitive: 'integer',
|
|
775
|
+
min: 0,
|
|
776
|
+
max: 9_007_199_254_740_991
|
|
777
|
+
},
|
|
778
|
+
max_object_depth: {
|
|
779
|
+
wire_key: 'maxObjectDepth',
|
|
780
|
+
required: false,
|
|
781
|
+
nullable: true,
|
|
782
|
+
primitive: 'integer',
|
|
783
|
+
min: 0,
|
|
784
|
+
max: 9_007_199_254_740_991
|
|
785
|
+
},
|
|
772
786
|
include_shadow_tree: {
|
|
773
787
|
wire_key: 'includeShadowTree',
|
|
774
788
|
required: false,
|
|
@@ -780,9 +794,9 @@ module Selenium
|
|
|
780
794
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
781
795
|
# @see https://w3c.github.io/webdriver-bidi/#type-script-StackFrame
|
|
782
796
|
StackFrame = Serialization::Record.define(
|
|
783
|
-
column_number: {wire_key: 'columnNumber', primitive: 'integer'},
|
|
797
|
+
column_number: {wire_key: 'columnNumber', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
784
798
|
function_name: {wire_key: 'functionName', primitive: 'string'},
|
|
785
|
-
line_number: {wire_key: 'lineNumber', primitive: 'integer'},
|
|
799
|
+
line_number: {wire_key: 'lineNumber', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
786
800
|
url: {wire_key: 'url', primitive: 'string'}
|
|
787
801
|
)
|
|
788
802
|
|
|
@@ -832,8 +846,8 @@ module Selenium
|
|
|
832
846
|
AddPreloadScriptParameters = Serialization::Record.define(
|
|
833
847
|
function_declaration: {wire_key: 'functionDeclaration', primitive: 'string'},
|
|
834
848
|
arguments: {wire_key: 'arguments', required: false, ref: 'Script::ChannelValue', list: true},
|
|
835
|
-
contexts: {wire_key: 'contexts', required: false, list: true},
|
|
836
|
-
user_contexts: {wire_key: 'userContexts', required: false, list: true},
|
|
849
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
|
|
850
|
+
user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'},
|
|
837
851
|
sandbox: {wire_key: 'sandbox', required: false, primitive: 'string'}
|
|
838
852
|
)
|
|
839
853
|
|
|
@@ -846,7 +860,7 @@ module Selenium
|
|
|
846
860
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
847
861
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-scriptdisownparameters
|
|
848
862
|
DisownParameters = Serialization::Record.define(
|
|
849
|
-
handles: {wire_key: 'handles', list: true},
|
|
863
|
+
handles: {wire_key: 'handles', list: true, primitive: 'string'},
|
|
850
864
|
target: {wire_key: 'target', ref: 'Script::Target'}
|
|
851
865
|
)
|
|
852
866
|
|
|
@@ -995,7 +1009,7 @@ module Selenium
|
|
|
995
1009
|
this: this,
|
|
996
1010
|
user_activation: user_activation
|
|
997
1011
|
)
|
|
998
|
-
execute(cmd: 'script.callFunction', params: params, result: Script::
|
|
1012
|
+
execute(cmd: 'script.callFunction', params: params, result: Script::EvaluationResult)
|
|
999
1013
|
end
|
|
1000
1014
|
|
|
1001
1015
|
# @api private
|
|
@@ -1026,7 +1040,7 @@ module Selenium
|
|
|
1026
1040
|
serialization_options: serialization_options,
|
|
1027
1041
|
user_activation: user_activation
|
|
1028
1042
|
)
|
|
1029
|
-
execute(cmd: 'script.evaluate', params: params, result: Script::
|
|
1043
|
+
execute(cmd: 'script.evaluate', params: params, result: Script::EvaluationResult)
|
|
1030
1044
|
end
|
|
1031
1045
|
|
|
1032
1046
|
# @api private
|
|
@@ -35,6 +35,16 @@ module Selenium
|
|
|
35
35
|
ignore: 'ignore'
|
|
36
36
|
}.freeze
|
|
37
37
|
|
|
38
|
+
CAPABILITY_REQUEST_FIREFOX_OPTIONS_LEVEL = {
|
|
39
|
+
trace: 'trace',
|
|
40
|
+
debug: 'debug',
|
|
41
|
+
config: 'config',
|
|
42
|
+
info: 'info',
|
|
43
|
+
warn: 'warn',
|
|
44
|
+
error: 'error',
|
|
45
|
+
fatal: 'fatal'
|
|
46
|
+
}.freeze
|
|
47
|
+
|
|
38
48
|
# @api private
|
|
39
49
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
40
50
|
# @see https://w3c.github.io/webdriver-bidi/#type-session-CapabilitiesRequest
|
|
@@ -57,6 +67,11 @@ module Selenium
|
|
|
57
67
|
required: false,
|
|
58
68
|
ref: 'Session::UserPromptHandler'
|
|
59
69
|
},
|
|
70
|
+
moz_firefox_options: {
|
|
71
|
+
wire_key: 'moz:firefoxOptions',
|
|
72
|
+
required: false,
|
|
73
|
+
ref: 'Session::CapabilityRequestFirefoxOptions'
|
|
74
|
+
},
|
|
60
75
|
extensible: true
|
|
61
76
|
)
|
|
62
77
|
|
|
@@ -131,8 +146,8 @@ module Selenium
|
|
|
131
146
|
http_proxy: {wire_key: 'httpProxy', required: false, primitive: 'string'},
|
|
132
147
|
ssl_proxy: {wire_key: 'sslProxy', required: false, primitive: 'string'},
|
|
133
148
|
socks_proxy: {wire_key: 'socksProxy', primitive: 'string'},
|
|
134
|
-
socks_version: {wire_key: 'socksVersion', primitive: 'integer'},
|
|
135
|
-
no_proxy: {wire_key: 'noProxy', required: false, list: true},
|
|
149
|
+
socks_version: {wire_key: 'socksVersion', primitive: 'integer', min: 0, max: 255},
|
|
150
|
+
no_proxy: {wire_key: 'noProxy', required: false, list: true, primitive: 'string'},
|
|
136
151
|
extensible: true
|
|
137
152
|
)
|
|
138
153
|
|
|
@@ -141,7 +156,7 @@ module Selenium
|
|
|
141
156
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-sessionsocksproxyconfiguration
|
|
142
157
|
SocksProxyConfiguration = Serialization::Record.define(
|
|
143
158
|
socks_proxy: {wire_key: 'socksProxy', primitive: 'string'},
|
|
144
|
-
socks_version: {wire_key: 'socksVersion', primitive: 'integer'}
|
|
159
|
+
socks_version: {wire_key: 'socksVersion', primitive: 'integer', min: 0, max: 255}
|
|
145
160
|
)
|
|
146
161
|
|
|
147
162
|
# @api private
|
|
@@ -177,20 +192,24 @@ module Selenium
|
|
|
177
192
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
178
193
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-sessionsubscribeparameters
|
|
179
194
|
SubscribeParameters = Serialization::Record.define(
|
|
180
|
-
events: {wire_key: 'events', list: true},
|
|
181
|
-
contexts: {wire_key: 'contexts', required: false, list: true},
|
|
182
|
-
user_contexts: {wire_key: 'userContexts', required: false, list: true}
|
|
195
|
+
events: {wire_key: 'events', list: true, primitive: 'string'},
|
|
196
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
|
|
197
|
+
user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
|
|
183
198
|
)
|
|
184
199
|
|
|
185
200
|
# @api private
|
|
186
201
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
187
202
|
# @see https://w3c.github.io/webdriver-bidi/#type-session-UnsubscribeByIDRequest
|
|
188
|
-
UnsubscribeByIDRequest = Serialization::Record.define(
|
|
203
|
+
UnsubscribeByIDRequest = Serialization::Record.define(
|
|
204
|
+
subscriptions: {wire_key: 'subscriptions', list: true, primitive: 'string'}
|
|
205
|
+
)
|
|
189
206
|
|
|
190
207
|
# @api private
|
|
191
208
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
192
209
|
# @see https://w3c.github.io/webdriver-bidi/#type-session-UnsubscribeByAttributesRequest
|
|
193
|
-
UnsubscribeByAttributesRequest = Serialization::Record.define(
|
|
210
|
+
UnsubscribeByAttributesRequest = Serialization::Record.define(
|
|
211
|
+
events: {wire_key: 'events', list: true, primitive: 'string'}
|
|
212
|
+
)
|
|
194
213
|
|
|
195
214
|
# @api private
|
|
196
215
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
@@ -231,6 +250,38 @@ module Selenium
|
|
|
231
250
|
object_only
|
|
232
251
|
end
|
|
233
252
|
|
|
253
|
+
# @api private
|
|
254
|
+
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
255
|
+
CapabilityRequestFirefoxOptions = Serialization::Record.define(
|
|
256
|
+
android_package: {wire_key: 'androidPackage', required: false, primitive: 'string'},
|
|
257
|
+
android_activity: {wire_key: 'androidActivity', required: false, primitive: 'string'},
|
|
258
|
+
android_device_serial: {wire_key: 'androidDeviceSerial', required: false, primitive: 'string'},
|
|
259
|
+
android_intent_arguments: {
|
|
260
|
+
wire_key: 'androidIntentArguments',
|
|
261
|
+
required: false,
|
|
262
|
+
list: true,
|
|
263
|
+
primitive: 'string'
|
|
264
|
+
},
|
|
265
|
+
args: {wire_key: 'args', required: false, list: true, primitive: 'string'},
|
|
266
|
+
binary: {wire_key: 'binary', required: false, primitive: 'string'},
|
|
267
|
+
env: {wire_key: 'env', required: false, map: 'string'},
|
|
268
|
+
log: {wire_key: 'log', required: false, ref: 'Session::CapabilityRequestFirefoxOptions::Log'},
|
|
269
|
+
prefs: {
|
|
270
|
+
wire_key: 'prefs',
|
|
271
|
+
required: false,
|
|
272
|
+
map: %w[string boolean integer],
|
|
273
|
+
min: -9_007_199_254_740_991,
|
|
274
|
+
max: 9_007_199_254_740_991
|
|
275
|
+
},
|
|
276
|
+
profile: {wire_key: 'profile', required: false, primitive: 'string'}
|
|
277
|
+
)
|
|
278
|
+
|
|
279
|
+
# @api private
|
|
280
|
+
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
281
|
+
CapabilityRequestFirefoxOptions::Log = Serialization::Record.define(
|
|
282
|
+
level: {wire_key: 'level', required: false, enum: 'Session::CAPABILITY_REQUEST_FIREFOX_OPTIONS_LEVEL'}
|
|
283
|
+
)
|
|
284
|
+
|
|
234
285
|
def capabilities_request(**) = CapabilitiesRequest.new(**)
|
|
235
286
|
def capability_request(**) = CapabilityRequest.new(**)
|
|
236
287
|
def proxy_configuration = ProxyConfiguration
|
|
@@ -242,6 +293,8 @@ module Selenium
|
|
|
242
293
|
def user_prompt_handler(**) = UserPromptHandler.new(**)
|
|
243
294
|
def unsubscribe_by_id_request(**) = UnsubscribeByIDRequest.new(**)
|
|
244
295
|
def unsubscribe_by_attributes_request(**) = UnsubscribeByAttributesRequest.new(**)
|
|
296
|
+
def capability_request_firefox_options(**) = CapabilityRequestFirefoxOptions.new(**)
|
|
297
|
+
def capability_request_firefox_options_log(**) = CapabilityRequestFirefoxOptions::Log.new(**)
|
|
245
298
|
|
|
246
299
|
# @api private
|
|
247
300
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
@@ -45,11 +45,11 @@ module Selenium
|
|
|
45
45
|
value: {wire_key: 'value', required: false, ref: 'Network::BytesValue'},
|
|
46
46
|
domain: {wire_key: 'domain', required: false, primitive: 'string'},
|
|
47
47
|
path: {wire_key: 'path', required: false, primitive: 'string'},
|
|
48
|
-
size: {wire_key: 'size', required: false, primitive: 'integer'},
|
|
48
|
+
size: {wire_key: 'size', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
49
49
|
http_only: {wire_key: 'httpOnly', required: false, primitive: 'boolean'},
|
|
50
50
|
secure: {wire_key: 'secure', required: false, primitive: 'boolean'},
|
|
51
51
|
same_site: {wire_key: 'sameSite', required: false, enum: 'Network::SAME_SITE'},
|
|
52
|
-
expiry: {wire_key: 'expiry', required: false, primitive: 'integer'},
|
|
52
|
+
expiry: {wire_key: 'expiry', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
53
53
|
extensible: true
|
|
54
54
|
)
|
|
55
55
|
|
|
@@ -113,7 +113,7 @@ module Selenium
|
|
|
113
113
|
http_only: {wire_key: 'httpOnly', required: false, primitive: 'boolean'},
|
|
114
114
|
secure: {wire_key: 'secure', required: false, primitive: 'boolean'},
|
|
115
115
|
same_site: {wire_key: 'sameSite', required: false, enum: 'Network::SAME_SITE'},
|
|
116
|
-
expiry: {wire_key: 'expiry', required: false, primitive: 'integer'},
|
|
116
|
+
expiry: {wire_key: 'expiry', required: false, primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
117
117
|
extensible: true
|
|
118
118
|
)
|
|
119
119
|
|
|
@@ -45,7 +45,7 @@ module Selenium
|
|
|
45
45
|
mobile: {wire_key: 'mobile', required: false, primitive: 'boolean'},
|
|
46
46
|
bitness: {wire_key: 'bitness', required: false, primitive: 'string'},
|
|
47
47
|
wow64: {wire_key: 'wow64', required: false, primitive: 'boolean'},
|
|
48
|
-
form_factors: {wire_key: 'formFactors', required: false, list: true}
|
|
48
|
+
form_factors: {wire_key: 'formFactors', required: false, list: true, primitive: 'string'}
|
|
49
49
|
)
|
|
50
50
|
|
|
51
51
|
# @api private
|
|
@@ -60,8 +60,8 @@ module Selenium
|
|
|
60
60
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
61
61
|
SetClientHintsOverrideCommandParams = Serialization::Record.define(
|
|
62
62
|
client_hints: {wire_key: 'clientHints', nullable: true, ref: 'UserAgentClientHints::ClientHintsMetadata'},
|
|
63
|
-
contexts: {wire_key: 'contexts', required: false, list: true},
|
|
64
|
-
user_contexts: {wire_key: 'userContexts', required: false, list: true}
|
|
63
|
+
contexts: {wire_key: 'contexts', required: false, list: true, primitive: 'string'},
|
|
64
|
+
user_contexts: {wire_key: 'userContexts', required: false, list: true, primitive: 'string'}
|
|
65
65
|
)
|
|
66
66
|
|
|
67
67
|
def client_hints_metadata(**) = ClientHintsMetadata.new(**)
|
|
@@ -32,8 +32,7 @@ module Selenium
|
|
|
32
32
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
33
33
|
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-webextensioninstallparameters
|
|
34
34
|
InstallParameters = Serialization::Record.define(
|
|
35
|
-
extension_data: {wire_key: 'extensionData', ref: 'WebExtension::ExtensionData'}
|
|
36
|
-
extensible: true
|
|
35
|
+
extension_data: {wire_key: 'extensionData', ref: 'WebExtension::ExtensionData'}
|
|
37
36
|
)
|
|
38
37
|
|
|
39
38
|
# @api private
|
|
@@ -99,7 +98,7 @@ module Selenium
|
|
|
99
98
|
id: {wire_key: 'id', primitive: 'string'},
|
|
100
99
|
name: {wire_key: 'name', primitive: 'string'},
|
|
101
100
|
version: {wire_key: 'version', primitive: 'string'},
|
|
102
|
-
manifest_version: {wire_key: 'manifestVersion', primitive: 'integer'},
|
|
101
|
+
manifest_version: {wire_key: 'manifestVersion', primitive: 'integer', min: 0, max: 9_007_199_254_740_991},
|
|
103
102
|
is_active: {wire_key: 'isActive', primitive: 'boolean'},
|
|
104
103
|
is_system: {wire_key: 'isSystem', primitive: 'boolean'},
|
|
105
104
|
hidden: {wire_key: 'hidden', primitive: 'boolean'},
|
|
@@ -114,7 +113,7 @@ module Selenium
|
|
|
114
113
|
uuid: {wire_key: 'uuid', primitive: 'string'},
|
|
115
114
|
base_url: {wire_key: 'baseURL', primitive: 'string'},
|
|
116
115
|
extension_url: {wire_key: 'extensionURL', primitive: 'string'},
|
|
117
|
-
background_scripts: {wire_key: 'backgroundScripts', list: true}
|
|
116
|
+
background_scripts: {wire_key: 'backgroundScripts', list: true, primitive: 'string'}
|
|
118
117
|
)
|
|
119
118
|
|
|
120
119
|
def extension_data = ExtensionData
|
|
@@ -143,15 +142,24 @@ module Selenium
|
|
|
143
142
|
# moz: vendor variant of WebExtension, with browser-specific commands and params.
|
|
144
143
|
# Construct Moz.new(source) for a matching session; other sessions use WebExtension.
|
|
145
144
|
class Moz < WebExtension
|
|
145
|
+
# @api private
|
|
146
|
+
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
147
|
+
# @see https://w3c.github.io/webdriver-bidi/#cddl-type-webextensioninstallparameters
|
|
148
|
+
InstallParameters = Serialization::Record.define(
|
|
149
|
+
extension_data: {wire_key: 'extensionData', ref: 'WebExtension::ExtensionData'},
|
|
150
|
+
allow_private_browsing: {wire_key: 'moz:allowPrivateBrowsing', required: false, primitive: 'boolean'},
|
|
151
|
+
permanent: {wire_key: 'moz:permanent', required: false, primitive: 'boolean'}
|
|
152
|
+
)
|
|
153
|
+
|
|
146
154
|
# @api private
|
|
147
155
|
# @see https://www.selenium.dev/documentation/warnings/bidi-implementation/
|
|
148
156
|
# @see https://w3c.github.io/webdriver-bidi/#command-webExtension-install
|
|
149
157
|
def install(extension_data:, allow_private_browsing: Serialization::UNSET, permanent: Serialization::UNSET)
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
|
|
158
|
+
params = InstallParameters.new(
|
|
159
|
+
extension_data: extension_data,
|
|
160
|
+
allow_private_browsing: allow_private_browsing,
|
|
161
|
+
permanent: permanent
|
|
162
|
+
)
|
|
155
163
|
execute(cmd: 'webExtension.install', params: params, result: WebExtension::InstallResult)
|
|
156
164
|
end
|
|
157
165
|
|