webext-schema 7.0.0 → 7.1.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.
@@ -4815,6 +4815,12 @@
4815
4815
  "optional": true,
4816
4816
  "minimum": -1,
4817
4817
  "description": "The ID of the group that the tab belongs to. $(ref:tabGroups.TAB_GROUP_ID_NONE) (-1) if the tab does not belong to a tab group."
4818
+ },
4819
+ "splitViewId": {
4820
+ "type": "integer",
4821
+ "optional": true,
4822
+ "minimum": -1,
4823
+ "description": "The ID of the Split View that the tab belongs to. $(ref:tabs.SPLIT_VIEW_ID_NONE) if the tab does not belong to a split view."
4818
4824
  }
4819
4825
  }
4820
4826
  },
@@ -5032,6 +5038,7 @@
5032
5038
  "mutedInfo",
5033
5039
  "pinned",
5034
5040
  "sharingState",
5041
+ "splitViewId",
5035
5042
  "status",
5036
5043
  "title",
5037
5044
  "url"
@@ -5080,6 +5087,10 @@
5080
5087
  "TAB_ID_NONE": {
5081
5088
  "value": -1,
5082
5089
  "description": "An ID which represents the absence of a browser tab."
5090
+ },
5091
+ "SPLIT_VIEW_ID_NONE": {
5092
+ "value": -1,
5093
+ "description": "A value for use with splitViewId to represent that the tab is not a member of a Split View."
5083
5094
  }
5084
5095
  },
5085
5096
  "functions": [
@@ -5149,6 +5160,11 @@
5149
5160
  "optional": true,
5150
5161
  "minimum": 0,
5151
5162
  "description": "Open a port to a specific $(topic:frame_ids)[frame] identified by <code>frameId</code> instead of all frames in the tab."
5163
+ },
5164
+ "documentId": {
5165
+ "type": "string",
5166
+ "optional": true,
5167
+ "description": "Open a port to a specific document identified by <code>documentId</code> instead of all frames in the tab."
5152
5168
  }
5153
5169
  },
5154
5170
  "optional": true
@@ -5183,6 +5199,11 @@
5183
5199
  "optional": true,
5184
5200
  "minimum": 0,
5185
5201
  "description": "Send a message to a specific $(topic:frame_ids)[frame] identified by <code>frameId</code> instead of all frames in the tab."
5202
+ },
5203
+ "documentId": {
5204
+ "type": "string",
5205
+ "optional": true,
5206
+ "description": "Send a message to a specific document identified by <code>documentId</code> instead of all frames in the tab."
5186
5207
  }
5187
5208
  },
5188
5209
  "optional": true
@@ -5464,6 +5485,12 @@
5464
5485
  "optional": true,
5465
5486
  "description": "The ID of the group that the tabs are in, or $(ref:tabGroups.TAB_GROUP_ID_NONE) (-1) for ungrouped tabs."
5466
5487
  },
5488
+ "splitViewId": {
5489
+ "type": "integer",
5490
+ "minimum": -1,
5491
+ "optional": true,
5492
+ "description": "The ID of the Split View that the tab belongs to. $(ref:tabs.SPLIT_VIEW_ID_NONE) if the tab does not belong to a split view."
5493
+ },
5467
5494
  "screen": {
5468
5495
  "choices": [
5469
5496
  {
@@ -6478,6 +6505,12 @@
6478
6505
  "optional": true,
6479
6506
  "description": "The tab's new sharing state for screen, microphone and camera."
6480
6507
  },
6508
+ "splitViewId": {
6509
+ "type": "integer",
6510
+ "optional": true,
6511
+ "minimum": -1,
6512
+ "description": "The ID of the Split View that the tab belongs to. $(ref:tabs.SPLIT_VIEW_ID_NONE) if the tab does not belong to a split view."
6513
+ },
6481
6514
  "status": {
6482
6515
  "type": "string",
6483
6516
  "optional": true,
@@ -8263,7 +8296,17 @@
8263
8296
  "parameters": [
8264
8297
  {
8265
8298
  "name": "details",
8266
- "$ref": "Details"
8299
+ "optional": true,
8300
+ "choices": [
8301
+ {
8302
+ "$ref": "Details"
8303
+ },
8304
+ {
8305
+ "type": "integer",
8306
+ "minimum": 0,
8307
+ "description": "The id of the tab for which you want to query its enabled state."
8308
+ }
8309
+ ]
8267
8310
  }
8268
8311
  ]
8269
8312
  },
@@ -9266,6 +9309,68 @@
9266
9309
  }
9267
9310
  ]
9268
9311
  },
