webext-schema 5.2.10 → 5.3.1

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.
@@ -109,6 +109,12 @@
109
109
  {
110
110
  "name": "command",
111
111
  "type": "string"
112
+ },
113
+ {
114
+ "name": "tab",
115
+ "$ref": "tags.Tab",
116
+ "optional": true,
117
+ "description": "Details of the $(ref:tabs.Tab) where the command was activated."
112
118
  }
113
119
  ]
114
120
  },
@@ -987,12 +993,13 @@
987
993
  },
988
994
  {
989
995
  "id": "ExtensionInstallType",
990
- "description": "How the extension was installed. One of<br><var>development</var>: The extension was loaded unpacked in developer mode,<br><var>normal</var>: The extension was installed normally via an .xpi file,<br><var>sideload</var>: The extension was installed by other software on the machine,<br><var>other</var>: The extension was installed by other means.",
996
+ "description": "How the extension was installed. One of<br><var>development</var>: The extension was loaded unpacked in developer mode,<br><var>normal</var>: The extension was installed normally via an .xpi file,<br><var>sideload</var>: The extension was installed by other software on the machine,<br><var>admin</var>: The extension was installed by policy,<br><var>other</var>: The extension was installed by other means.",
991
997
  "type": "string",
992
998
  "enum": [
993
999
  "development",
994
1000
  "normal",
995
1001
  "sideload",
1002
+ "admin",
996
1003
  "other"
997
1004
  ]
998
1005
  },
@@ -1509,6 +1516,132 @@
1509
1516
  ],
1510
1517
  "description": "Use the <code>browser.runtime</code> API to retrieve the background page, return details about the manifest, and listen for and respond to events in the app or extension lifecycle. You can also use this API to convert the relative path of URLs to fully-qualified URLs.",
1511
1518
  "types": [
1519
+ {
1520
+ "id": "ContextFilter",
1521
+ "min_manifest_version": 3,
1522
+ "type": "object",
1523
+ "description": "A filter to match against existing extension context. Matching contexts must match all specified filters.",
1524
+ "properties": {
1525
+ "contextIds": {
1526
+ "optional": true,
1527
+ "type": "array",
1528
+ "items": {
1529
+ "type": "string"
1530
+ }
1531
+ },
1532
+ "contextTypes": {
1533
+ "optional": true,
1534
+ "type": "array",
1535
+ "items": {
1536
+ "$ref": "ContextType"
1537
+ }
1538
+ },
1539
+ "documentIds": {
1540
+ "optional": true,
1541
+ "type": "array",
1542
+ "items": {
1543
+ "type": "string"
1544
+ }
1545
+ },
1546
+ "documentOrigins": {
1547
+ "optional": true,
1548
+ "type": "array",
1549
+ "items": {
1550
+ "type": "string"
1551
+ }
1552
+ },
1553
+ "documentUrls": {
1554
+ "optional": true,
1555
+ "type": "array",
1556
+ "items": {
1557
+ "type": "string"
1558
+ }
1559
+ },
1560
+ "frameIds": {
1561
+ "optional": true,
1562
+ "type": "array",
1563
+ "items": {
1564
+ "type": "integer"
1565
+ }
1566
+ },
1567
+ "tabIds": {
1568
+ "optional": true,
1569
+ "type": "array",
1570
+ "items": {
1571
+ "type": "integer"
1572
+ }
1573
+ },
1574
+ "windowIds": {
1575
+ "optional": true,
1576
+ "type": "array",
1577
+ "items": {
1578
+ "type": "integer"
1579
+ }
1580
+ },
1581
+ "incognito": {
1582
+ "optional": true,
1583
+ "type": "boolean"
1584
+ }
1585
+ }
1586
+ },
1587
+ {
1588
+ "id": "ContextType",
1589
+ "type": "string",
1590
+ "enum": [
1591
+ "BACKGROUND",
1592
+ "POPUP",
1593
+ "SIDE_PANEL",
1594
+ "TAB"
1595
+ ],
1596
+ "description": "The type of extension view."
1597
+ },
1598
+ {
1599
+ "id": "ExtensionContext",
1600
+ "type": "object",
1601
+ "description": "A context hosting extension content",
1602
+ "properties": {
1603
+ "contextId": {
1604
+ "type": "string",
1605
+ "description": "An unique identifier associated to this context"
1606
+ },
1607
+ "contextType": {
1608
+ "$ref": "ContextType",
1609
+ "description": "The type of the context"
1610
+ },
1611
+ "documentId": {
1612
+ "type": "string",
1613
+ "unsupported": true,
1614
+ "optional": true,
1615
+ "description": "An UUID for the document associated with this context, or undefined if it is not hosted in a document"
1616
+ },
1617
+ "documentOrigin": {
1618
+ "type": "string",
1619
+ "optional": true,
1620
+ "description": "The origin of the document associated with this context, or undefined if it is not hosted in a document"
1621
+ },
1622
+ "documentUrl": {
1623
+ "type": "string",
1624
+ "optional": true,
1625
+ "description": "The URL of the document associated with this context, or undefined if it is not hosted in a document"
1626
+ },
1627
+ "incognito": {
1628
+ "type": "boolean",
1629
+ "description": "Whether the context is associated with an private browsing context."
1630
+ },
1631
+ "frameId": {
1632
+ "type": "integer",
1633
+ "description": "The frame ID for this context, or -1 if it is not hosted in a frame."
1634
+ },
1635
+ "tabId": {
1636
+ "type": "integer",
1637
+ "description": "The tab ID for this context, or -1 if it is not hosted in a tab."
1638
+ },
1639
+ "windowId": {
1640
+ "type": "integer",
1641
+ "description": "The window ID for this context, or -1 if it is not hosted in a window."
1642
+ }
1643
+ }
1644
+ },
1512
1645
  {
1513
1646
  "id": "Port",
1514
1647
  "type": "object",
@@ -1778,6 +1911,33 @@
1778
1911
  }
1779
1912
  ]
1780
1913
  },
