webext-schema 2.0.5 → 2.0.6

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.
package/package.json CHANGED
@@ -31,16 +31,16 @@
31
31
  "sinon": "^12.0.1"
32
32
  },
33
33
  "devDependencies": {
34
- "c8": "^7.10.0",
34
+ "c8": "^7.11.0",
35
35
  "chai": "^4.3.4",
36
36
  "eslint": "^7.32.0",
37
37
  "eslint-config-standard": "^16.0.3",
38
- "eslint-plugin-import": "^2.25.3",
39
- "eslint-plugin-jsdoc": "^37.1.0",
38
+ "eslint-plugin-import": "^2.25.4",
39
+ "eslint-plugin-jsdoc": "^37.6.1",
40
40
  "eslint-plugin-node": "^11.1.0",
41
41
  "eslint-plugin-promise": "^5.2.0",
42
42
  "mocha": "^9.1.3",
43
43
  "nock": "^13.2.1"
44
44
  },
45
- "version": "2.0.5"
45
+ "version": "2.0.6"
46
46
  }
@@ -5165,7 +5165,17 @@
5165
5165
  "description": "The position of the tabs within their windows."
5166
5166
  },
5167
5167
  "cookieStoreId": {
5168
- "type": "string",
5168
+ "choices": [
5169
+ {
5170
+ "type": "array",
5171
+ "items": {
5172
+ "type": "string"
5173
+ }
5174
+ },
5175
+ {
5176
+ "type": "string"
5177
+ }
5178
+ ],
5169
5179
  "optional": true,
5170
5180
  "description": "The CookieStoreId used for the tab."
5171
5181
  },
@@ -9033,6 +9043,22 @@
9033
9043
  "$ref": "extensionTypes.RunAt",
9034
9044
  "optional": true,
9035
9045
  "description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
9046
+ },
9047
+ "cookieStoreId": {
9048
+ "choices": [
9049
+ {
9050
+ "type": "array",
9051
+ "minItems": 1,
9052
+ "items": {
9053
+ "type": "string"
9054
+ }
9055
+ },
9056
+ {
9057
+ "type": "string"
9058
+ }
9059
+ ],
9060
+ "optional": true,
9061
+ "description": "limit the set of matched tabs to those that belong to the given cookie store id"
9036
9062
  }
9037
9063
  }
9038
9064
  },
@@ -11737,7 +11763,6 @@
11737
11763
  "screenshots",
11738
11764
  "seqstyle",
11739
11765
  "stackwalk",
11740
- "threads",
11741
11766
  "jstracer",
11742
11767
  "jsallocations",
11743
11768
  "nostacksampling",
@@ -13147,6 +13172,30 @@
13147
13172
  }
13148
13173
  }
13149
13174
  },
13175
+ {
13176
+ "id": "WebExtensionSitePermissionsManifest",
13177
+ "type": "object",
13178
+ "description": "Represents a WebExtension site permissions manifest.json file",
13179
+ "$import": "ManifestBase",
13180
+ "properties": {
13181
+ "site_permissions": {
13182
+ "type": "array",
13183
+ "minItems": 1,
13184
+ "items": {
13185
+ "$ref": "SitePermission"
13186
+ }
13187
+ },
13188
+ "install_origins": {
13189
+ "type": "array",
13190
+ "minItems": 1,
13191
+ "maxItems": 1,
13192
+ "items": {
13193
+ "type": "string",
13194
+ "format": "origin"
13195
+ }
13196
+ }
13197
+ }
13198
+ },
13150
13199
  {
13151
13200
  "id": "ThemeIcons",
13152
13201
  "type": "object",
@@ -13246,6 +13295,18 @@
13246
13295
  }
13247
13296
  ]
13248
13297
  },
13298
+ {
13299
+ "id": "SitePermission",
13300
+ "choices": [
13301
+ {
13302
+ "type": "string",
13303
+ "enum": [
13304
+ "midi",
13305
+ "midi-sysex"
13306
+ ]
13307
+ }
13308
+ ]
13309
+ },
13249
13310
  {
13250
13311
  "id": "HttpURL",
13251
13312
  "type": "string",
@@ -5165,7 +5165,17 @@
5165
5165
  "description": "The position of the tabs within their windows."
5166
5166
  },