9312
+ {
9313
+ "name": "getSupportedColors",
9314
+ "type": "function",
9315
+ "description": "Retrieves the list of colors supported by contextual identities.",
9316
+ "async": "callback",
9317
+ "parameters": [
9318
+ {
9319
+ "name": "callback",
9320
+ "type": "function",
9321
+ "parameters": [
9322
+ {
9323
+ "name": "colors",
9324
+ "type": "array",
9325
+ "items": {
9326
+ "type": "object",
9327
+ "properties": {
9328
+ "color": {
9329
+ "type": "string",
9330
+ "description": "The color name, as accepted by the color property of create and update."
9331
+ },
9332
+ "colorCode": {
9333
+ "type": "string",
9334
+ "description": "The color hash for this color name."
9335
+ }
9336
+ }
9337
+ }
9338
+ }
9339
+ ]
9340
+ }
9341
+ ]
9342
+ },
9343
+ {
9344
+ "name": "getSupportedIcons",
9345
+ "type": "function",
9346
+ "description": "Retrieves the list of icons supported by contextual identities.",
9347
+ "async": "callback",
9348
+ "parameters": [
9349
+ {
9350
+ "name": "callback",
9351
+ "type": "function",
9352
+ "parameters": [
9353
+ {
9354
+ "name": "icons",
9355
+ "type": "array",
9356
+ "items": {
9357
+ "type": "object",
9358
+ "properties": {
9359
+ "icon": {
9360
+ "type": "string",
9361
+ "description": "The icon name, as accepted by the icon property of create and update."
9362
+ },
9363
+ "iconUrl": {
9364
+ "type": "string",
9365
+ "description": "The icon url for this icon name."
9366
+ }
9367
+ }
9368
+ }
9369
+ }
9370
+ ]
9371
+ }
9372
+ ]
9373
+ },
9269
9374
  {
9270
9375
  "name": "create",
9271
9376
  "type": "function",
@@ -12823,7 +12928,6 @@
12823
12928
  "nativeallocations",
12824
12929
  "ipcmessages",
12825
12930
  "audiocallbacktracing",
12826
- "cpu",
12827
12931
  "notimerresolutionchange",
12828
12932
  "cpuallthreads",
12829
12933
  "samplingallthreads",
@@ -12992,7 +13096,7 @@
12992
13096
  "properties": {
12993
13097
  "default_locale": {
12994
13098
  "type": "string",
12995
- "optional": "true"
13099
+ "optional": true
12996
13100
  },
12997
13101
  "l10n_resources": {
12998
13102
  "type": "array",
@@ -14073,7 +14177,6 @@
14073
14177
  },
14074
14178
  "content_security_policy": {
14075
14179
  "optional": true,
14076
- "onError": "warn",
14077
14180
  "choices": [
14078
14181
  {
14079
14182
  "max_manifest_version": 2,
@@ -14092,11 +14195,40 @@
14092
14195
  "optional": true,
14093
14196
  "format": "contentSecurityPolicy",
14094
14197
  "description": "The Content Security Policy used for extension pages."
14198
+ },
14199
+ "sandbox": {
14200
+ "type": "string",
14201
+ "optional": true,
14202
+ "format": "contentSecurityPolicySandbox",
14203
+ "description": "The content security policy used for sandboxed extension pages."
14095
14204
  }
14096
14205
  }
14097
14206
  }
14098
14207
  ]
14099
14208
  },
14209
+ "sandbox": {
14210
+ "type": "object",
14211
+ "optional": true,
14212
+ "additionalProperties": {
14213
+ "$ref": "UnrecognizedProperty"
14214
+ },
14215
+ "properties": {
14216
+ "pages": {
14217
+ "type": "array",
14218
+ "items": {
14219
+ "type": "string"
14220
+ },
14221
+ "description": "The list of pages in the form of globs to serve as sandboxed extension pages."
14222
+ },
14223
+ "content_security_policy": {
14224
+ "type": "string",
14225
+ "optional": true,
14226
+ "max_manifest_version": 2,
14227
+ "format": "contentSecurityPolicySandbox",
14228
+ "description": "The content security policy used for sandboxed extension pages."
14229
+ }
14230
+ }
14231
+ },
14100
14232
  "permissions": {
14101
14233
  "default": [],
14102
14234
  "optional": true,
@@ -16077,6 +16209,16 @@
16077
16209
  "type": "integer",
16078
16210
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
16079
16211
  },
16212
+ "documentId": {
16213
+ "type": "string",
16214
+ "optional": true,
16215
+ "description": "The UUID of the document making the request."
16216
+ },
16217
+ "parentDocumentId": {
16218
+ "type": "string",
16219
+ "optional": true,
16220
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
16221
+ },
16080
16222
  "incognito": {
16081
16223
  "type": "boolean",
16082
16224
  "optional": true,
@@ -16370,6 +16512,123 @@
16370
16512
  }
16371
16513
  }
16372
16514
  ],
