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.
@@ -821,7 +821,7 @@
821
821
  "properties": {
822
822
  "default_locale": {
823
823
  "type": "string",
824
- "optional": "true"
824
+ "optional": true
825
825
  },
826
826
  "l10n_resources": {
827
827
  "type": "array",
@@ -1684,7 +1684,6 @@
1684
1684
  },
1685
1685
  "documentId": {
1686
1686
  "type": "string",
1687
- "unsupported": true,
1688
1687
  "optional": true,
1689
1688
  "description": "An UUID for the document associated with this context, or undefined if it is not hosted in a document"
1690
1689
  },
@@ -1769,6 +1768,11 @@
1769
1768
  "optional": true,
1770
1769
  "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."
1771
1770
  },
1771
+ "documentId": {
1772
+ "type": "string",
1773
+ "optional": true,
1774
+ "description": "A UUID of the document that opened the connection."
1775
+ },
1772
1776
  "id": {
1773
1777
  "type": "string",
1774
1778
  "optional": true,
@@ -2070,6 +2074,27 @@
2070
2074
  "description": "The fully-qualified URL to the resource."
2071
2075
  }
2072
2076
  },
2077
+ {
2078
+ "name": "getDocumentId",
2079
+ "type": "function",
2080
+ "allowedContexts": [
2081
+ "content",
2082
+ "devtools"
2083
+ ],
2084
+ "description": "Get the documentId of any window global or frame element. Throws for invalid targets, such as unloaded frames.",
2085
+ "parameters": [
2086
+ {
2087
+ "type": "any",
2088
+ "name": "target",
2089
+ "description": "A WindowProxy or a browsing context container Element (iframe, frame, embed, or object) for the target frame."
2090
+ }
2091
+ ],
2092
+ "allowCrossOriginArguments": true,
2093
+ "returns": {
2094
+ "type": "string",
2095
+ "description": "The documentId of the target document."
2096
+ }
2097
+ },
2073
2098
  {
2074
2099
  "name": "getFrameId",
2075
2100
  "type": "function",
@@ -2082,7 +2107,7 @@
2082
2107
  {
2083
2108
  "type": "any",
2084
2109
  "name": "target",
2085
- "description": "A WindowProxy or a Browsing Context container element (IFrame, Frame, Embed, Object) for the target frame."
2110
+ "description": "A WindowProxy or a browsing context container Element (iframe, frame, embed, or object) for the target frame."
2086
2111
  }
2087
2112
  ],
2088
2113
  "allowCrossOriginArguments": true,
@@ -2980,7 +3005,8 @@
2980
3005
  ]
2981
3006
  },
2982
3007
  "maxItems": 15,
2983
- "optional": true
3008
+ "optional": true,
3009
+ "description": "An array of alignment values, one for each image in <var>additional_backgrounds</var>."
2984
3010
  },
2985
3011
  "additional_backgrounds_tiling": {
2986
3012
  "type": "array",
@@ -2994,7 +3020,8 @@
2994
3020
  ]
2995
3021
  },
2996
3022
  "maxItems": 15,
2997
- "optional": true
3023
+ "optional": true,
3024
+ "description": "An array of tiling values, one for each image in <var>additional_backgrounds</var>."
2998
3025
  },
2999
3026
  "color_scheme": {
3000
3027
  "description": "If set, overrides the general theme (context menus, toolbars, content area).",
@@ -4478,6 +4505,17 @@
4478
4505
  }
4479
4506
  ]
4480
4507
  },