5167
5167
  "cookieStoreId": {
5168
- "type": "string",
5168
+ "choices": [
5169
+ {
5170
+ "type": "array",
5171
+ "items": {
5172
+ "type": "string"
5173
+ }
5174
+ },
5175
+ {
5176
+ "type": "string"
5177
+ }
5178
+ ],
5169
5179
  "optional": true,
5170
5180
  "description": "The CookieStoreId used for the tab."
5171
5181
  },
@@ -9033,6 +9043,22 @@
9033
9043
  "$ref": "extensionTypes.RunAt",
9034
9044
  "optional": true,
9035
9045
  "description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
9046
+ },
9047
+ "cookieStoreId": {
9048
+ "choices": [
9049
+ {
9050
+ "type": "array",
9051
+ "minItems": 1,
9052
+ "items": {
9053
+ "type": "string"
9054
+ }
9055
+ },
9056
+ {
9057
+ "type": "string"
9058
+ }
9059
+ ],
9060
+ "optional": true,
9061
+ "description": "limit the set of matched tabs to those that belong to the given cookie store id"
9036
9062
  }
9037
9063
  }
9038
9064
  },
@@ -11737,7 +11763,6 @@
11737
11763
  "screenshots",
11738
11764
  "seqstyle",
11739
11765
  "stackwalk",
11740
- "threads",
11741
11766
  "jstracer",
11742
11767
  "jsallocations",
11743
11768
  "nostacksampling",
@@ -13147,6 +13172,30 @@
13147
13172
  }
13148
13173
  }
13149
13174
  },
13175
+ {
13176
+ "id": "WebExtensionSitePermissionsManifest",
13177
+ "type": "object",
13178
+ "description": "Represents a WebExtension site permissions manifest.json file",
13179
+ "$import": "ManifestBase",
13180
+ "properties": {
13181
+ "site_permissions": {
13182
+ "type": "array",
13183
+ "minItems": 1,
13184
+ "items": {
13185
+ "$ref": "SitePermission"
13186
+ }
13187
+ },
13188
+ "install_origins": {
13189
+ "type": "array",
13190
+ "minItems": 1,
13191
+ "maxItems": 1,
13192
+ "items": {
13193
+ "type": "string",
13194
+ "format": "origin"
13195
+ }
13196
+ }
13197
+ }
13198
+ },
13150
13199
  {
13151
13200
  "id": "ThemeIcons",
13152
13201
  "type": "object",
@@ -13246,6 +13295,18 @@
13246
13295
  }
13247
13296
  ]
13248
13297
  },
13298
+ {
13299
+ "id": "SitePermission",
13300
+ "choices": [
13301
+ {
13302
+ "type": "string",
13303
+ "enum": [
13304
+ "midi",
13305
+ "midi-sysex"
13306
+ ]
13307
+ }
13308
+ ]
13309
+ },
13249
13310
  {
13250
13311
  "id": "HttpURL",
13251
13312
  "type": "string",
@@ -331,6 +331,22 @@
331
331
  "$ref": "extensionTypes.RunAt",
332
332
  "optional": true,
333
333
  "description": "The soonest that the JavaScript or CSS will be injected into the tab. Defaults to \"document_idle\"."
334
+ },
335
+ "cookieStoreId": {
336
+ "choices": [
337
+ {
338
+ "type": "array",
339
+ "minItems": 1,
340
+ "items": {
341
+ "type": "string"
342
+ }
343
+ },
344
+ {
345
+ "type": "string"
346
+ }
347
+ ],
348
+ "optional": true,
349
+ "description": "limit the set of matched tabs to those that belong to the given cookie store id"
334
350
  }
335
351
  }
336
352
  },
@@ -3936,7 +3952,7 @@
3936
3952
  "items": {
3937
3953
  "$ref": "ThemeIcons"
3938
3954
  },
3939
- "description": "Specifies icons to use for dark and light themes"
3955
+ "description": "Specifies dark and light icons to be used with themes. The ``light`` icon is used on dark backgrounds and vice versa. Note: The default theme uses the ``default_icon`` for light backgrounds (if specified)."
3940
3956
  },