16515
+ "public_suffix.json": [
16516
+ {
16517
+ "namespace": "manifest",
16518
+ "types": [
16519
+ {
16520
+ "$extend": "OptionalPermissionNoPrompt",
16521
+ "choices": [
16522
+ {
16523
+ "type": "string",
16524
+ "enum": [
16525
+ "publicSuffix"
16526
+ ]
16527
+ }
16528
+ ]
16529
+ }
16530
+ ]
16531
+ },
16532
+ {
16533
+ "namespace": "publicSuffix",
16534
+ "description": "API to obtain the registrable domain / eTLD+1 from a domain name.",
16535
+ "permissions": [
16536
+ "publicSuffix"
16537
+ ],
16538
+ "types": [
16539
+ {
16540
+ "id": "DomainEncoding",
16541
+ "type": "string",
16542
+ "description": "The available encoding types for the returned domain.",
16543
+ "enum": [
16544
+ "punycode",
16545
+ "display"
16546
+ ]
16547
+ }
16548
+ ],
16549
+ "functions": [
16550
+ {
16551
+ "name": "isKnownSuffix",
16552
+ "type": "function",
16553
+ "description": "Checks if the given hostname is itself a known public suffix / eTLD (i.e. in the PSL).",
16554
+ "parameters": [
16555
+ {
16556
+ "name": "hostname",
16557
+ "type": "string"
16558
+ }
16559
+ ],
16560
+ "returns": {
16561
+ "type": "boolean",
16562
+ "description": "True if the given hostname is itself a known eTLD."
16563
+ }
16564
+ },
16565
+ {
16566
+ "name": "getKnownSuffix",
16567
+ "type": "function",
16568
+ "description": "Gets the known public suffix / eTLD (i.e. in the PSL), if any, of a given hostname.",
16569
+ "parameters": [
16570
+ {
16571
+ "name": "hostname",
16572
+ "type": "string"
16573
+ }
16574
+ ],
16575
+ "returns": {
16576
+ "type": "string",
16577
+ "optional": true,
16578
+ "description": "The known eTLD of the given hostname, or null if no such known eTLD exists."
16579
+ }
16580
+ },
16581
+ {
16582
+ "name": "getDomain",
16583
+ "type": "function",
16584
+ "description": "Gets the eTLD+1 of a given hostname, or a variant such as IP address if the options allow.",
16585
+ "parameters": [
16586
+ {
16587
+ "name": "hostname",
16588
+ "type": "string"
16589
+ },
16590
+ {
16591
+ "name": "options",
16592
+ "type": "object",
16593
+ "properties": {
16594
+ "encoding": {
16595
+ "$ref": "DomainEncoding",
16596
+ "optional": true,
16597
+ "default": "punycode",
16598
+ "description": "Determines how the returned domain should be encoded."
16599
+ },
16600
+ "allowIPAddress": {
16601
+ "type": "boolean",
16602
+ "optional": true,
16603
+ "default": false,
16604
+ "description": "If true, and the input hostname is an IP address, then this is returned as-is."
16605
+ },
16606
+ "allowPlainSuffix": {
16607
+ "type": "boolean",
16608
+ "optional": true,
16609
+ "default": false,
16610
+ "description": "If true, and the input hostname is itself a known eTLD (without a preceding label) then this is returned as-is."
16611
+ },
16612
+ "allowUnknownSuffix": {
16613
+ "type": "boolean",
16614
+ "optional": true,
16615
+ "default": false,
16616
+ "description": "If true, and the input hostname lacks a known eTLD, and is neither itself a known eTLD nor an IP address, then the returned domain consists of the penultimate two domain labels of the input."
16617
+ }
16618
+ },
16619
+ "optional": true,
16620
+ "default": {}
16621
+ }
16622
+ ],
16623
+ "returns": {
16624
+ "type": "string",
16625
+ "optional": true,
16626
+ "description": "The eTLD+1 (or a variant such as IP address if allowed) of the given hostname, or null if no such eTLD+1 (variant) exists."
16627
+ }
16628
+ }
16629
+ ]
16630
+ }
16631
+ ],
16373
16632
  "runtime.json": [
16374
16633
  {
16375
16634
  "namespace": "manifest",
@@ -16489,7 +16748,6 @@
16489
16748
  },
16490
16749
  "documentId": {
16491
16750
  "type": "string",
16492
- "unsupported": true,
16493
16751
  "optional": true,
16494
16752
  "description": "An UUID for the document associated with this context, or undefined if it is not hosted in a document"
16495
16753
  },
@@ -16574,6 +16832,11 @@
16574
16832
  "optional": true,
16575
16833
  "description": "The $(topic:frame_ids)[frame] that opened the connection. 0 for top-level frames, positive for child frames. This will only be set when <code>tab</code> is set."
16576
16834
  },