4508
+ {
4509
+ "name": "onManyCreated",
4510
+ "type": "function",
4511
+ "description": "Fired when a large number of contacts are added. The contacts are not emitted for performance reasons. The event indicates significant changes, and consumers should rebuild any cached representation of the address book.",
4512
+ "parameters": [
4513
+ {
4514
+ "name": "node",
4515
+ "$ref": "AddressBookNode"
4516
+ }
4517
+ ]
4518
+ },
4481
4519
  {
4482
4520
  "name": "onUpdated",
4483
4521
  "type": "function",
@@ -4845,6 +4883,7 @@
4845
4883
  "$extend": "WebExtensionManifest",
4846
4884
  "properties": {
4847
4885
  "action": {
4886
+ "description": "Defines the appearance and behavior of an action button in the toolbar.",
4848
4887
  "min_manifest_version": 3,
4849
4888
  "type": "object",
4850
4889
  "additionalProperties": {
@@ -4950,6 +4989,7 @@
4950
4989
  "$extend": "WebExtensionManifest",
4951
4990
  "properties": {
4952
4991
  "browser_action": {
4992
+ "description": "Defines the appearance and behavior of a browserAction button in the toolbar.",
4953
4993
  "max_manifest_version": 2,
4954
4994
  "type": "object",
4955
4995
  "additionalProperties": {
@@ -6030,6 +6070,7 @@
6030
6070
  "$extend": "WebExtensionManifest",
6031
6071
  "properties": {
6032
6072
  "cloud_file": {
6073
+ "description": "Defines a cloud file provider for uploading large attachments to a remote server.",
6033
6074
  "type": "object",
6034
6075
  "additionalProperties": {
6035
6076
  "$ref": "UnrecognizedProperty"
@@ -6628,7 +6669,7 @@
6628
6669
  "additionalFccFolderId": {
6629
6670
  "min_manifest_version": 3,
6630
6671
  "$ref": "folders.MailFolderId",
6631
- "description": "An additional fcc folder which can be selected while composing the message. Cleared when set to <var>null</var>. The permission <permission>accountsRead</permission> is required to use this property.",
6672
+ "description": "An additional fcc folder which can be selected while composing the message. Cleared when set to <var>null</var>. Has no effect when the message is saved as a draft or template; the additional copy is only created when the message is actually sent or queued for sending. The permission <permission>accountsRead</permission> is required to use this property.",
6632
6673
  "optional": "omit-key-if-missing"
6633
6674
  },
6634
6675
  "additionalFccFolder": {
@@ -6647,7 +6688,7 @@
6647
6688
  "$ref": "folders.MailFolderId"
6648
6689
  }
6649
6690
  ],
6650
- "description": "An additional fcc folder which can be selected while composing the message, an empty string if not used. The permission <permission>accountsRead</permission> is required to use this property.",
6691
+ "description": "An additional fcc folder which can be selected while composing the message, an empty string if not used. Has no effect when the message is saved as a draft or template; the additional copy is only created when the message is actually sent or queued for sending. The permission <permission>accountsRead</permission> is required to use this property.",
6651
6692
  "optional": true
6652
6693
  },
6653
6694
  "attachPublicPGPKey": {
@@ -7663,6 +7704,7 @@
7663
7704
  "$extend": "WebExtensionManifest",
7664
7705
  "properties": {
7665
7706
  "compose_action": {
7707
+ "description": "Defines the appearance and behavior of a composeAction button in the message compose window.",
7666
7708
  "type": "object",
7667
7709
  "additionalProperties": {
7668
7710
  "$ref": "UnrecognizedProperty"
@@ -8496,11 +8538,96 @@
8496
8538
  ]
8497
8539
  }
8498
8540
  ]
8541
+ },
8542
+ {
8543
+ "id": "ComposeScript",
8544
+ "type": "object",
8545
+ "description": "A script and/or CSS to inject into compose windows via the manifest.",
8546
+ "properties": {
8547
+ "js": {
8548
+ "type": "array",
8549
+ "optional": true,
8550
+ "description": "The list of JavaScript files to inject.",
8551
+ "items": {
8552
+ "$ref": "ExtensionURL"
8553
+ }
8554
+ },
8555
+ "css": {
8556
+ "type": "array",
8557
+ "optional": true,
8558
+ "description": "The list of CSS files to inject.",
8559
+ "items": {
8560
+ "$ref": "ExtensionURL"
8561
+ }
8562
+ }
8563
+ },
8564
+ "additionalProperties": {
8565
+ "$ref": "UnrecognizedProperty"
8566
+ }
8567
+ },
8568
+ {
8569
+ "id": "MessageDisplayScript",
8570
+ "type": "object",
8571
+ "description": "A script and/or CSS to inject into message display pages via the manifest.",
8572
+ "properties": {
8573
+ "js": {
8574
+ "type": "array",
8575
+ "optional": true,
8576
+ "description": "The list of JavaScript files to inject.",
8577
+ "items": {
8578
+ "$ref": "ExtensionURL"
8579
+ }
8580
+ },
8581
+ "css": {
8582
+ "type": "array",
8583
+ "optional": true,
8584
+ "description": "The list of CSS files to inject.",
8585
+ "items": {
8586
+ "$ref": "ExtensionURL"
8587
+ }
8588
+ },
8589
+ "run_at": {
8590
+ "type": "string",
8591
+ "optional": true,
8592
+ "default": "document_idle",
8593
+ "enum": [
8594
+ "document_start",
8595
+ "document_end",
8596
+ "document_idle"
8597
+ ],
8598
+ "description": "Determines when the files specified in css and js are injected. The states directly correspond to <code>Document.readyState</code>: <var>loading</var>, <var>interactive</var> and <var>complete</var>."
8599
+ }
8600
+ },
8601
+ "additionalProperties": {
8602
+ "$ref": "UnrecognizedProperty"
8603
+ }
8604
+ },
8605
+ {
8606
+ "$extend": "WebExtensionManifest",
8607
+ "properties": {
8608
+ "compose_scripts": {
8609
+ "type": "array",
8610
+ "optional": true,
8611
+ "description": "Scripts and CSS to inject into compose windows.",
8612
+ "items": {
8613
+ "$ref": "ComposeScript"
8614
+ }
8615
+ },
8616
+ "message_display_scripts": {
8617
+ "type": "array",
8618
+ "optional": true,
8619
+ "description": "Scripts and CSS to inject into message display pages.",
8620
+ "items": {
8621
+ "$ref": "MessageDisplayScript"
8622
+ }
8623
+ }
8624
+ }
8499
8625
  }
8500
8626
  ]
8501
8627
  },
8502
8628
  {
8503
8629
  "namespace": "composeScripts",
8630
+ "description": "The composeScripts API allows to register and unregister scripts for the message compose window.",
8504
8631
  "permissions": [
8505
8632
  "compose"
8506
8633
  ],
@@ -8561,6 +8688,7 @@
8561
8688
  },
8562
8689
  {
8563
8690
  "namespace": "messageDisplayScripts",
8691
+ "description": "The messageDisplayScripts API allows to register and unregister scripts for the message display window.",
8564
8692
  "permissions": [
8565
8693
  "messagesModify"
8566
8694
  ],
@@ -12251,6 +12379,7 @@
12251
12379
  "$extend": "WebExtensionManifest",
12252
12380
  "properties": {
12253
12381
  "message_display_action": {
12382
+ "description": "Defines the appearance and behavior of a messageDisplayAction button in the message display window.",
12254
12383
  "type": "object",
12255
12384
  "additionalProperties": {
12256
12385
  "$ref": "UnrecognizedProperty"
@@ -13077,16 +13206,28 @@
13077
13206
  "enum": [
13078
13207
  "messagesDelete",
13079
13208
  "messagesImport",
13209
+ "messagesModifyPermanent",
13080
13210
  "messagesMove",
13081
13211
  "messagesRead",
13212
+ "messages.save",
13082
13213
  "messagesTags",
13083
13214
  "messagesTagsList",
13084
13215
  "messagesUpdate",
13085
- "messagesModifyPermanent",
13086
13216
  "sensitiveDataUpload"
13087
13217
  ]
13088
13218
  }
13089
13219
  ]
13220
+ },
13221
+ {
13222
+ "$extend": "OptionalOnlyPermission",
13223
+ "choices": [
13224
+ {
13225
+ "type": "string",
13226
+ "enum": [
13227
+ "messages.send"
13228
+ ]
13229
+ }
13230
+ ]
13090
13231
  }
13091
13232
  ]
13092
13233
  },
@@ -13352,6 +13493,18 @@
13352
13493
  }
13353
13494
  }
13354
13495
  },
13496
+ {
13497
+ "id": "AttachmentType",
13498
+ "type": "string",
13499
+ "enum": [
13500
+ "normal",
13501
+ "detached",
13502
+ "deleted",
13503
+ "linked",
13504
+ "cloudFile"
13505
+ ],
13506
+ "description": "The type of an attachment in a message."
13507
+ },
13355
13508
  {
13356
13509
  "id": "MessageAttachment",
13357
13510
  "type": "object",
@@ -13365,13 +13518,17 @@
13365
13518
  "type": "string",
13366
13519
  "description": "The content type of the attachment. A value of <var>text/x-moz-deleted</var> indicates that the original attachment was permanently deleted and replaced by a placeholder text attachment with some meta information about the original attachment."
13367
13520
  },
13521
+ "type": {
13522
+ "$ref": "messages.AttachmentType",
13523
+ "description": "The type of this attachment."
13524
+ },
13368
13525
  "headers": {
13369
13526
  "$ref": "messages.HeadersDictionary",
13370
13527
  "description": "A <em>dictionary object</em> of RFC 2047 decoded attachment headers as <em>key-value</em> pairs, with the header name as <em>key</em>, and an array of headers as <em>value</em>."
13371
13528
  },
13372
13529
  "name": {
13373
13530
  "type": "string",
13374
- "description": "The name, as displayed to the user, of this attachment. This is usually but not always the filename of the attached file."
13531
+ "description": "The name, as displayed to the user, of this attachment. This is usually but not always the filename of the attached file. For a <var>cloudFile</var> attachment, this is the real name of the linked file, when the message provides one."
13375
13532
  },
13376
13533
  "partName": {
13377
13534
  "type": "string",
@@ -13381,6 +13538,16 @@
13381
13538
  "type": "integer",
13382
13539
  "description": "The size in bytes of this attachment."
13383
13540
  },
13541
+ "linkUrl": {
13542
+ "type": "string",
13543
+ "optional": true,
13544
+ "description": "The remote location the attachment's content is linked to. Present for <var>linked</var> attachments (see $(ref:messages.AttachmentType)), whose content is not part of the message and can be fetched from this url."
13545
+ },
13546
+ "cloudFileUrl": {
13547
+ "type": "string",
13548
+ "optional": true,
13549
+ "description": "The remote location a <var>cloudFile</var> attachment's content is stored at. Present for <var>cloudFile</var> attachments (see $(ref:messages.AttachmentType)), whose content is not part of the message."
13550
+ },
13384
13551
  "contentId": {
13385
13552
  "type": "string",
13386
13553
  "optional": true,
@@ -13420,6 +13587,176 @@
13420
13587
  "description": "The maximum value required to match the query."
13421
13588
  }
13422
13589
  }
13590
+ },
13591
+ {
13592
+ "id": "NewMessageDetails",
13593
+ "type": "object",
13594
+ "description": "Details of a message to be sent.",
13595
+ "additionalProperties": true,
13596
+ "properties": {
13597
+ "identityId": {
13598
+ "type": "string",
13599
+ "description": "The ID of an identity from the :doc:`accounts` API. Defaults to the default identity. The permission <permission>accountsRead</permission> is required to include the ``identityId``.",
13600
+ "optional": true
13601
+ },
13602
+ "from": {
13603
+ "$ref": "compose.ComposeRecipient",
13604
+ "description": "*Caution*: Setting a value for ``from`` does not change the used identity, it overrides the FROM header. Many email servers do not accept emails where the FROM header does not match the sender identity. Must be set to exactly one valid email address.",
13605
+ "optional": true
13606
+ },
13607
+ "to": {
13608
+ "$ref": "compose.ComposeRecipientList",
13609
+ "optional": true
13610
+ },
13611
+ "cc": {
13612
+ "$ref": "compose.ComposeRecipientList",
13613
+ "optional": true
13614
+ },
13615
+ "bcc": {
13616
+ "$ref": "compose.ComposeRecipientList",
13617
+ "optional": true
13618
+ },
13619
+ "overrideDefaultFccFolder": {
13620
+ "choices": [
13621
+ {
13622
+ "$ref": "folders.MailFolder"
13623
+ },
13624
+ {
13625
+ "type": "string",
13626
+ "enum": [
13627
+ ""
13628
+ ]
13629
+ }
13630
+ ],
13631
+ "optional": true,
13632
+ "description": " This value overrides the default fcc setting (defined by the used identity) for this message. Either a :ref:`folders.MailFolder` specifying the folder for the copy of the sent message, or an empty string to not save a copy at all."
13633
+ },
13634
+ "additionalFccFolder": {
13635
+ "choices": [
13636
+ {
13637
+ "$ref": "folders.MailFolder"
13638
+ },
13639
+ {
13640
+ "type": "string",
13641
+ "enum": [
13642
+ ""
13643
+ ]
13644
+ }
13645
+ ],
13646
+ "description": "An additional fcc folder. Only effective for send operations ($(ref:messages.sendMessage)), has no effect for save operations ($(ref:messages.saveMessage)), which only ever store the message in the primary draft or template folder. For compatibility with :ref:`compose.ComposeDetails`, setting an empty string is supported as well, but has no effect.",
13647
+ "optional": true
13648
+ },
13649
+ "replyTo": {
13650
+ "$ref": "compose.ComposeRecipientList",
13651
+ "optional": true
13652
+ },
13653
+ "followupTo": {
13654
+ "$ref": "compose.ComposeRecipientList",
13655
+ "optional": true
13656
+ },
13657
+ "newsgroups": {
13658
+ "description": "A single newsgroup name or an array of newsgroup names.",
13659
+ "choices": [
13660
+ {
13661
+ "type": "string"
13662
+ },
13663
+ {
13664
+ "type": "array",
13665
+ "items": {
13666
+ "type": "string"
13667
+ }
13668
+ }
13669
+ ],
13670
+ "optional": true
13671
+ },
13672
+ "subject": {
13673
+ "type": "string"
13674
+ },
13675
+ "body": {
13676
+ "type": "string",
13677
+ "description": "The HTML content for the message.",
13678
+ "optional": true
13679
+ },
13680
+ "plainTextBody": {
13681
+ "type": "string",
13682
+ "description": "The content for a plain text message. A specified <value>body</value> will be preferred, except when <value>isPlainText</value> is specified as well.",
13683
+ "optional": true
13684
+ },
13685
+ "isPlainText": {
13686
+ "type": "boolean",
13687
+ "description": "Whether the message should be sent as plain text or as HTML. Prefers a specified <value>plainTextBody</value> over a specified <value>body</value>.",
13688
+ "optional": true
13689
+ },
13690
+ "deliveryFormat": {
13691
+ "type": "string",
13692
+ "enum": [
13693
+ "auto",
13694
+ "plaintext",
13695
+ "html",
13696
+ "both"
13697
+ ],
13698
+ "description": "Defines the mime format of the sent message. Defaults to <value>auto</value>, which prefers to send plain text messages, if the specified body does not include any formatting.\n**Note**: If a plain text body and an HTML body is included in the message, the plain text body is always derived from the included HTML body. It is not possible to specify two independent values via <value>body</value> and <value>plainTextBody</value>.",
13699
+ "optional": true
13700
+ },
13701
+ "contentLanguage": {
13702
+ "type": "array",
13703
+ "items": {
13704
+ "type": "string"
13705
+ },
13706
+ "description": "The languages of the message content, used for the <em>Content-Language</em> header. Each entry is a free-form language tag (for example <var>en-US</var>). If omitted, no <em>Content-Language</em> header is added. The i18n API's <var>detectLanguage()</var> can be used to derive a value from the message body, which should be converted to plain text first (for example via $(ref:messengerUtilities.convertToPlainText)), so that markup does not influence the detection.",
13707
+ "optional": true
13708
+ },
13709
+ "customHeaders": {
13710
+ "type": "array",
13711
+ "items": {
13712
+ "$ref": "compose.CustomHeader"
13713
+ },
13714
+ "description": "Array of custom headers.",
13715
+ "optional": true
13716
+ },
13717
+ "priority": {
13718
+ "type": "string",
13719
+ "enum": [
13720
+ "lowest",
13721
+ "low",
13722
+ "normal",
13723
+ "high",
13724
+ "highest"
13725
+ ],
13726
+ "description": "The priority of the message.",
13727
+ "optional": true
13728
+ },
13729
+ "returnReceipt": {
13730
+ "type": "boolean",
13731
+ "optional": true,
13732
+ "description": "Add the <em>Disposition-Notification-To</em> header to the message to requests the recipients email client to send a reply once the message has been received. Recipient server may strip the header and the recipient might ignore the request."
13733
+ },
13734
+ "deliveryStatusNotification": {
13735
+ "type": "boolean",
13736
+ "optional": true,
13737
+ "description": "Let the sender know when the recipient's server received the message. Not supported by all servers."
13738
+ },
13739
+ "attachVCard": {
13740
+ "type": "boolean",
13741
+ "optional": true,
13742
+ "description": "Wether or not the vCard of the used identity will be attached to the message during send."
13743
+ },
13744
+ "attachments": {
13745
+ "type": "array",
13746
+ "items": {
13747
+ "choices": [
13748
+ {
13749
+ "$ref": "compose.FileAttachment"
13750
+ },
13751
+ {
13752
+ "$ref": "compose.ComposeAttachment"
13753
+ }
13754
+ ]
13755
+ },
13756
+ "description": "Attachments to add to the message. **Note:** :ref:`compose.ComposeAttachments` are included as real file attachments, not as cloudFile links.",
13757
+ "optional": true
13758
+ }
13759
+ }
13423
13760
  }