1914
+ {
1915
+ "name": "getContexts",
1916
+ "type": "function",
1917
+ "description": "Fetches information about active contexts associated with this extension",
1918
+ "async": "callback",
1919
+ "parameters": [
1920
+ {
1921
+ "name": "filter",
1922
+ "$ref": "ContextFilter",
1923
+ "description": "A filter to find matching context."
1924
+ },
1925
+ {
1926
+ "type": "function",
1927
+ "name": "callback",
1928
+ "parameters": [
1929
+ {
1930
+ "name": "contexts",
1931
+ "type": "array",
1932
+ "items": {
1933
+ "$ref": "ExtensionContext"
1934
+ },
1935
+ "description": "The matching contexts, if any."
1936
+ }
1937
+ ]
1938
+ }
1939
+ ]
1940
+ },
1781
1941
  {
1782
1942
  "name": "openOptionsPage",
1783
1943
  "type": "function",
@@ -2916,7 +3076,7 @@
2916
3076
  "types": [
2917
3077
  {
2918
3078
  "id": "MailAccount",
2919
- "description": "An object describing a mail account, as returned for example by the :ref:`accounts.list` and :ref:`accounts.get` methods. The ``folders`` property is only included if requested.",
3079
+ "description": "An object describing a mail account, as returned for example by the :ref:`accounts.list` and :ref:`accounts.get` methods.",
2920
3080
  "type": "object",
2921
3081
  "properties": {
2922
3082
  "id": {
@@ -2933,16 +3093,21 @@
2933
3093
  },
2934
3094
  "folders": {
2935
3095
  "max_manifest_version": 2,
2936
- "type": "array",
2937
- "optional": true,
2938
- "description": "The folders for this account are only included if requested.",
2939
- "items": {
2940
- "$ref": "folders.MailFolder"
2941
- }
3096
+ "description": "The folders for this account. The property may be <value>null</value>, if inclusion of folders had not been requested.",
3097
+ "choices": [
3098
+ {
3099
+ "type": "array",
3100
+ "items": {
3101
+ "$ref": "folders.MailFolder"
3102
+ }
3103
+ },
3104
+ {
3105
+ "type": "null"
3106
+ }
3107
+ ]
2942
3108
  },
2943
3109
  "rootFolder": {
2944
3110
  "$ref": "folders.MailFolder",
2945
- "optional": true,
2946
3111
  "description": "The root folder associated with this account."
2947
3112
  },
2948
3113
  "identities": {
@@ -2958,6 +3123,32 @@
2958
3123
  "id": "MailAccountId",
2959
3124
  "type": "string",
2960
3125
  "description": "A unique id representing a :ref:`accounts.MailAccount`."
3126
+ },
3127
+ {
3128
+ "id": "MailAccountType",
3129
+ "description": "The type of an account.",
3130
+ "choices": [
3131
+ {
3132
+ "max_manifest_version": 2,
3133
+ "type": "string",
3134
+ "enum": [
3135
+ "imap",
3136
+ "pop3",
3137
+ "nntp",
3138
+ "none"
3139
+ ]
3140
+ },
3141
+ {
3142
+ "min_manifest_version": 3,
3143
+ "type": "string",
3144
+ "enum": [
3145
+ "imap",
3146
+ "pop3",
3147
+ "nntp",
3148
+ "local"
3149
+ ]
3150
+ }
3151
+ ]
2961
3152
  }
2962
3153
  ],
2963
3154
  "functions": [
@@ -3012,8 +3203,14 @@
3012
3203
  "optional": true,
3013
3204
  "parameters": [
3014
3205
  {
3015
- "$ref": "accounts.MailAccount",
3016
- "optional": true
3206
+ "choices": [
3207
+ {
3208
+ "$ref": "accounts.MailAccount"
3209
+ },
3210
+ {
3211
+ "type": "null"
3212
+ }
3213
+ ]
3017
3214
  }
3018
3215
  ]
3019
3216
  }
@@ -3038,8 +3235,14 @@
3038
3235
  "optional": true,
3039
3236
  "parameters": [
3040
3237
  {
3041
- "$ref": "accounts.MailAccount",
3042
- "optional": true
3238
+ "choices": [
3239
+ {
3240
+ "$ref": "accounts.MailAccount"
3241
+ },
3242
+ {
3243
+ "type": "null"
3244
+ }
3245
+ ]
3043
3246
  }
3044
3247
  ]
3045
3248
  }
@@ -3081,7 +3284,14 @@
3081
3284
  "optional": true,
3082
3285
  "parameters": [
3083
3286
  {
3084
- "$ref": "identities.MailIdentity"
3287
+ "choices": [
3288
+ {
3289
+ "$ref": "identities.MailIdentity"
3290
+ },
3291
+ {
3292
+ "type": "null"
3293
+ }
3294
+ ]
3085
3295
  }
3086
3296
  ]
3087
3297
  }
@@ -3464,8 +3674,19 @@
3464
3674
  }
3465
3675
  ]
3466
3676
  },
3677
+ {
3678
+ "namespace": "addressBooks.contacts",
3679
+ "min_manifest_version": 3,
3680
+ "$import": "contacts"
3681
+ },
3682
+ {
3683
+ "namespace": "addressBooks.mailingLists",
3684
+ "min_manifest_version": 3,
3685
+ "$import": "mailingLists"
3686
+ },
3467
3687
  {
3468
3688
  "namespace": "contacts",
3689
+ "max_manifest_version": 2,
3469
3690
  "permissions": [
3470
3691
  "addressBooks"
3471
3692
  ],
@@ -3475,10 +3696,16 @@
3475
3696
  "description": "Object defining a query for :ref:`contacts.quickSearch`.",
3476
3697
  "type": "object",
3477
3698
  "properties": {
3699
+ "parentId": {
3700
+ "type": "string",
3701
+ "min_manifest_version": 3,
3702
+ "optional": true,
3703
+ "description": "The id of the address book to search. If not specified, all address books are searched."
3704
+ },
3478
3705
  "searchString": {
3479
3706
  "type": "string",
3480
3707
  "optional": true,
3481
- "description": "One or more space-separated terms to search for."
3708
+ "description": "One or more space-separated terms to search for in predefined contact fields (defined by the preference <value>mail.addr_book.quicksearchquery.format</value>)."
3482
3709
  },
3483
3710
  "includeLocal": {
3484
3711
  "type": "boolean",
@@ -3617,6 +3844,7 @@
3617
3844
  },
3618
3845
  {
3619
3846
  "name": "quickSearch",
3847
+ "max_manifest_version": 2,
3620
3848
  "type": "function",
3621
3849
  "async": "callback",
3622
3850
  "parameters": [
@@ -3654,6 +3882,32 @@
3654
3882
  ],
3655
3883
  "description": "Gets all contacts matching ``queryInfo`` in the address book with the id ``parentId``."
3656
3884
  },
3885
+ {
3886
+ "name": "query",
3887
+ "min_manifest_version": 3,
3888
+ "type": "function",
3889
+ "async": "callback",
3890
+ "parameters": [
3891
+ {
3892
+ "name": "queryInfo",
3893
+ "$ref": "QueryInfo"
3894
+ },
3895
+ {
3896
+ "type": "function",
3897
+ "name": "callback",
3898
+ "optional": true,
3899
+ "parameters": [
3900
+ {
3901
+ "type": "array",
3902
+ "items": {
3903
+ "$ref": "ContactNode"
3904
+ }
3905
+ }
3906
+ ]
3907
+ }
3908
+ ],
3909
+ "description": "Gets all contacts matching ``queryInfo``."
3910
+ },
3657
3911
  {
3658
3912
  "name": "get",
3659
3913
  "type": "function",
@@ -3691,15 +3945,21 @@
3691
3945
  "optional": true,
3692
3946
  "parameters": [
3693
3947
  {
3694
- "type": "object",
3695
- "optional": true,
3696
- "isInstanceOf": "File",
3697
- "additionalProperties": true
3948
+ "choices": [
3949
+ {
3950
+ "type": "object",
3951
+ "isInstanceOf": "File",
3952
+ "additionalProperties": true
3953
+ },
3954
+ {
3955
+ "type": "null"
3956
+ }
3957
+ ]
3698
3958
  }
3699
3959
  ]
3700
3960
  }
3701
3961
  ],
3702
- "description": "Gets the photo associated with this contact, if any."
3962
+ "description": "Gets the photo associated with this contact. Returns <value>null</value>, if no photo is available."
3703
3963
  },
3704
3964
  {
3705
3965
  "name": "setPhoto",
@@ -3829,6 +4089,7 @@
3829
4089
  },