16835
+ "documentId": {
16836
+ "type": "string",
16837
+ "optional": true,
16838
+ "description": "A UUID of the document that opened the connection."
16839
+ },
16577
16840
  "id": {
16578
16841
  "type": "string",
16579
16842
  "optional": true,
@@ -16875,6 +17138,27 @@
16875
17138
  "description": "The fully-qualified URL to the resource."
16876
17139
  }
16877
17140
  },
17141
+ {
17142
+ "name": "getDocumentId",
17143
+ "type": "function",
17144
+ "allowedContexts": [
17145
+ "content",
17146
+ "devtools"
17147
+ ],
17148
+ "description": "Get the documentId of any window global or frame element. Throws for invalid targets, such as unloaded frames.",
17149
+ "parameters": [
17150
+ {
17151
+ "type": "any",
17152
+ "name": "target",
17153
+ "description": "A WindowProxy or a browsing context container Element (iframe, frame, embed, or object) for the target frame."
17154
+ }
17155
+ ],
17156
+ "allowCrossOriginArguments": true,
17157
+ "returns": {
17158
+ "type": "string",
17159
+ "description": "The documentId of the target document."
17160
+ }
17161
+ },
16878
17162
  {
16879
17163
  "name": "getFrameId",
16880
17164
  "type": "function",
@@ -16887,7 +17171,7 @@
16887
17171
  {
16888
17172
  "type": "any",
16889
17173
  "name": "target",
16890
- "description": "A WindowProxy or a Browsing Context container element (IFrame, Frame, Embed, Object) for the target frame."
17174
+ "description": "A WindowProxy or a browsing context container Element (iframe, frame, embed, or object) for the target frame."
16891
17175
  }
16892
17176
  ],
16893
17177
  "allowCrossOriginArguments": true,
@@ -17493,6 +17777,10 @@
17493
17777
  "type": "object",
17494
17778
  "description": "Result of a script injection.",
17495
17779
  "properties": {
17780
+ "documentId": {
17781
+ "type": "string",
17782
+ "description": "The document associated with the injection."
17783
+ },
17496
17784
  "frameId": {
17497
17785
  "type": "integer",
17498
17786
  "description": "The frame ID associated with the injection."
@@ -17529,6 +17817,14 @@
17529
17817
  "tabId": {
17530
17818
  "type": "number",
17531
17819
  "description": "The ID of the tab into which to inject."
17820
+ },
17821
+ "documentIds": {
17822
+ "type": "array",
17823
+ "optional": true,
17824
+ "description": "The IDs of specific documents to inject into. This must not be set if <code>frameIds</code> or <code>allFrames</code> is set.",
17825
+ "items": {
17826
+ "type": "string"
17827
+ }
17532
17828
  }
17533
17829
  }
17534
17830
  },
@@ -18990,6 +19286,83 @@
18990
19286
  }
18991
19287
  }
18992
19288
  },
19289
+ {
19290
+ "id": "ThemeCSSGradient",
19291
+ "description": "A CSS gradient that can be used as a theme background, in addition to image assets. The single property name selects the gradient function, and its value holds the gradient's arguments, e.g. `{ \"linear-gradient\": \"to bottom, #FF6BBA, #FFC999\" }`.",
19292
+ "choices": [
19293
+ {
19294
+ "type": "object",
19295
+ "postprocess": "validCSSGradient",
19296
+ "properties": {
19297
+ "linear-gradient": {
19298
+ "type": "string"
19299
+ }
19300
+ },
19301
+ "additionalProperties": false
19302
+ },
19303
+ {
19304
+ "type": "object",
19305
+ "postprocess": "validCSSGradient",
19306
+ "properties": {
19307
+ "radial-gradient": {
19308
+ "type": "string"
19309
+ }
19310
+ },
19311
+ "additionalProperties": false
19312
+ },
19313
+ {
19314
+ "type": "object",
19315
+ "postprocess": "validCSSGradient",
19316
+ "properties": {
19317
+ "conic-gradient": {
19318
+ "type": "string"
19319
+ }
19320
+ },
19321
+ "additionalProperties": false
19322
+ },
19323
+ {
19324
+ "type": "object",
19325
+ "postprocess": "validCSSGradient",
19326
+ "properties": {
19327
+ "repeating-linear-gradient": {
19328
+ "type": "string"
19329
+ }
19330
+ },
19331
+ "additionalProperties": false
19332
+ },
19333
+ {
19334
+ "type": "object",
19335
+ "postprocess": "validCSSGradient",
19336
+ "properties": {
19337
+ "repeating-radial-gradient": {
19338
+ "type": "string"
19339
+ }
19340
+ },
19341
+ "additionalProperties": false
19342
+ },
19343
+ {
19344
+ "type": "object",
19345
+ "postprocess": "validCSSGradient",
19346
+ "properties": {
19347
+ "repeating-conic-gradient": {
19348
+ "type": "string"
19349
+ }
19350
+ },
19351
+ "additionalProperties": false
19352
+ }
19353
+ ]
19354
+ },
19355
+ {
19356
+ "id": "ThemeBackground",
19357
+ "choices": [
19358
+ {
19359
+ "$ref": "ImageDataOrExtensionURL"
19360
+ },
19361
+ {
19362
+ "$ref": "ThemeCSSGradient"
19363
+ }
19364
+ ]
19365
+ },
18993
19366
  {
18994
19367
  "id": "ThemeType",
18995
19368
  "type": "object",
@@ -19001,7 +19374,7 @@
19001
19374
  "additional_backgrounds": {
19002
19375
  "type": "array",
19003
19376
  "items": {
19004
- "$ref": "ImageDataOrExtensionURL"
19377
+ "$ref": "ThemeBackground"
19005
19378
  },
19006
19379
  "maxItems": 15,
19007
19380
  "optional": true
@@ -19012,7 +19385,7 @@
19012
19385
  "deprecated": "Unsupported images property, use 'theme.images.theme_frame', this alias is ignored in Firefox >= 70."
19013
19386
  },
19014
19387
  "theme_frame": {
19015
- "$ref": "ImageDataOrExtensionURL",
19388
+ "$ref": "ThemeBackground",
19016
19389
  "optional": true
19017
19390
  }
19018
19391
  },