3941
3957
  "default_popup": {
3942
3958
  "type": "string",
@@ -4676,7 +4692,7 @@
4676
4692
  "properties": {
4677
4693
  "browser_style": {
4678
4694
  "type": "boolean",
4679
- "description": "Enable browser styles. See the `MDN documentation <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information.",
4695
+ "description": "Enable browser styles in the ``management_url`` page. See the `MDN documentation <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information.",
4680
4696
  "optional": true,
4681
4697
  "default": false
4682
4698
  },
@@ -4710,7 +4726,8 @@
4710
4726
  "service_url": {
4711
4727
  "type": "string",
4712
4728
  "optional": true,
4713
- "description": "URL to the web page of the cloud file service."
4729
+ "deprecated": true,
4730
+ "description": "This property is no longer used. The ``service_url`` property of the :ref:`cloudFile.CloudFileTemplateInfo` object returned by the :ref:`cloudFile.onFileUpload` event can be used to add a ``Learn more about`` link to the footer of the cloud file attachment element."
4714
4731
  }
4715
4732
  },
4716
4733
  "optional": true
@@ -4757,6 +4774,18 @@
4757
4774
  "description": "Set this to true if the file upload was aborted.",
4758
4775
  "optional": true
4759
4776
  },
4777
+ "error": {
4778
+ "choices": [
4779
+ {
4780
+ "type": "boolean"
4781
+ },
4782
+ {
4783
+ "type": "string"
4784
+ }
4785
+ ],
4786
+ "description": "Report an error to the user. Set this to true for showing a generic error message, or set a specific error message.",
4787
+ "optional": true
4788
+ },
4760
4789
  "url": {
4761
4790
  "type": "string",
4762
4791
  "description": "The URL where the uploaded file can be accessed.",
@@ -4764,7 +4793,7 @@
4764
4793
  },
4765
4794
  "templateInfo": {
4766
4795
  "$ref": "CloudFileTemplateInfo",
4767
- "description": "Information to override the default values used in the cloud file message template.",
4796
+ "description": "Defines information to be used in the cloud file entry added to the message.",
4768
4797
  "optional": true
4769
4798
  }
4770
4799
  }
@@ -4792,6 +4821,56 @@
4792
4821
  }
4793
4822
  ]
4794
4823
  },