3830
4090
  {
3831
4091
  "namespace": "mailingLists",
4092
+ "max_manifest_version": 2,
3832
4093
  "permissions": [
3833
4094
  "addressBooks"
3834
4095
  ],
@@ -4489,6 +4750,7 @@
4489
4750
  {
4490
4751
  "type": "function",
4491
4752
  "name": "callback",
4753
+ "optional": true,
4492
4754
  "parameters": [
4493
4755
  {
4494
4756
  "name": "result",
@@ -4545,7 +4807,7 @@
4545
4807
  {
4546
4808
  "name": "getLabel",
4547
4809
  "type": "function",
4548
- "description": "Gets the label of the action button.",
4810
+ "description": "Gets the label of the action button. Returns <value>null</value>, if no label has been set and the title is used.",
4549
4811
  "async": "callback",
4550
4812
  "parameters": [
4551
4813
  {
@@ -4570,11 +4832,18 @@
4570
4832
  {
4571
4833
  "type": "function",
4572
4834
  "name": "callback",
4835
+ "optional": true,
4573
4836
  "parameters": [
4574
4837
  {
4575
4838
  "name": "result",
4576
- "type": "string",
4577
- "optional": true
4839
+ "choices": [
4840
+ {
4841
+ "type": "string"
4842
+ },
4843
+ {
4844
+ "type": "null"
4845
+ }
4846
+ ]
4578
4847
  }
4579
4848
  ]
4580
4849
  }
@@ -4702,6 +4971,7 @@
4702
4971
  {
4703
4972
  "type": "function",
4704
4973
  "name": "callback",
4974
+ "optional": true,
4705
4975
  "parameters": [
4706
4976
  {
4707
4977
  "name": "result",
@@ -4783,6 +5053,7 @@
4783
5053
  {
4784
5054
  "type": "function",
4785
5055
  "name": "callback",
5056
+ "optional": true,
4786
5057
  "parameters": [
4787
5058
  {
4788
5059
  "name": "result",
@@ -4867,6 +5138,7 @@
4867
5138
  {
4868
5139
  "type": "function",
4869
5140
  "name": "callback",
5141
+ "optional": true,
4870
5142
  "parameters": [
4871
5143
  {
4872
5144
  "name": "result",
@@ -5615,7 +5887,7 @@
5615
5887
  {
5616
5888
  "name": "getAccount",
5617
5889
  "type": "function",
5618
- "description": "Retrieve information about a single cloud file account.",
5890
+ "description": "Retrieve information about a single cloud file account, or <value>undefined</value> if it does not exists",
5619
5891
  "allowedContexts": [
5620
5892
  "content"
5621
5893
  ],
@@ -5632,7 +5904,9 @@
5632
5904
  "optional": true,
5633
5905
  "parameters": [
5634
5906
  {
5635
- "$ref": "CloudFileAccount"
5907
+ "optional": true,
5908
+ "$ref": "CloudFileAccount",
5909
+ "description": "This may return undefined"
5636
5910
  }
5637
5911
  ]
5638
5912
  }
@@ -5717,7 +5991,9 @@
5717
5991
  "optional": true,
5718
5992
  "parameters": [
5719
5993
  {
5720
- "$ref": "CloudFileAccount"
5994
+ "optional": true,
5995
+ "$ref": "CloudFileAccount",
5996
+ "description": "This may return undefined"
5721
5997
  }
5722
5998
  ]
5723
5999
  }
@@ -5808,7 +6084,14 @@
5808
6084
  "type": "object",
5809
6085
  "description": "Used by various functions to represent the state of a message being composed. Note that functions using this type may have a partial implementation.",
5810
6086
  "properties": {
6087
+ "additionalFccFolderId": {
6088
+ "min_manifest_version": 3,
6089
+ "$ref": "folders.MailFolderId",
6090
+ "description": "An additional fcc folder which can be selected while composing the message. Cleared when set to <value>null</value>.",
6091
+ "optional": "omit-key-if-missing"
6092
+ },
5811
6093
  "additionalFccFolder": {
6094
+ "max_manifest_version": 2,
5812
6095
  "choices": [
5813
6096
  {
5814
6097
  "$ref": "folders.MailFolderId"
@@ -5923,11 +6206,13 @@
5923
6206
  "optional": true
5924
6207
  },
5925
6208
  "overrideDefaultFcc": {
6209
+ "max_manifest_version": 2,
5926
6210
  "type": "boolean",
5927
6211
  "optional": true,
5928
6212
  "description": "Indicates whether the default fcc setting (defined by the used identity) is being overridden for this message. Setting <value>false</value> will clear the override. Setting <value>true</value> will throw an <em>ExtensionError</em>, if ``overrideDefaultFccFolder`` is not set as well."
5929
6213
  },
5930
6214
  "overrideDefaultFccFolder": {
6215
+ "max_manifest_version": 2,
5931
6216
  "choices": [
5932
6217
  {
5933
6218
  "$ref": "folders.MailFolderId"
@@ -5945,6 +6230,12 @@
5945
6230
  "optional": true,
5946
6231
  "description": " This value overrides the default fcc setting (defined by the used identity) for this message only. 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."
5947
6232
  },
6233
+ "overrideDefaultFccFolderId": {
6234
+ "min_manifest_version": 3,
6235
+ "$ref": "folders.MailFolderId",
6236
+ "description": " This value overrides the default fcc setting (defined by the used identity) for this message only. Either a :ref:`folders.MailFolderId` specifying the folder for the copy of the sent message, or an empty string to not save a copy at all. Reset when set to <value>null</value>.",
6237
+ "optional": "omit-key-if-missing"
6238
+ },
5948
6239
  "plainTextBody": {
5949
6240
  "type": "string",
5950
6241
  "description": "The plain text content of the message.",
@@ -6974,6 +7265,7 @@
6974
7265
  {
6975
7266
  "type": "function",
6976
7267
  "name": "callback",
7268
+ "optional": true,
6977
7269
  "parameters": [
6978
7270
  {
6979
7271
  "name": "result",
@@ -7030,7 +7322,7 @@
7030
7322
  {
7031
7323
  "name": "getLabel",
7032
7324
  "type": "function",
7033
- "description": "Gets the label of the composeAction button.",
7325
+ "description": "Gets the label of the composeAction button. Returns <value>null</value>, if no label has been set and the title is used.",
7034
7326
  "async": "callback",
7035
7327
  "parameters": [
7036
7328
  {
@@ -7055,11 +7347,18 @@
7055
7347
  {
7056
7348
  "type": "function",
7057
7349
  "name": "callback",
7350
+ "optional": true,
7058
7351
  "parameters": [
7059
7352
  {
7060
7353
  "name": "result",
7061
- "type": "string",
7062
- "optional": true
7354
+ "choices": [
7355
+ {
7356
+ "type": "string"
7357
+ },
7358
+ {
7359
+ "type": "null"
7360
+ }
7361
+ ]
7063
7362
  }
7064
7363
  ]
7065
7364
  }
@@ -7187,6 +7486,7 @@
7187
7486
  {
7188
7487
  "type": "function",
7189
7488
  "name": "callback",
7489
+ "optional": true,
7190
7490
  "parameters": [
7191
7491
  {
7192
7492
  "name": "result",
@@ -7268,6 +7568,7 @@
7268
7568
  {
7269
7569
  "type": "function",
7270
7570
  "name": "callback",
7571
+ "optional": true,
7271
7572
  "parameters": [
7272
7573
  {
7273
7574
  "name": "result",
@@ -7352,6 +7653,7 @@
7352
7653
  {
7353
7654
  "type": "function",
7354
7655
  "name": "callback",
7656
+ "optional": true,
7355
7657
  "parameters": [
7356
7658
  {
7357
7659
  "name": "result",
@@ -7596,6 +7898,17 @@
7596
7898
  "items": {
7597
7899
  "$ref": "extensionTypes.ExtensionFileOrCode"
7598
7900
  }
7901
+ },
7902
+ "runAt": {
7903
+ "type": "string",
7904
+ "optional": true,
7905
+ "default": "document_idle",
7906
+ "enum": [
7907
+ "document_start",
7908
+ "document_end",
7909
+ "document_idle"
7910
+ ],
7911
+ "description": "Determines when the files specified in css and js are injected. The states directly correspond to <code>Document.readyState</code>: <value>loading</value>, <value>interactive</value> and <value>complete</value>"
7599
7912
  }
7600
7913
  }
7601
7914
  },
@@ -7656,10 +7969,11 @@
7656
7969
  {
7657
7970
  "id": "MailFolder",
7658
7971
  "type": "object",
7659
- "description": "An object describing a folder. The ``subFolders`` property is only included if requested.",
7972
+ "description": "An object describing a folder.",
7660
7973
  "properties": {
7661
7974
  "accountId": {
7662
7975
  "$ref": "accounts.MailAccountId",
7976
+ "optional": true,
7663
7977
  "description": "The id of the account this folder belongs to."
7664
7978
  },
7665
7979
  "id": {
@@ -7677,6 +7991,16 @@
7677
7991
  "optional": true,
7678
7992
  "description": "Whether this folder is a root folder."
7679
7993
  },
7994
+ "isTag": {
7995
+ "type": "boolean",
7996
+ "optional": true,
7997
+ "description": "Whether this folder is a virtual tag folder."
7998
+ },
7999
+ "isUnified": {
8000
+ "type": "boolean",
8001
+ "optional": true,
8002
+ "description": "Whether this folder is a unified mailbox folder."
8003
+ },
7680
8004
  "isVirtual": {
7681
8005
  "type": "boolean",
7682
8006
  "optional": true,
@@ -7700,11 +8024,19 @@
7700
8024
  "description": "The special use of this folder. A folder can have multiple special uses."
7701
8025
  },
7702
8026
  "subFolders": {
7703
- "type": "array",
7704
- "description": "Subfolders are only included if requested. They will be returned in the same order as used in Thunderbird's folder pane.",
7705
- "items": {
7706
- "$ref": "folders.MailFolder"
7707
- },
8027
+ "description": "Subfolders of this folder. The property may be <value>null</value>, if inclusion of folders had not been requested. The folders will be returned in the same order as used in Thunderbird's folder pane.",
8028
+ "choices": [
8029
+ {
8030
+ "type": "array",
8031
+ "items": {
8032
+ "$ref": "folders.MailFolder"
8033
+ }
8034
+ },
8035
+ {
8036
+ "max_manifest_version": 2,
8037
+ "type": "null"
8038
+ }
8039
+ ],
7708
8040
  "optional": true
7709
8041
  },
7710
8042
  "type": {
@@ -7976,15 +8308,25 @@
7976
8308
  "optional": true,
7977
8309
  "description": "Whether the folder is a favorite folder, or not."
7978
8310
  },
7979
- "isVirtual": {
8311
+ "isRoot": {
7980
8312
  "type": "boolean",
7981
8313
  "optional": true,
7982
- "description": "Whether this folder is a virtual search folder, or not."
8314
+ "description": "Whether the folder is a root folder, or not."
7983
8315
  },
7984
- "isRoot": {
8316
+ "isTag": {
7985
8317
  "type": "boolean",
7986
8318
  "optional": true,
7987
- "description": "Whether the folder is a root folder, or not."
8319
+ "description": "Whether the folder is a virtual tag folder, or not. Note: Virtual tag folders are always skipped, unless this property is set to <value>true</value>"
8320
+ },
8321
+ "isUnified": {
8322
+ "type": "boolean",
8323
+ "optional": true,
8324
+ "description": "Whether the folder is a unified mailbox folder, or not. Note: Unified mailbox folders are always skipped, unless this property is set to <value>true</value>"
8325
+ },
8326
+ "isVirtual": {
8327
+ "type": "boolean",
8328
+ "optional": true,
8329
+ "description": "Whether the folder is a virtual search folder, or not."
7988
8330
  },
7989
8331
  "limit": {
7990
8332
  "type": "integer",
@@ -8476,6 +8818,66 @@
8476
8818
  }
8477
8819
  ]
8478
8820
  },
8821
+ {
8822
+ "name": "getUnifiedFolder",
8823
+ "type": "function",
8824
+ "description": "Get one of the special unified mailbox folders, which are virtual search folders and return the content from all mail accounts.",
8825
+ "async": "callback",
8826
+ "parameters": [
8827
+ {
8828
+ "type": "string",
8829
+ "description": "The requested unified mailbox folder type.",
8830
+ "enum": [
8831
+ "inbox",
8832
+ "drafts",
8833
+ "sent",
8834
+ "trash",
8835
+ "templates",
8836
+ "archives",
8837
+ "junk"
8838
+ ]
8839
+ },
8840
+ {
8841
+ "name": "includeSubFolders",
8842
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object should include all its nested subfolders . Defaults to <value>false</value>.",
8843
+ "optional": true,
8844
+ "default": false,
8845
+ "type": "boolean"
8846
+ },
8847
+ {
8848
+ "type": "function",
8849
+ "name": "callback",
8850
+ "optional": true,
8851
+ "parameters": [
8852
+ {
8853
+ "$ref": "folders.MailFolder"
8854
+ }
8855
+ ]
8856
+ }
8857
+ ]
8858
+ },
8859
+ {
8860
+ "name": "getTagFolder",
8861
+ "type": "function",
8862
+ "description": "Get one of the special unified mailbox tag folders, which are virtual search folders and group messages from all mail accounts based on their tags.",
8863
+ "async": "callback",
8864
+ "parameters": [
8865
+ {
8866
+ "type": "string",
8867
+ "description": "The tag key of the requested folder. See :ref:`messages.tags.list()` for the available tags. Throws when specifying an invalid tag key."
8868
+ },
8869
+ {
8870
+ "type": "function",
8871
+ "name": "callback",
8872
+ "optional": true,
8873
+ "parameters": [
8874
+ {
8875
+ "$ref": "folders.MailFolder"
8876
+ }
8877
+ ]
8878
+ }
8879
+ ]
8880
+ },
8479
8881
  {
8480
8882
  "name": "markAsRead",
8481
8883
  "permissions": [
@@ -8725,8 +9127,14 @@
8725
9127
  "optional": true,
8726
9128
  "parameters": [
8727
9129
  {
8728
- "$ref": "identities.MailIdentity",
8729
- "optional": true
9130
+ "choices": [
9131
+ {
9132
+ "$ref": "identities.MailIdentity"
9133
+ },
9134
+ {
9135
+ "type": "null"
9136
+ }
9137
+ ]
8730
9138
  }
8731
9139
  ]
8732
9140
  }
@@ -8821,7 +9229,14 @@
8821
9229
  "optional": true,
8822
9230
  "parameters": [
8823
9231
  {
8824
- "$ref": "identities.MailIdentity"
9232
+ "choices": [
9233
+ {
9234
+ "$ref": "identities.MailIdentity"
9235
+ },
9236
+ {
9237
+ "type": "null"
9238
+ }
9239
+ ]
8825
9240
  }
8826
9241
  ]
8827
9242
  }
@@ -8893,6 +9308,19 @@
8893
9308
  {
8894
9309
  "namespace": "mailTabs",
8895
9310
  "types": [
9311
+ {
9312
+ "id": "FolderMode",
9313
+ "description": "A supported folder mode in the folder pane.",
9314
+ "type": "string",
9315
+ "enum": [
9316
+ "all",
9317
+ "unified",
9318
+ "tags",
9319
+ "unread",
9320
+ "favorite",
9321
+ "recent"
9322
+ ]
9323
+ },
8896
9324
  {
8897
9325
  "id": "MailTab",
8898
9326
  "type": "object",
@@ -8908,7 +9336,7 @@
8908
9336
  },
8909
9337
  "sortType": {
8910
9338
  "type": "string",
8911
- "description": "**Note:** ``sortType`` and ``sortOrder`` depend on each other, so both should be present, or neither.",
9339
+ "description": "The primary sort column of the message list.",
8912
9340
  "optional": true,
8913
9341
  "enum": [
8914
9342
  "none",
@@ -8935,7 +9363,7 @@
8935
9363
  },
8936
9364
  "sortOrder": {
8937
9365
  "type": "string",
8938
- "description": "**Note:** ``sortType`` and ``sortOrder`` depend on each other, so both should be present, or neither.",
9366
+ "description": "The sort order of the message list.",
8939
9367
  "optional": true,
8940
9368
  "enum": [
8941
9369
  "none",
@@ -8945,6 +9373,7 @@
8945
9373
  },
8946
9374
  "viewType": {
8947
9375
  "type": "string",
9376
+ "description": "Group mode of the message list.",
8948
9377
  "optional": true,
8949
9378
  "enum": [
8950
9379
  "ungrouped",
@@ -8954,24 +9383,41 @@
8954
9383
  },
8955
9384
  "layout": {
8956
9385
  "type": "string",
9386
+ "description": "The arrangement of the folder pane, message list pane, and message display pane.",
8957
9387
  "enum": [
8958
9388
  "standard",
8959
9389
  "wide",
8960
9390
  "vertical"
8961
9391
  ]
8962
9392
  },
9393
+ "folderMode": {
9394
+ "description": "The folder mode of the currently displayed folder.",
9395
+ "$ref": "mailTabs.FolderMode",
9396
+ "optional": true
9397
+ },
9398
+ "folderModesEnabled": {
9399
+ "type": "array",
9400
+ "description": "The enabled folder modes in the folder pane, and their sort order.",
9401
+ "minItems": 1,
9402
+ "optional": true,
9403
+ "items": {
9404
+ "$ref": "mailTabs.FolderMode"
9405
+ }
9406
+ },
8963
9407
  "folderPaneVisible": {
8964
9408
  "type": "boolean",
9409
+ "description": "Whether the folder pane is visible or not.",
8965
9410
  "optional": true
8966
9411
  },
8967
9412
  "messagePaneVisible": {
8968
9413
  "type": "boolean",
9414
+ "description": "Whether the message pane is visible or not.",
8969
9415
  "optional": true
8970
9416
  },
8971
9417
  "displayedFolder": {
8972
9418
  "$ref": "folders.MailFolder",
8973
- "optional": true,
8974
- "description": "The <permission>accountsRead</permission> permission is required for this property to be included."
9419
+ "description": "The folder displayed in the mail tab. The <permission>accountsRead</permission> permission is required for this property to be included.",
9420
+ "optional": true
8975
9421
  }
8976
9422
  }
8977
9423
  },
@@ -9018,6 +9464,7 @@
9018
9464
  },
9019
9465
  "viewType": {
9020
9466
  "type": "string",
9467
+ "description": "Sets the group mode of displayed messages.",
9021
9468
  "optional": true,
9022
9469
  "enum": [
9023
9470
  "ungrouped",
@@ -9040,22 +9487,42 @@
9040
9487
  "description": "Shows or hides the folder pane.",
9041
9488
  "optional": true
9042
9489
  },
9490
+ "folderMode": {
9491
+ "description": "Sets the currently used folder mode, enabling it if required. If used without also specifying <value>displayedFolder</value>, the currently selected folder is re-selected in the new folder mode, if possible.",
9492
+ "$ref": "mailTabs.FolderMode",
9493
+ "optional": true
9494
+ },
9495
+ "folderModesEnabled": {
9496
+ "type": "array",
9497
+ "description": "Set the enabled folder modes in the folder pane, and their sort order.",
9498
+ "minItems": 1,
9499
+ "optional": true,
9500
+ "items": {
9501
+ "$ref": "mailTabs.FolderMode"
9502
+ }
9503
+ },
9043
9504
  "messagePaneVisible": {
9044
9505
  "type": "boolean",
9045
9506
  "description": "Shows or hides the message display pane.",
9046
9507
  "optional": true
9047
9508
  },
9509
+ "displayedFolderId": {
9510
+ "$ref": "folders.MailFolderId",
9511
+ "min_manifest_version": 3,
9512
+ "description": "Sets the folder displayed in the mail tab. Requires the <permission>accountsRead</permission> permission. The previous message selection in the given folder will be restored, if any. This property is ignored, if <value>selectedMessages</value> is specified.",
9513
+ "optional": true
9514
+ },
9048
9515
  "displayedFolder": {
9049
9516
  "choices": [
9050
9517
  {
9051
9518
  "$ref": "folders.MailFolderId"
9052
9519
  },
9053
9520
  {
9054
- "max_manifest_version": 2,
9055
9521
  "deprecated": "Support deprecated since Thunderbird 121 and removed in Manifest V3: MailTabProperties.displayedFolder needs to be specified as a MailFolderId instead of as a full MailFolder object.",
9056
9522
  "$ref": "folders.MailFolder"
9057
9523
  }
9058
9524
  ],
9525
+ "max_manifest_version": 2,
9059
9526
  "description": "Sets the folder displayed in the mail tab. Requires the <permission>accountsRead</permission> permission. The previous message selection in the given folder will be restored, if any. This property is ignored, if <value>selectedMessages</value> is specified.",
9060
9527
  "optional": true
9061
9528
  }
@@ -9169,7 +9636,7 @@
9169
9636
  {
9170
9637
  "name": "getCurrent",
9171
9638
  "type": "function",
9172
- "description": "Get the properties of the active mail tab, if the active tab is a mail tab. Returns undefined otherwise.",
9639
+ "description": "Get the properties of the active mail tab, if the active tab is a mail tab. Returns <value>undefined</value> otherwise.",
9173
9640
  "async": "callback",
9174
9641
  "parameters": [
9175
9642
  {
@@ -9179,7 +9646,8 @@
9179
9646
  "parameters": [
9180
9647
  {
9181
9648
  "$ref": "MailTab",
9182
- "optional": true
9649
+ "optional": true,
9650
+ "description": "This may return undefined"
9183
9651
  }
9184
9652
  ]
9185
9653
  }
@@ -9205,7 +9673,6 @@
9205
9673
  {
9206
9674
  "name": "mailTab",
9207
9675
  "$ref": "MailTab",
9208
- "optional": true,
9209
9676
  "description": "Details about the created mail tab. Will contain the ID of the new tab."
9210
9677
  }
9211
9678
  ]
@@ -9237,7 +9704,6 @@
9237
9704
  {
9238
9705
  "name": "mailTab",
9239
9706
  "$ref": "MailTab",
9240
- "optional": true,
9241
9707
  "description": "Details about the updated mail tab."
9242
9708
  }
9243
9709
  ]
@@ -10334,12 +10800,13 @@
10334
10800
  {
10335
10801
  "name": "getDisplayedMessage",
10336
10802
  "type": "function",
10337
- "description": "Gets the currently displayed message in the specified tab (even if the tab itself is currently not visible). It returns <value>null</value> if no messages are displayed, or if multiple messages are displayed.",
10803
+ "description": "Gets the currently displayed message in the specified tab (even if the tab itself is currently not visible), or the currently active tab. It returns <value>null</value> if no messages are displayed, or if multiple messages are displayed.",
10338
10804
  "async": "callback",
10339
10805
  "parameters": [
10340
10806
  {
10341
10807
  "name": "tabId",
10342
10808
  "type": "integer",
10809
+ "optional": true,
10343
10810
  "minimum": 1
10344
10811
  },
10345
10812
  {
@@ -10364,12 +10831,13 @@
10364
10831
  {
10365
10832
  "name": "getDisplayedMessages",
10366
10833
  "type": "function",
10367
- "description": "Gets an array of the currently displayed messages in the specified tab (even if the tab itself is currently not visible). The array is empty if no messages are displayed.",
10834
+ "description": "Gets an array of the currently displayed messages in the specified tab (even if the tab itself is currently not visible), or the currently active tab. The array is empty if no messages are displayed.",
10368
10835
  "async": "callback",
10369
10836
  "parameters": [
10370
10837
  {
10371
10838
  "name": "tabId",
10372
10839
  "type": "integer",
10840
+ "optional": true,
10373
10841
  "minimum": 1
10374
10842
  },
10375
10843
  {
@@ -10440,6 +10908,7 @@
10440
10908
  {
10441
10909
  "type": "function",
10442
10910
  "name": "callback",
10911
+ "optional": true,
10443
10912
  "parameters": [
10444
10913
  {
10445
10914
  "name": "tab",
@@ -10665,6 +11134,7 @@
10665
11134
  {
10666
11135
  "type": "function",
10667
11136
  "name": "callback",
11137
+ "optional": true,
10668
11138
  "parameters": [
10669
11139
  {
10670
11140
  "name": "result",
@@ -10721,7 +11191,7 @@
10721
11191
  {
10722
11192
  "name": "getLabel",
10723
11193
  "type": "function",
10724
- "description": "Gets the label of the messageDisplayAction button.",
11194
+ "description": "Gets the label of the messageDisplayAction button. Returns <value>null</value>, if no label has been set and the title is used.",
10725
11195
  "async": "callback",
10726
11196
  "parameters": [
10727
11197
  {
@@ -10746,11 +11216,18 @@
10746
11216
  {
10747
11217
  "type": "function",
10748
11218
  "name": "callback",
11219
+ "optional": true,
10749
11220
  "parameters": [
10750
11221
  {
10751
11222
  "name": "result",
10752
- "type": "string",
10753
- "optional": true
11223
+ "choices": [
11224
+ {
11225
+ "type": "string"
11226
+ },
11227
+ {
11228
+ "type": "null"
11229
+ }
11230
+ ]
10754
11231
  }
10755
11232
  ]
10756
11233
  }
@@ -10878,6 +11355,7 @@
10878
11355
  {
10879
11356
  "type": "function",
10880
11357
  "name": "callback",
11358
+ "optional": true,
10881
11359
  "parameters": [
10882
11360
  {
10883
11361
  "name": "result",
@@ -10959,6 +11437,7 @@
10959
11437
  {
10960
11438
  "type": "function",
10961
11439
  "name": "callback",
11440
+ "optional": true,
10962
11441
  "parameters": [
10963
11442
  {
10964
11443
  "name": "result",
@@ -11043,6 +11522,7 @@
11043
11522
  {
11044
11523
  "type": "function",
11045
11524
  "name": "callback",
11525
+ "optional": true,
11046
11526
  "parameters": [
11047
11527
  {
11048
11528
  "name": "result",
@@ -11319,8 +11799,15 @@
11319
11799
  "description": "See :doc:`examples/messageLists` for more information.",
11320
11800
  "properties": {
11321
11801
  "id": {
11322
- "type": "string",
11323
- "optional": true
11802
+ "choices": [
11803
+ {
11804
+ "type": "string"
11805
+ },
11806
+ {
11807
+ "type": "null"
11808
+ }
11809
+ ],
11810
+ "description": "Id of the message list, to be used with :ref:`messages.continueList` or :ref:`messages.abortList`."
11324
11811
  },
11325
11812
  "messages": {
11326
11813
  "type": "array",
@@ -11333,11 +11820,11 @@
11333
11820
  {
11334
11821
  "id": "MessagePart",
11335
11822
  "type": "object",
11336
- "description": "Represents an email message \"part\", which could be the whole message",
11823
+ "description": "Represents an email message \"part\", which could be the whole message.",
11337
11824
  "properties": {
11338
11825
  "body": {
11339
11826
  "type": "string",
11340
- "description": "The content of the part",
11827
+ "description": "The content of the part.",
11341
11828
  "optional": true
11342
11829
  },
11343
11830
  "contentType": {
@@ -11368,20 +11855,20 @@
11368
11855
  },
11369
11856
  "name": {
11370
11857
  "type": "string",
11371
- "description": "Name of the part, if it is a file",
11858
+ "description": "Name of the part, if it is a file.",
11372
11859
  "optional": true
11373
11860
  },
11374
11861
  "partName": {
11375
11862
  "type": "string",
11376
11863
  "optional": true,
11377
- "description": "The identifier of this part, used in :ref:`messages.getAttachmentFile`"
11864
+ "description": "The identifier of this part, used in :ref:`messages.getAttachmentFile`."
11378
11865
  },
11379
11866
  "parts": {
11380
11867
  "type": "array",
11381
11868
  "items": {
11382
11869
  "$ref": "MessagePart"
11383
11870
  },
11384
- "description": "Any sub-parts of this part",
11871
+ "description": "Any sub-parts of this part.",
11385
11872
  "optional": true
11386
11873
  },
11387
11874
  "size": {
@@ -11404,11 +11891,11 @@
11404
11891
  "junk": {
11405
11892
  "type": "boolean",
11406
11893
  "optional": true,
11407
- "description": "Whether the message is marked as junk. Only supported in :ref:`messages.update`"
11894
+ "description": "Whether the message is marked as junk. Only supported in :ref:`messages.update`."
11408
11895
  },
11409
11896
  "new": {
11410
11897
  "type": "boolean",
11411
- "description": "Whether the message is marked as new. Only supported in :ref:`messages.import`",
11898
+ "description": "Whether the message is marked as new. Only supported in :ref:`messages.import`.",
11412
11899
  "optional": true
11413
11900
  },
11414
11901
  "read": {
@@ -11838,7 +12325,7 @@
11838
12325
  {
11839
12326
  "name": "openAttachment",
11840
12327
  "type": "function",
11841
- "description": "Opens the specified attachment",
12328
+ "description": "Opens the specified attachment.",
11842
12329
  "async": true,
11843
12330
  "parameters": [
11844
12331
  {
@@ -11860,7 +12347,7 @@
11860
12347
  {
11861
12348
  "name": "query",
11862
12349
  "type": "function",
11863
- "description": "Gets all messages that have the specified properties, or all messages if no properties are specified.",
12350
+ "description": "Gets all messages that have the specified properties, or all messages if no properties are specified. Messages of unified mailbox folders are not included by default (as that could double the amount of returned messages), but explicitly specifying a unified mailbox folder is supported.",
11864
12351
  "async": "callback",
11865
12352
  "parameters": [
11866
12353
  {
@@ -12285,14 +12772,14 @@
12285
12772
  "properties": {
12286
12773
  "tag": {
12287
12774
  "type": "string",
12288
- "optional": "true",
12775
+ "optional": true,
12289
12776
  "description": "Human-readable tag name."
12290
12777
  },
12291
12778
  "color": {
12292
12779
  "type": "string",
12293
12780
  "pattern": "^#[0-9a-fA-F]{6}",
12294
12781
  "description": "Tag color in hex format (i.e.: #000080 for navy blue). Value will be stored as upper case.",
12295
- "optional": "true"
12782
+ "optional": true
12296
12783
  }
12297
12784
  }
12298
12785
  }
@@ -12443,14 +12930,14 @@
12443
12930
  "properties": {
12444
12931
  "tag": {
12445
12932
  "type": "string",
12446
- "optional": "true",
12933
+ "optional": true,
12447
12934
  "description": "Human-readable tag name."
12448
12935
  },
12449
12936
  "color": {
12450
12937
  "type": "string",
12451
12938
  "pattern": "^#[0-9a-fA-F]{6}",
12452
12939
  "description": "Tag color in hex format (i.e.: #000080 for navy blue). Value will be stored as upper case.",
12453
- "optional": "true"
12940
+ "optional": true
12454
12941
  }
12455
12942
  }
12456
12943
  }
@@ -12505,7 +12992,7 @@
12505
12992
  {
12506
12993
  "name": "getTabValue",
12507
12994
  "type": "function",
12508
- "description": "Retrieve a previously stored value for a given tab, given its key.",
12995
+ "description": "Retrieve a previously stored value for a given tab, given its key. Returns <value>undefined</value> if the key does not exist.",
12509
12996
  "async": "callback",
12510
12997
  "parameters": [
12511
12998
  {
@@ -12525,7 +13012,8 @@
12525
13012
  "parameters": [
12526
13013
  {
12527
13014
  "type": "string",
12528
- "optional": true
13015
+ "optional": true,
13016
+ "description": "This may return undefined"
12529
13017
  }
12530
13018
  ]
12531
13019
  }
@@ -12557,7 +13045,7 @@
12557
13045
  "namespace": "spaces",
12558
13046
  "types": [
12559
13047
  {
12560
- "id": "SpaceButtonProperties",
13048
+ "id": "SpaceButtonProperties_MV2",
12561
13049
  "type": "object",
12562
13050
  "properties": {
12563
13051
  "badgeBackgroundColor": {
@@ -12587,7 +13075,7 @@
12587
13075
  }
12588
13076
  ],
12589
13077
  "optional": true,
12590
- "description": "The paths to one or more icons for the button in the spaces toolbar. Defaults to the extension icon, if set to an empty string."
13078
+ "description": "The paths to one or more icons for the button in the spaces toolbar. Reset to the extension icon, when set to an empty string."
12591
13079
  },
12592
13080
  "themeIcons": {
12593
13081
  "type": "array",
@@ -12595,12 +13083,53 @@
12595
13083
  "items": {
12596
13084
  "$ref": "manifest.ThemeIcons"
12597
13085
  },
12598
- "description": "Specifies dark and light icons for the button in the spaces toolbar to be used with themes: The ``light`` icons will be used on dark backgrounds and vice versa. At least the set for <em>16px</em> icons should be specified. The set for <em>32px</em> icons will be used on screens with a very high pixel density, if specified."
13086
+ "description": "Specifies dark and light icons for the button in the spaces toolbar to be used with themes: The ``light`` icons will be used on dark backgrounds and vice versa. At least the set for <em>16px</em> icons should be specified. The set for <em>32px</em> icons will be used on screens with a very high pixel density, if specified. Reset when set to an empty array."
12599
13087
  },
12600
13088
  "title": {
12601
13089
  "type": "string",
12602
13090
  "optional": true,
12603
- "description": "The title for the button in the spaces toolbar, used in the tooltip of the button and as the displayed name in the overflow menu. Defaults to the name of the extension, if set to an empty string."
13091
+ "description": "The title for the button in the spaces toolbar, used in the tooltip of the button and as the displayed name in the overflow menu. Reset to the name of the extension, when set to an empty string."
13092
+ }
13093
+ }
13094
+ },
13095
+ {
13096
+ "id": "SpaceButtonProperties_MV3",
13097
+ "type": "object",
13098
+ "properties": {
13099
+ "badgeBackgroundColor": {
13100
+ "choices": [
13101
+ {
13102
+ "type": "string"
13103
+ },
13104
+ {
13105
+ "$ref": "ColorArray"
13106
+ }
13107
+ ],
13108
+ "optional": "omit-key-if-missing",
13109
+ "description": "Sets the background color of the badge. Can be specified as an array of four integers in the range [0,255] that make up the RGBA color of the badge. For example, opaque red is <value>[255, 0, 0, 255]</value>. Can also be a string with an HTML color name (<value>red</value>) or a HEX color value (<value>#FF0000</value> or <value>#F00</value>). Reset when set to <value>null</value>."
13110
+ },
13111
+ "badgeText": {
13112
+ "type": "string",
13113
+ "optional": "omit-key-if-missing",
13114
+ "description": "Sets the badge text for the button in the spaces toolbar. The badge is displayed on top of the icon. Any number of characters can be set, but only about four can fit in the space. Removed when set to <value>null</value>."
13115
+ },
13116
+ "defaultIcons": {
13117
+ "$ref": "manifest.IconPath",
13118
+ "optional": "omit-key-if-missing",
13119
+ "description": "The paths to one or more icons for the button in the spaces toolbar. Reset to the extension icon, when set to <value>null</value>."
13120
+ },
13121
+ "themeIcons": {
13122
+ "type": "array",
13123
+ "optional": "omit-key-if-missing",
13124
+ "items": {
13125
+ "$ref": "manifest.ThemeIcons"
13126
+ },
13127
+ "description": "Specifies dark and light icons for the button in the spaces toolbar to be used with themes: The ``light`` icons will be used on dark backgrounds and vice versa. At least the set for <em>16px</em> icons should be specified. The set for <em>32px</em> icons will be used on screens with a very high pixel density, if specified. Reset when set to <value>null</value>."
13128
+ },
13129
+ "title": {
13130
+ "type": "string",
13131
+ "optional": "omit-key-if-missing",
13132
+ "description": "The title for the button in the spaces toolbar, used in the tooltip of the button and as the displayed name in the overflow menu. Reset to the name of the extension, when set to <value>null</value>."
12604
13133
  }
12605
13134
  }
12606
13135
  },
@@ -12667,7 +13196,16 @@
12667
13196
  {
12668
13197
  "name": "buttonProperties",
12669
13198
  "description": "Properties of the button for the new space.",
12670
- "$ref": "spaces.SpaceButtonProperties",
13199
+ "choices": [
13200
+ {
13201
+ "$ref": "spaces.SpaceButtonProperties_MV3",
13202
+ "min_manifest_version": 3
13203
+ },
13204
+ {
13205
+ "$ref": "spaces.SpaceButtonProperties_MV2",
13206
+ "max_manifest_version": 2
13207
+ }
13208
+ ],
12671
13209
  "optional": true,
12672
13210
  "default": {}
12673
13211
  },
@@ -12753,6 +13291,7 @@
12753
13291
  {
12754
13292
  "type": "function",
12755
13293
  "name": "callback",
13294
+ "optional": true,
12756
13295
  "parameters": [
12757
13296
  {
12758
13297
  "name": "result",
@@ -12800,7 +13339,16 @@
12800
13339
  {
12801
13340
  "name": "buttonProperties",
12802
13341
  "description": "Only specified button properties will be updated.",
12803
- "$ref": "spaces.SpaceButtonProperties",
13342
+ "choices": [
13343
+ {
13344
+ "$ref": "spaces.SpaceButtonProperties_MV3",
13345
+ "min_manifest_version": 3
13346
+ },
13347
+ {
13348
+ "$ref": "spaces.SpaceButtonProperties_MV2",
13349
+ "max_manifest_version": 2
13350
+ }
13351
+ ],
12804
13352
  "optional": true
12805
13353
  }
12806
13354
  ]
@@ -12832,7 +13380,6 @@
12832
13380
  {
12833
13381
  "name": "tab",
12834
13382
  "$ref": "tabs.Tab",
12835
- "optional": true,
12836
13383
  "description": "Details about the opened or activated space tab."
12837
13384
  }
12838
13385
  ]
@@ -12940,8 +13487,7 @@
12940
13487
  "name": "spaceId",
12941
13488
  "type": "integer",
12942
13489
  "description": "The id of the space belonging to the newly created button, as used by the tabs API.",
12943
- "minimum": 1,
12944
- "optional": true
13490
+ "minimum": 1
12945
13491
  }
12946
13492
  ]
12947
13493
  }
@@ -13007,7 +13553,6 @@
13007
13553
  {
13008
13554
  "name": "tab",
13009
13555
  "$ref": "tabs.Tab",
13010
- "optional": true,
13011
13556
  "description": "Details about the opened or activated tab."
13012
13557
  }
13013
13558
  ]
@@ -13136,6 +13681,7 @@
13136
13681
  "mailTab": {
13137
13682
  "type": "boolean",
13138
13683
  "optional": true,
13684
+ "max_manifest_version": 2,
13139
13685
  "description": "Whether the tab is a 3-pane tab."
13140
13686
  },
13141
13687
  "spaceId": {
@@ -13252,6 +13798,7 @@
13252
13798
  {
13253
13799
  "type": "function",
13254
13800
  "name": "callback",
13801
+ "optional": true,
13255
13802
  "parameters": [
13256
13803
  {
13257
13804
  "name": "tab",
@@ -13264,17 +13811,19 @@
13264
13811
  {
13265
13812
  "name": "getCurrent",
13266
13813
  "type": "function",
13267
- "description": "Gets the tab that this script call is being made from. May be undefined if called from a non-tab context (for example: a background page or popup view).",
13814
+ "description": "Gets the tab that this script call is being made from. May be <value>undefined</value> if called from a non-tab context (for example: a background page or popup view).",
13268
13815
  "async": "callback",
13269
13816
  "parameters": [
13270
13817
  {
13271
13818
  "type": "function",
13272
13819
  "name": "callback",
13820
+ "optional": true,
13273
13821
  "parameters": [
13274
13822
  {
13275
13823
  "name": "tab",
13276
13824
  "$ref": "Tab",
13277
- "optional": true
13825
+ "optional": true,
13826
+ "description": "This may return undefined"
13278
13827
  }
13279
13828
  ]
13280
13829
  }
@@ -13411,7 +13960,6 @@
13411
13960
  {
13412
13961
  "name": "tab",
13413
13962
  "$ref": "Tab",
13414
- "optional": true,
13415
13963
  "description": "Details about the created tab. Will contain the ID of the new tab."
13416
13964
  }
13417
13965
  ]
@@ -13437,7 +13985,6 @@
13437
13985
  "parameters": [
13438
13986
  {
13439
13987
  "name": "tab",
13440
- "optional": true,
13441
13988
  "description": "Details about the duplicated tab. The :ref:`tabs.Tab` object doesn't contain ``url``, ``title`` and ``favIconUrl`` if the <permission>tabs</permission> permission has not been requested.",
13442
13989
  "$ref": "Tab"
13443
13990
  }
@@ -13460,7 +14007,8 @@
13460
14007
  "mailTab": {
13461
14008
  "type": "boolean",
13462
14009
  "optional": true,
13463
- "description": "Whether the tab is a Thunderbird 3-pane tab."
14010
+ "max_manifest_version": 2,
14011
+ "description": "Whether the tab is a Thunderbird 3-pane tab. If specified, the ``queryInfo.type`` property will be ignored"
13464
14012
  },
13465
14013
  "spaceId": {
13466
14014
  "type": "integer",
@@ -13481,7 +14029,7 @@
13481
14029
  }
13482
14030
  ],
13483
14031
  "optional": true,
13484
- "description": "Match tabs against the given tab type or types. Ignored if ``queryInfo.mailTab`` is specified."
14032
+ "description": "Match tabs against the given tab type or types."
13485
14033
  },
13486
14034
  "active": {
13487
14035
  "type": "boolean",
@@ -13565,6 +14113,7 @@
13565
14113
  {
13566
14114
  "type": "function",
13567
14115
  "name": "callback",
14116
+ "optional": true,
13568
14117
  "parameters": [
13569
14118
  {
13570
14119
  "name": "result",
@@ -13615,7 +14164,6 @@
13615
14164
  {
13616
14165
  "name": "tab",
13617
14166
  "$ref": "Tab",
13618
- "optional": true,
13619
14167
  "description": "Details about the updated tab. The :ref:`tabs.Tab` object doesn't contain ``url``, ``title`` and ``favIconUrl`` if the <permission>tabs</permission> permission has not been requested."
13620
14168
  }
13621
14169
  ]
@@ -14282,6 +14830,7 @@
14282
14830
  {
14283
14831
  "type": "function",
14284
14832
  "name": "callback",
14833
+ "optional": true,
14285
14834
  "parameters": [
14286
14835
  {
14287
14836
  "name": "window",
@@ -14305,6 +14854,7 @@
14305
14854
  {
14306
14855
  "type": "function",
14307
14856
  "name": "callback",
14857
+ "optional": true,
14308
14858
  "parameters": [
14309
14859
  {
14310
14860
  "name": "window",
@@ -14328,6 +14878,7 @@
14328
14878
  {
14329
14879
  "type": "function",
14330
14880
  "name": "callback",
14881
+ "optional": true,
14331
14882
  "parameters": [
14332
14883
  {
14333
14884
  "name": "window",
@@ -14351,6 +14902,7 @@
14351
14902
  {
14352
14903
  "type": "function",
14353
14904
  "name": "callback",
14905
+ "optional": true,
14354
14906
  "parameters": [
14355
14907
  {
14356
14908
  "name": "windows",
@@ -14466,8 +15018,7 @@
14466
15018
  {
14467
15019
  "name": "window",
14468
15020
  "$ref": "Window",
14469
- "description": "Contains details about the created window.",
14470
- "optional": true
15021
+ "description": "Contains details about the created window."
14471
15022
  }
14472
15023
  ]
14473
15024
  }