@@ -19243,6 +19616,14 @@
19243
19616
  "maxItems": 15,
19244
19617
  "optional": true
19245
19618
  },
19619
+ "additional_backgrounds_size": {
19620
+ "type": "array",
19621
+ "items": {
19622
+ "type": "string"
19623
+ },
19624
+ "maxItems": 15,
19625
+ "optional": true
19626
+ },
19246
19627
  "color_scheme": {
19247
19628
  "optional": true,
19248
19629
  "type": "string",
@@ -19955,6 +20336,100 @@
19955
20336
  "description": "Whether the runtime.sendMessage and runtime.connect methods are exposed. Defaults to not exposing these messaging APIs."
19956
20337
  }
19957
20338
  }
20339
+ },
20340
+ {
20341
+ "id": "UserScriptInjection",
20342
+ "min_manifest_version": 3,
20343
+ "type": "object",
20344
+ "description": "Details of a user script injection",
20345
+ "properties": {
20346
+ "injectImmediately": {
20347
+ "type": "boolean",
20348
+ "optional": true,
20349
+ "description": "Whether the injection should be triggered in the target as soon as possible. Note that this is not a guarantee that injection will occur prior to page load, as the page may have already loaded by the time the script reaches the target."
20350
+ },
20351
+ "js": {
20352
+ "type": "array",
20353
+ "optional": false,
20354
+ "description": "The list of ScriptSource objects defining sources of scripts to be injected into matching pages.",
20355
+ "items": {
20356
+ "$ref": "ScriptSource"
20357
+ }
20358
+ },
20359
+ "target": {
20360
+ "$ref": "InjectionTarget",
20361
+ "description": "Details specifying the target into which to inject the script."
20362
+ },
20363
+ "world": {
20364
+ "$ref": "ExecutionWorld",
20365
+ "optional": true,
20366
+ "description": "The JavaScript \"world\" to run the script in. The default is `USER_SCRIPT`."
20367
+ },
20368
+ "worldId": {
20369
+ "type": "string",
20370
+ "optional": true,
20371
+ "description": "A specific user script world ID to execute in. Only valid if `world` is omitted or is `USER_SCRIPT`. If `worldId` is omitted, the default value is an empty string (\"\") and the script will execute in the default world."
20372
+ }
20373
+ }
20374
+ },
20375
+ {
20376
+ "id": "InjectionTarget",
20377
+ "min_manifest_version": 3,
20378
+ "type": "object",
20379
+ "description": "Details specifying the target into which to inject the script.",
20380
+ "properties": {
20381
+ "allFrames": {
20382
+ "type": "boolean",
20383
+ "optional": true,
20384
+ "description": "Whether the script should inject into all frames within the tab. Defaults to false. This must not be true if `frameIds` is specified."
20385
+ },
20386
+ "documentIds": {
20387
+ "type": "array",
20388
+ "optional": true,
20389
+ "description": "The IDs of specific documentIds to inject into. This must not be set if frameIds is set.",
20390
+ "items": {
20391
+ "type": "string"
20392
+ }
20393
+ },
20394
+ "frameIds": {
20395
+ "type": "array",
20396
+ "optional": true,
20397
+ "description": "The IDs of specific frames to inject into.",
20398
+ "items": {
20399
+ "type": "number"
20400
+ }
20401
+ },
20402
+ "tabId": {
20403
+ "type": "number",
20404
+ "description": "The ID of the tab into which to inject."
20405
+ }
20406
+ }
20407
+ },
20408
+ {
20409
+ "id": "InjectionResult",
20410
+ "min_manifest_version": 3,
20411
+ "type": "object",
20412
+ "description": "Result of a user script injection.",
20413
+ "properties": {
20414
+ "documentId": {
20415
+ "type": "string",
20416
+ "description": "Document ID associated with the injection."
20417
+ },
20418
+ "frameId": {
20419
+ "type": "integer",
20420
+ "description": "Frame ID associated with the injection."
20421
+ },
20422
+ "result": {
20423
+ "type": "any",
20424
+ "optional": true,
20425
+ "description": "Result of the script injection if any. This is mutually exclusive with error."
20426
+ },
20427
+ "error": {
20428
+ "type": "any",
20429
+ "optional": true,
20430
+ "description": "Error message if any. This is mutually exclusive with result. The value is typically an (Error) object with a message property, but could be any value (including primitives and undefined) if the user script threw or rejected with such a value."
20431
+ }
20432
+ }
19958
20433
  }