4824
+ {
4825
+ "name": "onFileRename",
4826
+ "type": "function",
4827
+ "description": "Fired when an already uploaded file should be renamed.",
4828
+ "parameters": [
4829
+ {
4830
+ "name": "account",
4831
+ "$ref": "CloudFileAccount",
4832
+ "description": "The account used for the file upload."
4833
+ },
4834
+ {
4835
+ "type": "integer",
4836
+ "name": "fileId",
4837
+ "minimum": 1,
4838
+ "description": "An identifier for the file which should be renamed."
4839
+ },
4840
+ {
4841
+ "type": "string",
4842
+ "name": "newName",
4843
+ "description": "The new name of the file."
4844
+ },
4845
+ {
4846
+ "name": "tab",
4847
+ "$ref": "tabs.Tab",
4848
+ "description": "The tab where the rename was initiated. Currently only available for the message composer."
4849
+ }
4850
+ ],
4851
+ "returns": {
4852
+ "type": "object",
4853
+ "properties": {
4854
+ "error": {
4855
+ "choices": [
4856
+ {
4857
+ "type": "boolean"
4858
+ },
4859
+ {
4860
+ "type": "string"
4861
+ }
4862
+ ],
4863
+ "description": "Report an error to the user. Set this to true for showing a generic error message, or set a specific error message.",
4864
+ "optional": true
4865
+ },
4866
+ "url": {
4867
+ "type": "string",
4868
+ "description": "The URL where the renamed file can be accessed.",
4869
+ "optional": true
4870
+ }
4871
+ }
4872
+ }
4873
+ },
4795
4874
  {
4796
4875
  "name": "onFileDeleted",
4797
4876
  "type": "function",
@@ -4886,7 +4965,7 @@
4886
4965
  {
4887
4966
  "id": "CloudFileTemplateInfo",
4888
4967
  "type": "object",
4889
- "description": "Information to be used in the cloud file message template.",
4968
+ "description": "Defines information to be used in the cloud file entry added to the message.",
4890
4969
  "properties": {
4891
4970
  "service_icon": {
4892
4971
  "type": "string",
@@ -4901,7 +4980,34 @@
4901
4980
  "service_url": {
4902
4981
  "type": "string",
4903
4982
  "optional": true,
4904
- "description": "An URL to the web page of the used cloud file service, attached the <code>service_name</code>. Defaults to the <code>service_url</code> manifest entry. Set to an empty string in order to not create a link."
4983
+ "description": "A URL pointing to a web page of the used cloud file service. Will be used in a ``Learn more about`` link in the footer of the cloud file attachment element."
4984
+ },
4985
+ "download_password_protected": {
4986
+ "type": "boolean",
4987
+ "optional": true,
4988
+ "description": "If set to true, the cloud file entry for this upload will include a hint, that the download link is password protected."
4989
+ },
4990
+ "download_limit": {
4991
+ "type": "integer",
4992
+ "optional": true,
4993
+ "description": "If set, the cloud file entry for this upload will include a hint, that the file has a download limit."
4994
+ },
4995
+ "download_expiry_date": {
4996
+ "type": "object",
4997
+ "optional": true,
4998
+ "description": "If set, the cloud file entry for this upload will include a hint, that the link will only be available for a limited time.",
4999
+ "properties": {
5000
+ "timestamp": {
5001
+ "type": "integer",
5002
+ "description": "The expiry date of the link as the number of milliseconds since the UNIX epoch."
5003
+ },
5004
+ "format": {
5005
+ "optional": true,
5006
+ "description": "A format options object as used by `Intl.DateTimeFormat <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat>`__. Defaults to: <literalinclude>includes/cloudFile/defaultDateFormat.js<lang>JavaScript</lang></literalinclude>",
5007
+ "type": "object",
5008
+ "additionalProperties": true
5009
+ }
5010
+ }
4905
5011
  }
4906
5012
  }
4907
5013
  },
@@ -5787,7 +5893,7 @@
5787
5893
  "items": {
5788
5894
  "$ref": "ThemeIcons"
5789
5895
  },
5790
- "description": "Specifies icons to use for dark and light themes"
5896
+ "description": "Specifies dark and light icons to be used with themes. The ``light`` icon is used on dark backgrounds and vice versa. Note: The default theme uses the ``default_icon`` for light backgrounds (if specified)."
5791
5897
  },
5792
5898
  "default_popup": {
5793
5899
  "type": "string",
@@ -8494,7 +8600,7 @@
8494
8600
  "items": {
8495
8601
  "$ref": "ThemeIcons"
8496
8602
  },
8497
- "description": "Specifies icons to use for dark and light themes"
8603
+ "description": "Specifies dark and light icons to be used with themes. The ``light`` icon is used on dark backgrounds and vice versa. Note: The default theme uses the ``default_icon`` for light backgrounds (if specified)."
8498
8604
  },
8499
8605
  "default_popup": {
8500
8606
  "type": "string",
@@ -11731,7 +11731,9 @@
11731
11731
  "js",
11732
11732
  "leaf",
11733
11733
  "mainthreadio",
11734
- "responsiveness",
11734
+ "fileio",
11735
+ "fileioall",
11736
+ "noiostacks",
11735
11737
  "screenshots",
11736
11738
  "seqstyle",
11737
11739
  "stackwalk",
@@ -11739,15 +11741,17 @@
11739
11741
  "jstracer",
11740
11742
  "jsallocations",
11741
11743
  "nostacksampling",
11742
- "nativeallocations",
11743
11744
  "preferencereads",
11745
+ "nativeallocations",
11744
11746
  "ipcmessages",
11745
- "fileio",
11746
- "fileioall",
11747
- "noiostacks",
11748
11747
  "audiocallbacktracing",
11749
11748
  "cpu",
11750
- "notimerresolutionchange"
11749
+ "notimerresolutionchange",
11750
+ "cpuallthreads",
11751
+ "samplingallthreads",
11752
+ "markersallthreads",
11753
+ "unregisteredthreads",
11754
+ "responsiveness"
11751
11755
  ]
11752
11756
  },
11753
11757
  {
@@ -12757,34 +12761,13 @@
12757
12761
  "postprocess": "manifestVersionCheck"
12758
12762
  },