13424
13761
  ],
13425
13762
  "events": [
@@ -14500,6 +14837,126 @@
14500
14837
  }
14501
14838
  ]
14502
14839
  },
14840
+ {
14841
+ "name": "sendMessage",
14842
+ "permissions": [
14843
+ "messages.send"
14844
+ ],
14845
+ "type": "function",
14846
+ "description": "Sends a message programmatically in the background without user interaction. If the send mode is not specified or set to <value>default</value>, the message will be sent directly if the user is online and placed in the user's outbox otherwise. The returned Promise fulfills once the message has been successfully sent or placed in the user's outbox. Throws when there has been an error while sending the message to the outgoing mail server.\n**Note:** If no <value>deliveryFormat</value> is specified, the message is sent as plain text when the body contains no HTML formatting.\n**Note:** It is possible to pass in a :ref:`compose.ComposeDetails` object as the <value>details</value> parameter, and it will be interpreted as a :ref:`messages.NewMessageDetails` object.",
14847
+ "async": "callback",
14848
+ "parameters": [
14849
+ {
14850
+ "name": "details",
14851
+ "$ref": "messages.NewMessageDetails"
14852
+ },
14853
+ {
14854
+ "name": "options",
14855
+ "type": "object",
14856
+ "optional": true,
14857
+ "properties": {
14858
+ "mode": {
14859
+ "type": "string",
14860
+ "enum": [
14861
+ "default",
14862
+ "sendNow",
14863
+ "sendLater"
14864
+ ]
14865
+ }
14866
+ }
14867
+ },
14868
+ {
14869
+ "type": "function",
14870
+ "name": "callback",
14871
+ "optional": true,
14872
+ "parameters": [
14873
+ {
14874
+ "name": "return",
14875
+ "type": "object",
14876
+ "properties": {
14877
+ "mode": {
14878
+ "type": "string",
14879
+ "description": "The used send mode.",
14880
+ "enum": [
14881
+ "sendNow",
14882
+ "sendLater"
14883
+ ]
14884
+ },
14885
+ "headerMessageId": {
14886
+ "type": "string",
14887
+ "description": "The header messageId of the outgoing message. Only included for actually sent messages.",
14888
+ "optional": true
14889
+ },
14890
+ "messages": {
14891
+ "type": "array",
14892
+ "items": {
14893
+ "$ref": "messages.MessageHeader"
14894
+ },
14895
+ "description": "Copies of the sent message. The number of created copies depends on the applied file carbon copy configuration (fcc)."
14896
+ }
14897
+ }
14898
+ }
14899
+ ]
14900
+ }
14901
+ ]
14902
+ },
14903
+ {
14904
+ "name": "saveMessage",
14905
+ "permissions": [
14906
+ "messages.save"
14907
+ ],
14908
+ "type": "function",
14909
+ "description": "Saves a message programmatically as a draft or as a template in the background without user interaction. The save mode defaults to <value>draft</value>. The returned Promise fulfills once the message has been successfully saved. Throws when there has been an error while saving the message.\n**Note:** If no <value>deliveryFormat</value> is specified, the message is saved as plain text when the body contains no HTML formatting.",
14910
+ "async": "callback",
14911
+ "parameters": [
14912
+ {
14913
+ "name": "details",
14914
+ "$ref": "NewMessageDetails"
14915
+ },
14916
+ {
14917
+ "name": "options",
14918
+ "type": "object",
14919
+ "optional": true,
14920
+ "properties": {
14921
+ "mode": {
14922
+ "type": "string",
14923
+ "enum": [
14924
+ "draft",
14925
+ "template"
14926
+ ]
14927
+ }
14928
+ }
14929
+ },
14930
+ {
14931
+ "type": "function",
14932
+ "name": "callback",
14933
+ "optional": true,
14934
+ "parameters": [
14935
+ {
14936
+ "name": "return",
14937
+ "type": "object",
14938
+ "properties": {
14939
+ "mode": {
14940
+ "type": "string",
14941
+ "description": "The used save mode.",
14942
+ "enum": [
14943
+ "draft",
14944
+ "template"
14945
+ ]
14946
+ },
14947
+ "messages": {
14948
+ "type": "array",
14949
+ "items": {
14950
+ "$ref": "messages.MessageHeader"
14951
+ },
14952
+ "description": "The saved message(s). The number of saved messages depends on the applied file carbon copy configuration (fcc)."
14953
+ }
14954
+ }
14955
+ }
14956
+ ]
14957
+ }
14958
+ ]
14959
+ },
14503
14960
  {
14504
14961
  "name": "archive",
14505
14962
  "type": "function",
@@ -14784,6 +15241,32 @@
14784
15241
  }