19959
20434
  ],
19960
20435
  "functions": [
@@ -20130,6 +20605,34 @@
20130
20605
  ]
20131
20606
  }
20132
20607
  ]
20608
+ },
20609
+ {
20610
+ "name": "execute",
20611
+ "min_manifest_version": 3,
20612
+ "type": "function",
20613
+ "description": "Executes one or more ephemeral user scripts into a specific tab.",
20614
+ "async": "callback",
20615
+ "parameters": [
20616
+ {
20617
+ "name": "injection",
20618
+ "$ref": "UserScriptInjection",
20619
+ "description": "The details of the user script which to inject."
20620
+ },
20621
+ {
20622
+ "name": "callback",
20623
+ "type": "function",
20624
+ "description": "Invoked upon completion of the injection. The resulting array contains the result of execution for each frame where the injection succeeded.",
20625
+ "parameters": [
20626
+ {
20627
+ "name": "results",
20628
+ "type": "array",
20629
+ "items": {
20630
+ "$ref": "InjectionResult"
20631
+ }
20632
+ }
20633
+ ]
20634
+ }
20635
+ ]
20133
20636
  }
20134
20637
  ]
20135
20638
  }
@@ -20272,7 +20775,7 @@
20272
20775
  {
20273
20776
  "name": "getFrame",
20274
20777
  "type": "function",
20275
- "description": "Retrieves information about the given frame. A frame refers to an &lt;iframe&gt; or a &lt;frame&gt; of a web page and is identified by a tab ID and a frame ID.",
20778
+ "description": "Retrieves information about the given frame. A frame refers to an &lt;iframe&gt; or a &lt;frame&gt; of a web page and is identified by a tab ID and a frame ID, or by its document ID.",
20276
20779
  "async": "callback",
20277
20780
  "parameters": [
20278
20781
  {
@@ -20281,9 +20784,10 @@
20281
20784
  "description": "Information about the frame to retrieve information about.",
20282
20785
  "properties": {
20283
20786
  "tabId": {
20787
+ "optional": true,
20284
20788
  "type": "integer",
20285
20789
  "minimum": 0,
20286
- "description": "The ID of the tab in which the frame is."
20790
+ "description": "The ID of the tab in which the frame is. Must be specified if documentId is not set."
20287
20791
  },
20288
20792
  "processId": {
20289
20793
  "optional": true,
@@ -20291,9 +20795,15 @@
20291
20795
  "description": "The ID of the process runs the renderer for this tab."
20292
20796
  },
20293
20797
  "frameId": {
20798
+ "optional": true,
20294
20799
  "type": "integer",
20295
20800
  "minimum": 0,
20296
- "description": "The ID of the frame in the given tab."
20801
+ "description": "The ID of the frame in the given tab. Must be specified if documentId is not set."
20802
+ },
20803
+ "documentId": {
20804
+ "optional": true,
20805
+ "type": "string",
20806
+ "description": "The UUID of the document. If provided, tabId and frameId are optional. If all are provided, the frame is only returned if all properties match."
20297
20807
  }
20298
20808
  }
20299
20809
  },
@@ -20327,6 +20837,15 @@
20327
20837
  "parentFrameId": {
20328
20838
  "type": "integer",
20329
20839
  "description": "ID of frame that wraps the frame. Set to -1 of no parent frame exists."
20840
+ },
20841
+ "documentId": {
20842
+ "type": "string",
20843
+ "description": "A UUID of the document loaded."
20844
+ },
20845
+ "parentDocumentId": {
20846
+ "type": "string",
20847
+ "optional": true,
20848
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
20330
20849
  }
20331
20850
  }
20332
20851
  }