12759
12763
  "applications": {
12760
- "type": "object",
12761
- "optional": true,
12762
- "properties": {
12763
- "gecko": {
12764
- "$ref": "FirefoxSpecificProperties",
12765
- "optional": true
12766
- }
12767
- }
12764
+ "$ref": "BrowserSpecificSettings",
12765
+ "description": "The applications property is deprecated, please use 'browser_specific_settings'",
12766
+ "optional": true
12768
12767
  },
12769
12768
  "browser_specific_settings": {
12770
- "type": "object",
12771
- "optional": true,
12772
- "properties": {
12773
- "gecko": {
12774
- "$ref": "FirefoxSpecificProperties",
12775
- "optional": true
12776
- },
12777
- "edge": {
12778
- "type": "object",
12779
- "additionalProperties": {
12780
- "type": "any"
12781
- },
12782
- "optional": true
12783
- }
12784
- },
12785
- "additionalProperties": {
12786
- "$ref": "UnrecognizedProperty"
12787
- }
12769
+ "$ref": "BrowserSpecificSettings",
12770
+ "optional": true
12788
12771
  },
12789
12772
  "name": {
12790
12773
  "type": "string",
@@ -12816,6 +12799,32 @@
12816
12799
  "format": "url",
12817
12800
  "optional": true,
12818
12801
  "preprocess": "localize"
12802
+ },
12803
+ "install_origins": {
12804
+ "type": "array",
12805
+ "optional": true,
12806
+ "items": {
12807
+ "type": "string",
12808
+ "format": "origin"
12809
+ }
12810
+ },
12811
+ "developer": {
12812
+ "type": "object",
12813
+ "optional": true,
12814
+ "properties": {
12815
+ "name": {
12816
+ "type": "string",
12817
+ "optional": true,
12818
+ "preprocess": "localize"
12819
+ },
12820
+ "url": {
12821
+ "type": "string",
12822
+ "format": "url",
12823
+ "optional": true,
12824
+ "preprocess": "localize",
12825
+ "onError": "warn"
12826
+ }
12827
+ }
12819
12828
  }
12820
12829
  }
12821
12830
  },
@@ -13031,22 +13040,6 @@
13031
13040
  }
13032
13041
  ]
13033
13042
  },
13034
- "developer": {
13035
- "type": "object",
13036
- "optional": true,
13037
- "properties": {
13038
- "name": {
13039
- "type": "string",
13040
- "optional": true,
13041
- "preprocess": "localize"
13042
- },
13043
- "url": {
13044
- "type": "string",
13045
- "optional": true,
13046
- "preprocess": "localize"
13047
- }
13048
- }
13049
- },
13050
13043
  "hidden": {
13051
13044
  "type": "boolean",
13052
13045
  "optional": true,
@@ -13312,6 +13305,19 @@
13312
13305
  }
13313
13306
  }
13314
13307
  },
13308
+ {
13309
+ "id": "BrowserSpecificSettings",
13310
+ "type": "object",
13311
+ "properties": {
13312
+ "gecko": {
13313
+ "$ref": "FirefoxSpecificProperties",
13314
+ "optional": true
13315
+ }
13316
+ },
13317
+ "additionalProperties": {
13318
+ "type": "any"
13319
+ }
13320
+ },
13315
13321
  {
13316
13322
  "id": "MatchPattern",
13317
13323
  "choices": [
@@ -15357,6 +15363,27 @@
15357
15363
  "description": "The fully-qualified URL to the resource."
15358
15364
  }
15359
15365
  },
15366
+ {
15367
+ "name": "getFrameId",
15368
+ "type": "function",
15369
+ "allowedContexts": [
15370
+ "content",
15371
+ "devtools"
15372
+ ],
15373
+ "description": "Get the frameId of any window global or frame element.",
15374
+ "parameters": [
15375
+ {
15376
+ "type": "any",
15377
+ "name": "target",
15378
+ "description": "A WindowProxy or a Browsing Context container element (IFrame, Frame, Embed, Object) for the target frame."
15379
+ }
15380
+ ],
15381
+ "allowCrossOriginArguments": true,
15382
+ "returns": {
15383
+ "type": "number",
15384
+ "description": "The frameId of the target frame, or -1 if it doesn't exist."
15385
+ }
15386
+ },
15360
15387
  {
15361
15388
  "name": "setUninstallURL",
15362
15389
  "type": "function",
@@ -15811,6 +15838,131 @@
15811
15838
  ]
15812
15839
  }
15813
15840
  ],