14785
15242
  ]
14786
15243
  },
15244
+ {
15245
+ "name": "get",
15246
+ "type": "function",
15247
+ "description": "Returns a message tag identified by its key.",
15248
+ "async": "callback",
15249
+ "permissions": [
15250
+ "messagesTagsList"
15251
+ ],
15252
+ "parameters": [
15253
+ {
15254
+ "type": "string",
15255
+ "name": "key",
15256
+ "description": "The key of the message tag to retrieve."
15257
+ },
15258
+ {
15259
+ "type": "function",
15260
+ "name": "callback",
15261
+ "optional": true,
15262
+ "parameters": [
15263
+ {
15264
+ "$ref": "messages.tags.MessageTag"
15265
+ }
15266
+ ]
15267
+ }
15268
+ ]
15269
+ },
14787
15270
  {
14788
15271
  "name": "create",
14789
15272
  "type": "function",
@@ -14889,6 +15372,10 @@
14889
15372
  "messengerSettings"
14890
15373
  ],
14891
15374
  "properties": {
15375
+ "composeInlineSpellCheckEnabled": {
15376
+ "$ref": "types.Setting",
15377
+ "description": "Whether the inline (real-time) spell checker is enabled in the message compose window."
15378
+ },
14892
15379
  "messageLineLengthLimit": {
14893
15380
  "$ref": "types.Setting",
14894
15381
  "description": "The line length limit for outgoing messages, to comply with requirements from RFC 2822. See description of $(ref:messengerSettings.messagePlainTextFlowedOutputEnabled). This property is read-only."
@@ -15175,7 +15662,7 @@
15175
15662
  "$extend": "WebExtensionManifest",
15176
15663
  "properties": {
15177
15664
  "oauth_provider": {
15178
- "description": "Describes an OAuth authentication provider for Thunderbird to use when connecting to mail/address book/calendar services. You will need to have a client ID registered with the provider to use this API.",
15665
+ "description": "Describes an OAuth authentication provider for Thunderbird. You will need to have a client ID registered with the provider to use this API.",
15179
15666
  "type": "object",
15180
15667
  "properties": {
15181
15668
  "issuer": {
@@ -15191,6 +15678,11 @@
15191
15678
  "type": "string",
15192
15679
  "optional": true
15193
15680
  },
15681
+ "issuerIdentifier": {
15682
+ "description": "The OAuth authorization server issuer identifier, as defined by RFC 9207. If provided, it <em>must</em> be an exact string match to what the provider gives in the iss field.",
15683
+ "type": "string",
15684
+ "optional": true
15685
+ },
15194
15686
  "authorizationEndpoint": {
15195
15687
  "description": "OAuth authorization endpoint address.",
15196
15688
  "type": "string",
@@ -15203,14 +15695,18 @@
15203
15695
  },
15204
15696
  "redirectionEndpoint": {
15205
15697
  "description": "OAuth redirection endpoint.",
15206
- "type": "string",
15207
- "format": "url"
15698
+ "type": "string"
15208
15699
  },
15209
15700
  "usePKCE": {
15210
15701
  "description": "If the authorization uses PKCE.",
15211
15702
  "type": "boolean",
15212
15703
  "optional": true
15213
15704
  },
15705
+ "useExternalBrowser": {
15706
+ "description": "If the login flow should use the system web browser. If true, the redirectionEndpoint <em>must</em> be a loopback address, so an origin of http://127.0.0.1 or http://localhost.",
15707
+ "type": "boolean",
15708
+ "optional": true
15709
+ },
15214
15710
  "hostnames": {
15215
15711
  "description": "One or more hostnames which use this OAuth provider.",
15216
15712
  "type": "array",
@@ -16019,6 +16515,12 @@
16019
16515
  "optional": true,
16020
16516
  "minimum": -1,
16021
16517
  "description": "The ID of the group that the tab belongs to. -1 if the tab does not belong to a tab group."
16518
+ },
16519
+ "splitViewId": {
16520
+ "type": "integer",
16521
+ "optional": true,
16522
+ "minimum": -1,
16523
+ "description": "The ID of the Split View that the tab belongs to. -1 if the tab does not belong to a split view."
16022
16524
  }
16023
16525
  }
16024
16526
  },
@@ -16182,6 +16684,11 @@
16182
16684
  "optional": true,
16183
16685
  "minimum": 0,
16184
16686
  "description": "Open a port to a specific frame identified by <var>frameId</var> instead of all frames in the tab."
16687
+ },
16688
+ "documentId": {
16689
+ "type": "string",
16690
+ "optional": true,
16691
+ "description": "Open a port to a specific document identified by <var>documentId</var> instead of all frames in the tab."
16185
16692
  }
16186
16693
  },
16187
16694
  "optional": true
@@ -16216,6 +16723,11 @@
16216
16723
  "optional": true,
16217
16724
  "minimum": 0,
16218
16725
  "description": "Send a message to a specific frame identified by <var>frameId</var> instead of all frames in the tab."
16726
+ },
16727
+ "documentId": {
16728
+ "type": "string",
16729
+ "optional": true,
16730
+ "description": "Send a message to a specific document identified by <var>documentId</var> instead of all frames in the tab."
16219
16731
  }
16220
16732
  },
16221
16733
  "optional": true