@@ -20386,6 +20905,15 @@
20386
20905
  "type": "integer",
20387
20906
  "description": "ID of frame that wraps the frame. Set to -1 of no parent frame exists."
20388
20907
  },
20908
+ "documentId": {
20909
+ "type": "string",
20910
+ "description": "A UUID of the document loaded."
20911
+ },
20912
+ "parentDocumentId": {
20913
+ "type": "string",
20914
+ "optional": true,
20915
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
20916
+ },
20389
20917
  "url": {
20390
20918
  "type": "string",
20391
20919
  "description": "The URL currently associated with this frame."
@@ -20428,6 +20956,11 @@
20428
20956
  "type": "integer",
20429
20957
  "description": "ID of frame that wraps the frame. Set to -1 of no parent frame exists."
20430
20958
  },
20959
+ "parentDocumentId": {
20960
+ "type": "string",
20961
+ "optional": true,
20962
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
20963
+ },
20431
20964
  "timeStamp": {
20432
20965
  "type": "number",
20433
20966
  "description": "The time when the browser was about to start the navigation, in milliseconds since the epoch."
@@ -20469,6 +21002,15 @@
20469
21002
  "type": "integer",
20470
21003
  "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
20471
21004
  },
21005
+ "documentId": {
21006
+ "type": "string",
21007
+ "description": "A UUID of the document loaded."
21008
+ },
21009
+ "parentDocumentId": {
21010
+ "type": "string",
21011
+ "optional": true,
21012
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
21013
+ },
20472
21014
  "transitionType": {
20473
21015
  "$ref": "TransitionType",
20474
21016
  "description": "Cause of the navigation."
@@ -20521,6 +21063,15 @@
20521
21063
  "type": "integer",
20522
21064
  "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
20523
21065
  },
21066
+ "documentId": {
21067
+ "type": "string",
21068
+ "description": "A UUID of the document loaded."
21069
+ },
21070
+ "parentDocumentId": {
21071
+ "type": "string",
21072
+ "optional": true,
21073
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
21074
+ },
20524
21075
  "timeStamp": {
20525
21076
  "type": "number",
20526
21077
  "description": "The time when the page's DOM was fully constructed, in milliseconds since the epoch."
@@ -20562,6 +21113,15 @@
20562
21113
  "type": "integer",
20563
21114
  "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
20564
21115
  },
21116
+ "documentId": {
21117
+ "type": "string",
21118
+ "description": "A UUID of the document loaded."
21119
+ },
21120
+ "parentDocumentId": {
21121
+ "type": "string",
21122
+ "optional": true,
21123
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
21124
+ },
20565
21125
  "timeStamp": {
20566
21126
  "type": "number",
20567
21127
  "description": "The time when the document finished loading, in milliseconds since the epoch."
@@ -20603,6 +21163,15 @@
20603
21163
  "type": "integer",
20604
21164
  "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
20605
21165
  },
21166
+ "documentId": {
21167
+ "type": "string",
21168
+ "description": "A UUID of the document loaded."
21169
+ },
21170
+ "parentDocumentId": {
21171
+ "type": "string",
21172
+ "optional": true,
21173
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
21174
+ },
20606
21175
  "error": {
20607
21176
  "unsupported": true,
20608
21177
  "type": "string",
@@ -20694,6 +21263,15 @@
20694
21263
  "type": "integer",
20695
21264
  "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
20696
21265
  },
21266
+ "documentId": {
21267
+ "type": "string",
21268
+ "description": "A UUID of the document loaded."
21269
+ },
21270
+ "parentDocumentId": {
21271
+ "type": "string",
21272
+ "optional": true,
21273
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
21274
+ },
20697
21275
  "transitionType": {
20698
21276
  "$ref": "TransitionType",
20699
21277
  "description": "Cause of the navigation."
@@ -20771,6 +21349,15 @@
20771
21349
  "type": "integer",
20772
21350
  "description": "0 indicates the navigation happens in the tab content window; a positive value indicates navigation in a subframe. Frame IDs are unique within a tab."
20773
21351
  },
21352
+ "documentId": {
21353
+ "type": "string",
21354
+ "description": "A UUID of the document loaded."
21355
+ },
21356
+ "parentDocumentId": {
21357
+ "type": "string",
21358
+ "optional": true,
21359
+ "description": "A UUID of the parent document owning this frame. This is not set if there is no parent."
21360
+ },
20774
21361
  "transitionType": {
20775
21362
  "$ref": "TransitionType",
20776
21363
  "description": "Cause of the navigation."
@@ -21402,6 +21989,16 @@
21402
21989
  "type": "integer",
21403
21990
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
21404
21991
  },