15841
+ "scripting.json": [
15842
+ {
15843
+ "namespace": "manifest",
15844
+ "types": [
15845
+ {
15846
+ "$extend": "OptionalPermissionNoPrompt",
15847
+ "choices": [
15848
+ {
15849
+ "type": "string",
15850
+ "enum": [
15851
+ "scripting"
15852
+ ],
15853
+ "min_manifest_version": 3
15854
+ }
15855
+ ]
15856
+ }
15857
+ ]
15858
+ },
15859
+ {
15860
+ "namespace": "scripting",
15861
+ "description": "Use the scripting API to execute script in different contexts.",
15862
+ "permissions": [
15863
+ "scripting"
15864
+ ],
15865
+ "min_manifest_version": 3,
15866
+ "types": [
15867
+ {
15868
+ "id": "ScriptInjection",
15869
+ "type": "object",
15870
+ "description": "Details of a script injection",
15871
+ "properties": {
15872
+ "args": {
15873
+ "type": "array",
15874
+ "optional": true,
15875
+ "description": "The arguments to curry into a provided function. This is only valid if the <code>func</code> parameter is specified. These arguments must be JSON-serializable.",
15876
+ "items": {
15877
+ "type": "any"
15878
+ }
15879
+ },
15880
+ "files": {
15881
+ "type": "array",
15882
+ "optional": true,
15883
+ "description": "The path of the JS or CSS files to inject, relative to the extension's root directory. Exactly one of <code>files</code> and <code>func</code> must be specified.",
15884
+ "minItems": 1,
15885
+ "items": {
15886
+ "type": "string"
15887
+ }
15888
+ },
15889
+ "func": {
15890
+ "type": "function",
15891
+ "optional": true,
15892
+ "description": "A JavaScript function to inject. This function will be serialized, and then deserialized for injection. This means that any bound parameters and execution context will be lost. Exactly one of <code>files</code> and <code>func</code> must be specified."
15893
+ },
15894
+ "target": {
15895
+ "$ref": "InjectionTarget",
15896
+ "description": "Details specifying the target into which to inject the script."
15897
+ }
15898
+ }
15899
+ },
15900
+ {
15901
+ "id": "InjectionResult",
15902
+ "type": "object",
15903
+ "description": "Result of a script injection.",
15904
+ "properties": {
15905
+ "frameId": {
15906
+ "type": "number",
15907
+ "description": "The frame ID associated with the injection."
15908
+ },
15909
+ "result": {
15910
+ "type": "any",
15911
+ "optional": true,
15912
+ "description": "The result of the script execution."
15913
+ }
15914
+ }
15915
+ },
15916
+ {
15917
+ "id": "InjectionTarget",
15918
+ "type": "object",
15919
+ "properties": {
15920
+ "frameIds": {
15921
+ "type": "array",
15922
+ "optional": true,
15923
+ "description": "The IDs of specific frames to inject into.",
15924
+ "items": {
15925
+ "type": "number"
15926
+ }
15927
+ },
15928
+ "tabId": {
15929
+ "type": "number",
15930
+ "description": "The ID of the tab into which to inject."
15931
+ }
15932
+ }
15933
+ }
15934
+ ],
15935
+ "functions": [
15936
+ {
15937
+ "name": "executeScript",
15938
+ "type": "function",
15939
+ "description": "Injects a script into a target context. The script will be run at <code>document_idle</code>.",
15940
+ "async": "callback",
15941
+ "parameters": [
15942
+ {
15943
+ "name": "injection",
15944
+ "$ref": "ScriptInjection",
15945
+ "description": "The details of the script which to inject."
15946
+ },
15947
+ {
15948
+ "name": "callback",
15949
+ "type": "function",
15950
+ "description": "Invoked upon completion of the injection. The resulting array contains the result of execution for each frame where the injection succeeded.",
15951
+ "parameters": [
15952
+ {
15953
+ "name": "results",
15954
+ "type": "array",
15955
+ "items": {
15956
+ "$ref": "InjectionResult"
15957
+ }
15958
+ }
15959
+ ]
15960
+ }
15961
+ ]
15962
+ }
15963
+ ]
15964
+ }
15965
+ ],
15814
15966
  "storage.json": [
15815
15967
  {
15816
15968
  "namespace": "storage",