21992
+ "documentId": {
21993
+ "type": "string",
21994
+ "optional": true,
21995
+ "description": "The UUID of the document making the request."
21996
+ },
21997
+ "parentDocumentId": {
21998
+ "type": "string",
21999
+ "optional": true,
22000
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22001
+ },
21405
22002
  "incognito": {
21406
22003
  "type": "boolean",
21407
22004
  "optional": true,
@@ -21528,6 +22125,16 @@
21528
22125
  "type": "integer",
21529
22126
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
21530
22127
  },
22128
+ "documentId": {
22129
+ "type": "string",
22130
+ "optional": true,
22131
+ "description": "The UUID of the document making the request."
22132
+ },
22133
+ "parentDocumentId": {
22134
+ "type": "string",
22135
+ "optional": true,
22136
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22137
+ },
21531
22138
  "incognito": {
21532
22139
  "type": "boolean",
21533
22140
  "optional": true,
@@ -21627,6 +22234,16 @@
21627
22234
  "type": "integer",
21628
22235
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
21629
22236
  },
22237
+ "documentId": {
22238
+ "type": "string",
22239
+ "optional": true,
22240
+ "description": "The UUID of the document making the request."
22241
+ },
22242
+ "parentDocumentId": {
22243
+ "type": "string",
22244
+ "optional": true,
22245
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22246
+ },
21630
22247
  "incognito": {
21631
22248
  "type": "boolean",
21632
22249
  "optional": true,
@@ -21721,6 +22338,16 @@
21721
22338
  "type": "integer",
21722
22339
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
21723
22340
  },
22341
+ "documentId": {
22342
+ "type": "string",
22343
+ "optional": true,
22344
+ "description": "The UUID of the document making the request."
22345
+ },
22346
+ "parentDocumentId": {
22347
+ "type": "string",
22348
+ "optional": true,
22349
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22350
+ },
21724
22351
  "incognito": {
21725
22352
  "type": "boolean",
21726
22353
  "optional": true,
@@ -21828,6 +22455,16 @@
21828
22455
  "type": "integer",
21829
22456
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
21830
22457
  },
22458
+ "documentId": {
22459
+ "type": "string",
22460
+ "optional": true,
22461
+ "description": "The UUID of the document making the request."
22462
+ },
22463
+ "parentDocumentId": {
22464
+ "type": "string",
22465
+ "optional": true,
22466
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22467
+ },
21831
22468
  "incognito": {
21832
22469
  "type": "boolean",
21833
22470
  "optional": true,
@@ -21972,6 +22609,16 @@
21972
22609
  "type": "integer",
21973
22610
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
21974
22611
  },
22612
+ "documentId": {
22613
+ "type": "string",
22614
+ "optional": true,
22615
+ "description": "The UUID of the document making the request."
22616
+ },
22617
+ "parentDocumentId": {
22618
+ "type": "string",
22619
+ "optional": true,
22620
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22621
+ },
21975
22622
  "incognito": {
21976
22623
  "type": "boolean",
21977
22624
  "optional": true,
@@ -22083,6 +22730,16 @@
22083
22730
  "type": "integer",
22084
22731
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
22085
22732
  },
22733
+ "documentId": {
22734
+ "type": "string",
22735
+ "optional": true,
22736
+ "description": "The UUID of the document making the request."
22737
+ },
22738
+ "parentDocumentId": {
22739
+ "type": "string",
22740
+ "optional": true,
22741
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22742
+ },
22086
22743
  "incognito": {
22087
22744
  "type": "boolean",
22088
22745
  "optional": true,
@@ -22198,6 +22855,16 @@
22198
22855
  "type": "integer",
22199
22856
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
22200
22857
  },
22858
+ "documentId": {
22859
+ "type": "string",
22860
+ "optional": true,
22861
+ "description": "The UUID of the document making the request."
22862
+ },
22863
+ "parentDocumentId": {
22864
+ "type": "string",
22865
+ "optional": true,
22866
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22867
+ },
22201
22868
  "incognito": {
22202
22869
  "type": "boolean",
22203
22870
  "optional": true,
@@ -22316,6 +22983,16 @@
22316
22983
  "type": "integer",
22317
22984
  "description": "ID of frame that wraps the frame which sent the request. Set to -1 if no parent frame exists."
22318
22985
  },
22986
+ "documentId": {
22987
+ "type": "string",
22988
+ "optional": true,
22989
+ "description": "The UUID of the document making the request. This value is not present if the request is a navigation of a frame."
22990
+ },
22991
+ "parentDocumentId": {
22992
+ "type": "string",
22993
+ "optional": true,
22994
+ "description": "The UUID of the parent document owning this frame. This is not set if there is no parent."
22995
+ },
22319
22996
  "incognito": {
22320
22997
  "type": "boolean",
22321
22998
  "optional": true,