webext-schema 5.3.0 → 5.3.2

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.
@@ -993,12 +993,13 @@
993
993
  },
994
994
  {
995
995
  "id": "ExtensionInstallType",
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>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.",
997
997
  "type": "string",
998
998
  "enum": [
999
999
  "development",
1000
1000
  "normal",
1001
1001
  "sideload",
1002
+ "admin",
1002
1003
  "other"
1003
1004
  ]
1004
1005
  },
@@ -1515,6 +1516,132 @@
1515
1516
  ],
1516
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.",
1517
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
+ },
1518
1645
  {
1519
1646
  "id": "Port",
1520
1647
  "type": "object",
@@ -1784,6 +1911,33 @@
1784
1911
  }
1785
1912
  ]
1786
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
+ },
1787
1941
  {
1788
1942
  "name": "openOptionsPage",
1789
1943
  "type": "function",
@@ -2922,7 +3076,7 @@
2922
3076
  "types": [
2923
3077
  {
2924
3078
  "id": "MailAccount",
2925
- "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.",
2926
3080
  "type": "object",
2927
3081
  "properties": {
2928
3082
  "id": {
@@ -2939,16 +3093,21 @@
2939
3093
  },
2940
3094
  "folders": {
2941
3095
  "max_manifest_version": 2,
2942
- "type": "array",
2943
- "optional": true,
2944
- "description": "The folders for this account are only included if requested.",
2945
- "items": {
2946
- "$ref": "folders.MailFolder"
2947
- }
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
+ ]
2948
3108
  },
2949
3109
  "rootFolder": {
2950
3110
  "$ref": "folders.MailFolder",
2951
- "optional": true,
2952
3111
  "description": "The root folder associated with this account."
2953
3112
  },
2954
3113
  "identities": {
@@ -2964,6 +3123,32 @@
2964
3123
  "id": "MailAccountId",
2965
3124
  "type": "string",
2966
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
+ ]
2967
3152
  }
2968
3153
  ],
2969
3154
  "functions": [
@@ -3018,8 +3203,14 @@
3018
3203
  "optional": true,
3019
3204
  "parameters": [
3020
3205
  {
3021
- "$ref": "accounts.MailAccount",
3022
- "optional": true
3206
+ "choices": [
3207
+ {
3208
+ "$ref": "accounts.MailAccount"
3209
+ },
3210
+ {
3211
+ "type": "null"
3212
+ }
3213
+ ]
3023
3214
  }
3024
3215
  ]
3025
3216
  }
@@ -3044,8 +3235,14 @@
3044
3235
  "optional": true,
3045
3236
  "parameters": [
3046
3237
  {
3047
- "$ref": "accounts.MailAccount",
3048
- "optional": true
3238
+ "choices": [
3239
+ {
3240
+ "$ref": "accounts.MailAccount"
3241
+ },
3242
+ {
3243
+ "type": "null"
3244
+ }
3245
+ ]
3049
3246
  }
3050
3247
  ]
3051
3248
  }
@@ -3087,7 +3284,14 @@
3087
3284
  "optional": true,
3088
3285
  "parameters": [
3089
3286
  {
3090
- "$ref": "identities.MailIdentity"
3287
+ "choices": [
3288
+ {
3289
+ "$ref": "identities.MailIdentity"
3290
+ },
3291
+ {
3292
+ "type": "null"
3293
+ }
3294
+ ]
3091
3295
  }
3092
3296
  ]
3093
3297
  }
@@ -3470,8 +3674,19 @@
3470
3674
  }
3471
3675
  ]
3472
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
+ },
3473
3687
  {
3474
3688
  "namespace": "contacts",
3689
+ "max_manifest_version": 2,
3475
3690
  "permissions": [
3476
3691
  "addressBooks"
3477
3692
  ],
@@ -3481,10 +3696,16 @@
3481
3696
  "description": "Object defining a query for :ref:`contacts.quickSearch`.",
3482
3697
  "type": "object",
3483
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
+ },
3484
3705
  "searchString": {
3485
3706
  "type": "string",
3486
3707
  "optional": true,
3487
- "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>)."
3488
3709
  },
3489
3710
  "includeLocal": {
3490
3711
  "type": "boolean",
@@ -3623,6 +3844,7 @@
3623
3844
  },
3624
3845
  {
3625
3846
  "name": "quickSearch",
3847
+ "max_manifest_version": 2,
3626
3848
  "type": "function",
3627
3849
  "async": "callback",
3628
3850
  "parameters": [
@@ -3660,6 +3882,32 @@
3660
3882
  ],
3661
3883
  "description": "Gets all contacts matching ``queryInfo`` in the address book with the id ``parentId``."
3662
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
+ },
3663
3911
  {
3664
3912
  "name": "get",
3665
3913
  "type": "function",
@@ -3697,15 +3945,21 @@
3697
3945
  "optional": true,
3698
3946
  "parameters": [
3699
3947
  {
3700
- "type": "object",
3701
- "optional": true,
3702
- "isInstanceOf": "File",
3703
- "additionalProperties": true
3948
+ "choices": [
3949
+ {
3950
+ "type": "object",
3951
+ "isInstanceOf": "File",
3952
+ "additionalProperties": true
3953
+ },
3954
+ {
3955
+ "type": "null"
3956
+ }
3957
+ ]
3704
3958
  }
3705
3959
  ]
3706
3960
  }
3707
3961
  ],
3708
- "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."
3709
3963
  },
3710
3964
  {
3711
3965
  "name": "setPhoto",
@@ -3835,6 +4089,7 @@
3835
4089
  },
3836
4090
  {
3837
4091
  "namespace": "mailingLists",
4092
+ "max_manifest_version": 2,
3838
4093
  "permissions": [
3839
4094
  "addressBooks"
3840
4095
  ],
@@ -4194,6 +4449,12 @@
4194
4449
  "description": "Enable browser styles. See the `MDN documentation on browser styles <|link-mdn-browser-styles|>`__ for more information.",
4195
4450
  "default": false
4196
4451
  },
4452
+ "default_area": {
4453
+ "type": "string",
4454
+ "optional": true,
4455
+ "description": "Defines the location the action button will appear. Deprecated and ignored. Replaced by ``allowed_spaces``",
4456
+ "deprecated": "Unsupported on Thunderbird."
4457
+ },
4197
4458
  "default_windows": {
4198
4459
  "description": "Defines the windows, the action button should appear in. Defaults to showing it only in the <value>normal</value> Thunderbird window, but can also be shown in the <value>messageDisplay</value> window.",
4199
4460
  "type": "array",
@@ -4495,6 +4756,7 @@
4495
4756
  {
4496
4757
  "type": "function",
4497
4758
  "name": "callback",
4759
+ "optional": true,
4498
4760
  "parameters": [
4499
4761
  {
4500
4762
  "name": "result",
@@ -4551,7 +4813,7 @@
4551
4813
  {
4552
4814
  "name": "getLabel",
4553
4815
  "type": "function",
4554
- "description": "Gets the label of the action button.",
4816
+ "description": "Gets the label of the action button. Returns <value>null</value>, if no label has been set and the title is used.",
4555
4817
  "async": "callback",
4556
4818
  "parameters": [
4557
4819
  {
@@ -4576,11 +4838,18 @@
4576
4838
  {
4577
4839
  "type": "function",
4578
4840
  "name": "callback",
4841
+ "optional": true,
4579
4842
  "parameters": [
4580
4843
  {
4581
4844
  "name": "result",
4582
- "type": "string",
4583
- "optional": true
4845
+ "choices": [
4846
+ {
4847
+ "type": "string"
4848
+ },
4849
+ {
4850
+ "type": "null"
4851
+ }
4852
+ ]
4584
4853
  }
4585
4854
  ]
4586
4855
  }
@@ -4708,6 +4977,7 @@
4708
4977
  {
4709
4978
  "type": "function",
4710
4979
  "name": "callback",
4980
+ "optional": true,
4711
4981
  "parameters": [
4712
4982
  {
4713
4983
  "name": "result",
@@ -4789,6 +5059,7 @@
4789
5059
  {
4790
5060
  "type": "function",
4791
5061
  "name": "callback",
5062
+ "optional": true,
4792
5063
  "parameters": [
4793
5064
  {
4794
5065
  "name": "result",
@@ -4873,6 +5144,7 @@
4873
5144
  {
4874
5145
  "type": "function",
4875
5146
  "name": "callback",
5147
+ "optional": true,
4876
5148
  "parameters": [
4877
5149
  {
4878
5150
  "name": "result",
@@ -5089,14 +5361,14 @@
5089
5361
  "optional": true,
5090
5362
  "format": "url",
5091
5363
  "preprocess": "localize",
5092
- "deprecated": "Unsupported on Thunderbird at this time."
5364
+ "deprecated": "Unsupported on Thunderbird."
5093
5365
  },
5094
5366
  "image_url": {
5095
5367
  "type": "string",
5096
5368
  "optional": true,
5097
5369
  "format": "url",
5098
5370
  "preprocess": "localize",
5099
- "deprecated": "Unsupported on Thunderbird at this time."
5371
+ "deprecated": "Unsupported on Thunderbird."
5100
5372
  },
5101
5373
  "search_url_get_params": {
5102
5374
  "type": "string",
@@ -5126,13 +5398,13 @@
5126
5398
  "type": "string",
5127
5399
  "optional": true,
5128
5400
  "preprocess": "localize",
5129
- "deprecated": "Unsupported on Thunderbird at this time."
5401
+ "deprecated": "Unsupported on Thunderbird."
5130
5402
  },
5131
5403
  "image_url_post_params": {
5132
5404
  "type": "string",
5133
5405
  "optional": true,
5134
5406
  "preprocess": "localize",
5135
- "deprecated": "Unsupported on Thunderbird at this time."
5407
+ "deprecated": "Unsupported on Thunderbird."
5136
5408
  },
5137
5409
  "search_form": {
5138
5410
  "type": "string",
@@ -5149,7 +5421,7 @@
5149
5421
  "preprocess": "localize"
5150
5422
  },
5151
5423
  "optional": true,
5152
- "deprecated": "Unsupported on Thunderbird at this time."
5424
+ "deprecated": "Unsupported on Thunderbird."
5153
5425
  },
5154
5426
  "prepopulated_id": {
5155
5427
  "type": "integer",
@@ -5621,7 +5893,7 @@
5621
5893
  {
5622
5894
  "name": "getAccount",
5623
5895
  "type": "function",
5624
- "description": "Retrieve information about a single cloud file account.",
5896
+ "description": "Retrieve information about a single cloud file account, or <value>undefined</value> if it does not exists",
5625
5897
  "allowedContexts": [
5626
5898
  "content"
5627
5899
  ],
@@ -5638,7 +5910,9 @@
5638
5910
  "optional": true,
5639
5911
  "parameters": [
5640
5912
  {
5641
- "$ref": "CloudFileAccount"
5913
+ "optional": true,
5914
+ "$ref": "CloudFileAccount",
5915
+ "description": "This may return undefined"
5642
5916
  }
5643
5917
  ]
5644
5918
  }
@@ -5723,7 +5997,9 @@
5723
5997
  "optional": true,
5724
5998
  "parameters": [
5725
5999
  {
5726
- "$ref": "CloudFileAccount"
6000
+ "optional": true,
6001
+ "$ref": "CloudFileAccount",
6002
+ "description": "This may return undefined"
5727
6003
  }
5728
6004
  ]
5729
6005
  }
@@ -5814,7 +6090,14 @@
5814
6090
  "type": "object",
5815
6091
  "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.",
5816
6092
  "properties": {
6093
+ "additionalFccFolderId": {
6094
+ "min_manifest_version": 3,
6095
+ "$ref": "folders.MailFolderId",
6096
+ "description": "An additional fcc folder which can be selected while composing the message. Cleared when set to <value>null</value>.",
6097
+ "optional": "omit-key-if-missing"
6098
+ },
5817
6099
  "additionalFccFolder": {
6100
+ "max_manifest_version": 2,
5818
6101
  "choices": [
5819
6102
  {
5820
6103
  "$ref": "folders.MailFolderId"
@@ -5929,11 +6212,13 @@
5929
6212
  "optional": true
5930
6213
  },
5931
6214
  "overrideDefaultFcc": {
6215
+ "max_manifest_version": 2,
5932
6216
  "type": "boolean",
5933
6217
  "optional": true,
5934
6218
  "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."
5935
6219
  },
5936
6220
  "overrideDefaultFccFolder": {
6221
+ "max_manifest_version": 2,
5937
6222
  "choices": [
5938
6223
  {
5939
6224
  "$ref": "folders.MailFolderId"
@@ -5951,6 +6236,12 @@
5951
6236
  "optional": true,
5952
6237
  "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."
5953
6238
  },
6239
+ "overrideDefaultFccFolderId": {
6240
+ "min_manifest_version": 3,
6241
+ "$ref": "folders.MailFolderId",
6242
+ "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>.",
6243
+ "optional": "omit-key-if-missing"
6244
+ },
5954
6245
  "plainTextBody": {
5955
6246
  "type": "string",
5956
6247
  "description": "The plain text content of the message.",
@@ -6980,6 +7271,7 @@
6980
7271
  {
6981
7272
  "type": "function",
6982
7273
  "name": "callback",
7274
+ "optional": true,
6983
7275
  "parameters": [
6984
7276
  {
6985
7277
  "name": "result",
@@ -7036,7 +7328,7 @@
7036
7328
  {
7037
7329
  "name": "getLabel",
7038
7330
  "type": "function",
7039
- "description": "Gets the label of the composeAction button.",
7331
+ "description": "Gets the label of the composeAction button. Returns <value>null</value>, if no label has been set and the title is used.",
7040
7332
  "async": "callback",
7041
7333
  "parameters": [
7042
7334
  {
@@ -7061,11 +7353,18 @@
7061
7353
  {
7062
7354
  "type": "function",
7063
7355
  "name": "callback",
7356
+ "optional": true,
7064
7357
  "parameters": [
7065
7358
  {
7066
7359
  "name": "result",
7067
- "type": "string",
7068
- "optional": true
7360
+ "choices": [
7361
+ {
7362
+ "type": "string"
7363
+ },
7364
+ {
7365
+ "type": "null"
7366
+ }
7367
+ ]
7069
7368
  }
7070
7369
  ]
7071
7370
  }
@@ -7193,6 +7492,7 @@
7193
7492
  {
7194
7493
  "type": "function",
7195
7494
  "name": "callback",
7495
+ "optional": true,
7196
7496
  "parameters": [
7197
7497
  {
7198
7498
  "name": "result",
@@ -7274,6 +7574,7 @@
7274
7574
  {
7275
7575
  "type": "function",
7276
7576
  "name": "callback",
7577
+ "optional": true,
7277
7578
  "parameters": [
7278
7579
  {
7279
7580
  "name": "result",
@@ -7358,6 +7659,7 @@
7358
7659
  {
7359
7660
  "type": "function",
7360
7661
  "name": "callback",
7662
+ "optional": true,
7361
7663
  "parameters": [
7362
7664
  {
7363
7665
  "name": "result",
@@ -7522,16 +7824,17 @@
7522
7824
  "permissions": [
7523
7825
  "compose"
7524
7826
  ],
7827
+ "max_manifest_version": 2,
7525
7828
  "types": [
7526
7829
  {
7527
7830
  "id": "RegisteredComposeScriptOptions",
7528
7831
  "type": "object",
7529
- "description": "Details of a compose script registered programmatically",
7832
+ "description": "Details of a compose script registered programmatically.",
7530
7833
  "properties": {
7531
7834
  "css": {
7532
7835
  "type": "array",
7533
7836
  "optional": true,
7534
- "description": "The list of CSS files to inject",
7837
+ "description": "The list of CSS files to inject.",
7535
7838
  "items": {
7536
7839
  "$ref": "extensionTypes.ExtensionFileOrCode"
7537
7840
  }
@@ -7539,7 +7842,7 @@
7539
7842
  "js": {
7540
7843
  "type": "array",
7541
7844
  "optional": true,
7542
- "description": "The list of JavaScript files to inject",
7845
+ "description": "The list of JavaScript files to inject.",
7543
7846
  "items": {
7544
7847
  "$ref": "extensionTypes.ExtensionFileOrCode"
7545
7848
  }
@@ -7549,12 +7852,12 @@
7549
7852
  {
7550
7853
  "id": "RegisteredComposeScript",
7551
7854
  "type": "object",
7552
- "description": "An object that represents a compose script registered programmatically",
7855
+ "description": "An object that represents a compose script registered programmatically.",
7553
7856
  "functions": [
7554
7857
  {
7555
7858
  "name": "unregister",
7556
7859
  "type": "function",
7557
- "description": "Unregister a compose script registered programmatically",
7860
+ "description": "Unregister a compose script registered programmatically.",
7558
7861
  "async": true,
7559
7862
  "parameters": []
7560
7863
  }
@@ -7565,7 +7868,7 @@
7565
7868
  {
7566
7869
  "name": "register",
7567
7870
  "type": "function",
7568
- "description": "Register a compose script programmatically",
7871
+ "description": "Register a compose script programmatically. **Note:** Registered scripts will only be applied to newly opened message composer tabs. To apply the script to already open message composer tab, manually inject your script by calling :ref:`tabs.executeScript` for each of the open <value>messageCompose</value> tabs.",
7569
7872
  "async": true,
7570
7873
  "parameters": [
7571
7874
  {
@@ -7581,6 +7884,7 @@
7581
7884
  "permissions": [
7582
7885
  "messagesModify"
7583
7886
  ],
7887
+ "max_manifest_version": 2,
7584
7888
  "types": [
7585
7889
  {
7586
7890
  "id": "RegisteredMessageDisplayScriptOptions",
@@ -7673,10 +7977,11 @@
7673
7977
  {
7674
7978
  "id": "MailFolder",
7675
7979
  "type": "object",
7676
- "description": "An object describing a folder. The ``subFolders`` property is only included if requested.",
7980
+ "description": "An object describing a folder.",
7677
7981
  "properties": {
7678
7982
  "accountId": {
7679
7983
  "$ref": "accounts.MailAccountId",
7984
+ "optional": true,
7680
7985
  "description": "The id of the account this folder belongs to."
7681
7986
  },
7682
7987
  "id": {
@@ -7694,6 +7999,16 @@
7694
7999
  "optional": true,
7695
8000
  "description": "Whether this folder is a root folder."
7696
8001
  },
8002
+ "isTag": {
8003
+ "type": "boolean",
8004
+ "optional": true,
8005
+ "description": "Whether this folder is a virtual tag folder."
8006
+ },
8007
+ "isUnified": {
8008
+ "type": "boolean",
8009
+ "optional": true,
8010
+ "description": "Whether this folder is a unified mailbox folder."
8011
+ },
7697
8012
  "isVirtual": {
7698
8013
  "type": "boolean",
7699
8014
  "optional": true,
@@ -7717,11 +8032,19 @@
7717
8032
  "description": "The special use of this folder. A folder can have multiple special uses."
7718
8033
  },
7719
8034
  "subFolders": {
7720
- "type": "array",
7721
- "description": "Subfolders are only included if requested. They will be returned in the same order as used in Thunderbird's folder pane.",
7722
- "items": {
7723
- "$ref": "folders.MailFolder"
7724
- },
8035
+ "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.",
8036
+ "choices": [
8037
+ {
8038
+ "type": "array",
8039
+ "items": {
8040
+ "$ref": "folders.MailFolder"
8041
+ }
8042
+ },
8043
+ {
8044
+ "max_manifest_version": 2,
8045
+ "type": "null"
8046
+ }
8047
+ ],
7725
8048
  "optional": true
7726
8049
  },
7727
8050
  "type": {
@@ -7993,15 +8316,25 @@
7993
8316
  "optional": true,
7994
8317
  "description": "Whether the folder is a favorite folder, or not."
7995
8318
  },
7996
- "isVirtual": {
8319
+ "isRoot": {
7997
8320
  "type": "boolean",
7998
8321
  "optional": true,
7999
- "description": "Whether this folder is a virtual search folder, or not."
8322
+ "description": "Whether the folder is a root folder, or not."
8000
8323
  },
8001
- "isRoot": {
8324
+ "isTag": {
8002
8325
  "type": "boolean",
8003
8326
  "optional": true,
8004
- "description": "Whether the folder is a root folder, or not."
8327
+ "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>"
8328
+ },
8329
+ "isUnified": {
8330
+ "type": "boolean",
8331
+ "optional": true,
8332
+ "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>"
8333
+ },
8334
+ "isVirtual": {
8335
+ "type": "boolean",
8336
+ "optional": true,
8337
+ "description": "Whether the folder is a virtual search folder, or not."
8005
8338
  },
8006
8339
  "limit": {
8007
8340
  "type": "integer",
@@ -8493,6 +8826,66 @@
8493
8826
  }
8494
8827
  ]
8495
8828
  },
8829
+ {
8830
+ "name": "getUnifiedFolder",
8831
+ "type": "function",
8832
+ "description": "Get one of the special unified mailbox folders, which are virtual search folders and return the content from all mail accounts.",
8833
+ "async": "callback",
8834
+ "parameters": [
8835
+ {
8836
+ "type": "string",
8837
+ "description": "The requested unified mailbox folder type.",
8838
+ "enum": [
8839
+ "inbox",
8840
+ "drafts",
8841
+ "sent",
8842
+ "trash",
8843
+ "templates",
8844
+ "archives",
8845
+ "junk"
8846
+ ]
8847
+ },
8848
+ {
8849
+ "name": "includeSubFolders",
8850
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object should include all its nested subfolders . Defaults to <value>false</value>.",
8851
+ "optional": true,
8852
+ "default": false,
8853
+ "type": "boolean"
8854
+ },
8855
+ {
8856
+ "type": "function",
8857
+ "name": "callback",
8858
+ "optional": true,
8859
+ "parameters": [
8860
+ {
8861
+ "$ref": "folders.MailFolder"
8862
+ }
8863
+ ]
8864
+ }
8865
+ ]
8866
+ },
8867
+ {
8868
+ "name": "getTagFolder",
8869
+ "type": "function",
8870
+ "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.",
8871
+ "async": "callback",
8872
+ "parameters": [
8873
+ {
8874
+ "type": "string",
8875
+ "description": "The tag key of the requested folder. See :ref:`messages.tags.list()` for the available tags. Throws when specifying an invalid tag key."
8876
+ },
8877
+ {
8878
+ "type": "function",
8879
+ "name": "callback",
8880
+ "optional": true,
8881
+ "parameters": [
8882
+ {
8883
+ "$ref": "folders.MailFolder"
8884
+ }
8885
+ ]
8886
+ }
8887
+ ]
8888
+ },
8496
8889
  {
8497
8890
  "name": "markAsRead",
8498
8891
  "permissions": [
@@ -8742,8 +9135,14 @@
8742
9135
  "optional": true,
8743
9136
  "parameters": [
8744
9137
  {
8745
- "$ref": "identities.MailIdentity",
8746
- "optional": true
9138
+ "choices": [
9139
+ {
9140
+ "$ref": "identities.MailIdentity"
9141
+ },
9142
+ {
9143
+ "type": "null"
9144
+ }
9145
+ ]
8747
9146
  }
8748
9147
  ]
8749
9148
  }
@@ -8838,7 +9237,14 @@
8838
9237
  "optional": true,
8839
9238
  "parameters": [
8840
9239
  {
8841
- "$ref": "identities.MailIdentity"
9240
+ "choices": [
9241
+ {
9242
+ "$ref": "identities.MailIdentity"
9243
+ },
9244
+ {
9245
+ "type": "null"
9246
+ }
9247
+ ]
8842
9248
  }
8843
9249
  ]
8844
9250
  }
@@ -8910,6 +9316,19 @@
8910
9316
  {
8911
9317
  "namespace": "mailTabs",
8912
9318
  "types": [
9319
+ {
9320
+ "id": "FolderMode",
9321
+ "description": "A supported folder mode in the folder pane.",
9322
+ "type": "string",
9323
+ "enum": [
9324
+ "all",
9325
+ "unified",
9326
+ "tags",
9327
+ "unread",
9328
+ "favorite",
9329
+ "recent"
9330
+ ]
9331
+ },
8913
9332
  {
8914
9333
  "id": "MailTab",
8915
9334
  "type": "object",
@@ -8925,7 +9344,7 @@
8925
9344
  },
8926
9345
  "sortType": {
8927
9346
  "type": "string",
8928
- "description": "**Note:** ``sortType`` and ``sortOrder`` depend on each other, so both should be present, or neither.",
9347
+ "description": "The primary sort column of the message list.",
8929
9348
  "optional": true,
8930
9349
  "enum": [
8931
9350
  "none",
@@ -8952,7 +9371,7 @@
8952
9371
  },
8953
9372
  "sortOrder": {
8954
9373
  "type": "string",
8955
- "description": "**Note:** ``sortType`` and ``sortOrder`` depend on each other, so both should be present, or neither.",
9374
+ "description": "The sort order of the message list.",
8956
9375
  "optional": true,
8957
9376
  "enum": [
8958
9377
  "none",
@@ -8962,6 +9381,7 @@
8962
9381
  },
8963
9382
  "viewType": {
8964
9383
  "type": "string",
9384
+ "description": "Group mode of the message list.",
8965
9385
  "optional": true,
8966
9386
  "enum": [
8967
9387
  "ungrouped",
@@ -8971,24 +9391,41 @@
8971
9391
  },
8972
9392
  "layout": {
8973
9393
  "type": "string",
9394
+ "description": "The arrangement of the folder pane, message list pane, and message display pane.",
8974
9395
  "enum": [
8975
9396
  "standard",
8976
9397
  "wide",
8977
9398
  "vertical"
8978
9399
  ]
8979
9400
  },
9401
+ "folderMode": {
9402
+ "description": "The folder mode of the currently displayed folder.",
9403
+ "$ref": "mailTabs.FolderMode",
9404
+ "optional": true
9405
+ },
9406
+ "folderModesEnabled": {
9407
+ "type": "array",
9408
+ "description": "The enabled folder modes in the folder pane, and their sort order.",
9409
+ "minItems": 1,
9410
+ "optional": true,
9411
+ "items": {
9412
+ "$ref": "mailTabs.FolderMode"
9413
+ }
9414
+ },
8980
9415
  "folderPaneVisible": {
8981
9416
  "type": "boolean",
9417
+ "description": "Whether the folder pane is visible or not.",
8982
9418
  "optional": true
8983
9419
  },
8984
9420
  "messagePaneVisible": {
8985
9421
  "type": "boolean",
9422
+ "description": "Whether the message pane is visible or not.",
8986
9423
  "optional": true
8987
9424
  },
8988
9425
  "displayedFolder": {
8989
9426
  "$ref": "folders.MailFolder",
8990
- "optional": true,
8991
- "description": "The <permission>accountsRead</permission> permission is required for this property to be included."
9427
+ "description": "The folder displayed in the mail tab. The <permission>accountsRead</permission> permission is required for this property to be included.",
9428
+ "optional": true
8992
9429
  }
8993
9430
  }
8994
9431
  },
@@ -9035,6 +9472,7 @@
9035
9472
  },
9036
9473
  "viewType": {
9037
9474
  "type": "string",
9475
+ "description": "Sets the group mode of displayed messages.",
9038
9476
  "optional": true,
9039
9477
  "enum": [
9040
9478
  "ungrouped",
@@ -9057,22 +9495,42 @@
9057
9495
  "description": "Shows or hides the folder pane.",
9058
9496
  "optional": true
9059
9497
  },
9498
+ "folderMode": {
9499
+ "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.",
9500
+ "$ref": "mailTabs.FolderMode",
9501
+ "optional": true
9502
+ },
9503
+ "folderModesEnabled": {
9504
+ "type": "array",
9505
+ "description": "Set the enabled folder modes in the folder pane, and their sort order.",
9506
+ "minItems": 1,
9507
+ "optional": true,
9508
+ "items": {
9509
+ "$ref": "mailTabs.FolderMode"
9510
+ }
9511
+ },
9060
9512
  "messagePaneVisible": {
9061
9513
  "type": "boolean",
9062
9514
  "description": "Shows or hides the message display pane.",
9063
9515
  "optional": true
9064
9516
  },
9517
+ "displayedFolderId": {
9518
+ "$ref": "folders.MailFolderId",
9519
+ "min_manifest_version": 3,
9520
+ "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.",
9521
+ "optional": true
9522
+ },
9065
9523
  "displayedFolder": {
9066
9524
  "choices": [
9067
9525
  {
9068
9526
  "$ref": "folders.MailFolderId"
9069
9527
  },
9070
9528
  {
9071
- "max_manifest_version": 2,
9072
9529
  "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.",
9073
9530
  "$ref": "folders.MailFolder"
9074
9531
  }
9075
9532
  ],
9533
+ "max_manifest_version": 2,
9076
9534
  "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.",
9077
9535
  "optional": true
9078
9536
  }
@@ -9186,7 +9644,7 @@
9186
9644
  {
9187
9645
  "name": "getCurrent",
9188
9646
  "type": "function",
9189
- "description": "Get the properties of the active mail tab, if the active tab is a mail tab. Returns undefined otherwise.",
9647
+ "description": "Get the properties of the active mail tab, if the active tab is a mail tab. Returns <value>undefined</value> otherwise.",
9190
9648
  "async": "callback",
9191
9649
  "parameters": [
9192
9650
  {
@@ -9196,7 +9654,8 @@
9196
9654
  "parameters": [
9197
9655
  {
9198
9656
  "$ref": "MailTab",
9199
- "optional": true
9657
+ "optional": true,
9658
+ "description": "This may return undefined"
9200
9659
  }
9201
9660
  ]
9202
9661
  }
@@ -9222,7 +9681,6 @@
9222
9681
  {
9223
9682
  "name": "mailTab",
9224
9683
  "$ref": "MailTab",
9225
- "optional": true,
9226
9684
  "description": "Details about the created mail tab. Will contain the ID of the new tab."
9227
9685
  }
9228
9686
  ]
@@ -9254,7 +9712,6 @@
9254
9712
  {
9255
9713
  "name": "mailTab",
9256
9714
  "$ref": "MailTab",
9257
- "optional": true,
9258
9715
  "description": "Details about the updated mail tab."
9259
9716
  }
9260
9717
  ]
@@ -10351,12 +10808,13 @@
10351
10808
  {
10352
10809
  "name": "getDisplayedMessage",
10353
10810
  "type": "function",
10354
- "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.",
10811
+ "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.",
10355
10812
  "async": "callback",
10356
10813
  "parameters": [
10357
10814
  {
10358
10815
  "name": "tabId",
10359
10816
  "type": "integer",
10817
+ "optional": true,
10360
10818
  "minimum": 1
10361
10819
  },
10362
10820
  {
@@ -10381,12 +10839,13 @@
10381
10839
  {
10382
10840
  "name": "getDisplayedMessages",
10383
10841
  "type": "function",
10384
- "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.",
10842
+ "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.",
10385
10843
  "async": "callback",
10386
10844
  "parameters": [
10387
10845
  {
10388
10846
  "name": "tabId",
10389
10847
  "type": "integer",
10848
+ "optional": true,
10390
10849
  "minimum": 1
10391
10850
  },
10392
10851
  {
@@ -10457,6 +10916,7 @@
10457
10916
  {
10458
10917
  "type": "function",
10459
10918
  "name": "callback",
10919
+ "optional": true,
10460
10920
  "parameters": [
10461
10921
  {
10462
10922
  "name": "tab",
@@ -10682,6 +11142,7 @@
10682
11142
  {
10683
11143
  "type": "function",
10684
11144
  "name": "callback",
11145
+ "optional": true,
10685
11146
  "parameters": [
10686
11147
  {
10687
11148
  "name": "result",
@@ -10738,7 +11199,7 @@
10738
11199
  {
10739
11200
  "name": "getLabel",
10740
11201
  "type": "function",
10741
- "description": "Gets the label of the messageDisplayAction button.",
11202
+ "description": "Gets the label of the messageDisplayAction button. Returns <value>null</value>, if no label has been set and the title is used.",
10742
11203
  "async": "callback",
10743
11204
  "parameters": [
10744
11205
  {
@@ -10763,11 +11224,18 @@
10763
11224
  {
10764
11225
  "type": "function",
10765
11226
  "name": "callback",
11227
+ "optional": true,
10766
11228
  "parameters": [
10767
11229
  {
10768
11230
  "name": "result",
10769
- "type": "string",
10770
- "optional": true
11231
+ "choices": [
11232
+ {
11233
+ "type": "string"
11234
+ },
11235
+ {
11236
+ "type": "null"
11237
+ }
11238
+ ]
10771
11239
  }
10772
11240
  ]
10773
11241
  }
@@ -10895,6 +11363,7 @@
10895
11363
  {
10896
11364
  "type": "function",
10897
11365
  "name": "callback",
11366
+ "optional": true,
10898
11367
  "parameters": [
10899
11368
  {
10900
11369
  "name": "result",
@@ -10976,6 +11445,7 @@
10976
11445
  {
10977
11446
  "type": "function",
10978
11447
  "name": "callback",
11448
+ "optional": true,
10979
11449
  "parameters": [
10980
11450
  {
10981
11451
  "name": "result",
@@ -11060,6 +11530,7 @@
11060
11530
  {
11061
11531
  "type": "function",
11062
11532
  "name": "callback",
11533
+ "optional": true,
11063
11534
  "parameters": [
11064
11535
  {
11065
11536
  "name": "result",
@@ -11336,8 +11807,15 @@
11336
11807
  "description": "See :doc:`examples/messageLists` for more information.",
11337
11808
  "properties": {
11338
11809
  "id": {
11339
- "type": "string",
11340
- "optional": true
11810
+ "choices": [
11811
+ {
11812
+ "type": "string"
11813
+ },
11814
+ {
11815
+ "type": "null"
11816
+ }
11817
+ ],
11818
+ "description": "Id of the message list, to be used with :ref:`messages.continueList` or :ref:`messages.abortList`."
11341
11819
  },
11342
11820
  "messages": {
11343
11821
  "type": "array",
@@ -11350,11 +11828,11 @@
11350
11828
  {
11351
11829
  "id": "MessagePart",
11352
11830
  "type": "object",
11353
- "description": "Represents an email message \"part\", which could be the whole message",
11831
+ "description": "Represents an email message \"part\", which could be the whole message.",
11354
11832
  "properties": {
11355
11833
  "body": {
11356
11834
  "type": "string",
11357
- "description": "The content of the part",
11835
+ "description": "The content of the part.",
11358
11836
  "optional": true
11359
11837
  },
11360
11838
  "contentType": {
@@ -11385,20 +11863,20 @@
11385
11863
  },
11386
11864
  "name": {
11387
11865
  "type": "string",
11388
- "description": "Name of the part, if it is a file",
11866
+ "description": "Name of the part, if it is a file.",
11389
11867
  "optional": true
11390
11868
  },
11391
11869
  "partName": {
11392
11870
  "type": "string",
11393
11871
  "optional": true,
11394
- "description": "The identifier of this part, used in :ref:`messages.getAttachmentFile`"
11872
+ "description": "The identifier of this part, used in :ref:`messages.getAttachmentFile`."
11395
11873
  },
11396
11874
  "parts": {
11397
11875
  "type": "array",
11398
11876
  "items": {
11399
11877
  "$ref": "MessagePart"
11400
11878
  },
11401
- "description": "Any sub-parts of this part",
11879
+ "description": "Any sub-parts of this part.",
11402
11880
  "optional": true
11403
11881
  },
11404
11882
  "size": {
@@ -11421,11 +11899,11 @@
11421
11899
  "junk": {
11422
11900
  "type": "boolean",
11423
11901
  "optional": true,
11424
- "description": "Whether the message is marked as junk. Only supported in :ref:`messages.update`"
11902
+ "description": "Whether the message is marked as junk. Only supported in :ref:`messages.update`."
11425
11903
  },
11426
11904
  "new": {
11427
11905
  "type": "boolean",
11428
- "description": "Whether the message is marked as new. Only supported in :ref:`messages.import`",
11906
+ "description": "Whether the message is marked as new. Only supported in :ref:`messages.import`.",
11429
11907
  "optional": true
11430
11908
  },
11431
11909
  "read": {
@@ -11855,7 +12333,7 @@
11855
12333
  {
11856
12334
  "name": "openAttachment",
11857
12335
  "type": "function",
11858
- "description": "Opens the specified attachment",
12336
+ "description": "Opens the specified attachment.",
11859
12337
  "async": true,
11860
12338
  "parameters": [
11861
12339
  {
@@ -11877,7 +12355,7 @@
11877
12355
  {
11878
12356
  "name": "query",
11879
12357
  "type": "function",
11880
- "description": "Gets all messages that have the specified properties, or all messages if no properties are specified.",
12358
+ "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.",
11881
12359
  "async": "callback",
11882
12360
  "parameters": [
11883
12361
  {
@@ -12302,14 +12780,14 @@
12302
12780
  "properties": {
12303
12781
  "tag": {
12304
12782
  "type": "string",
12305
- "optional": "true",
12783
+ "optional": true,
12306
12784
  "description": "Human-readable tag name."
12307
12785
  },
12308
12786
  "color": {
12309
12787
  "type": "string",
12310
12788
  "pattern": "^#[0-9a-fA-F]{6}",
12311
12789
  "description": "Tag color in hex format (i.e.: #000080 for navy blue). Value will be stored as upper case.",
12312
- "optional": "true"
12790
+ "optional": true
12313
12791
  }
12314
12792
  }
12315
12793
  }
@@ -12460,14 +12938,14 @@
12460
12938
  "properties": {
12461
12939
  "tag": {
12462
12940
  "type": "string",
12463
- "optional": "true",
12941
+ "optional": true,
12464
12942
  "description": "Human-readable tag name."
12465
12943
  },
12466
12944
  "color": {
12467
12945
  "type": "string",
12468
12946
  "pattern": "^#[0-9a-fA-F]{6}",
12469
12947
  "description": "Tag color in hex format (i.e.: #000080 for navy blue). Value will be stored as upper case.",
12470
- "optional": "true"
12948
+ "optional": true
12471
12949
  }
12472
12950
  }
12473
12951
  }
@@ -12522,7 +13000,7 @@
12522
13000
  {
12523
13001
  "name": "getTabValue",
12524
13002
  "type": "function",
12525
- "description": "Retrieve a previously stored value for a given tab, given its key.",
13003
+ "description": "Retrieve a previously stored value for a given tab, given its key. Returns <value>undefined</value> if the key does not exist.",
12526
13004
  "async": "callback",
12527
13005
  "parameters": [
12528
13006
  {
@@ -12542,7 +13020,8 @@
12542
13020
  "parameters": [
12543
13021
  {
12544
13022
  "type": "string",
12545
- "optional": true
13023
+ "optional": true,
13024
+ "description": "This may return undefined"
12546
13025
  }
12547
13026
  ]
12548
13027
  }
@@ -12574,7 +13053,7 @@
12574
13053
  "namespace": "spaces",
12575
13054
  "types": [
12576
13055
  {
12577
- "id": "SpaceButtonProperties",
13056
+ "id": "SpaceButtonProperties_MV2",
12578
13057
  "type": "object",
12579
13058
  "properties": {
12580
13059
  "badgeBackgroundColor": {
@@ -12604,7 +13083,7 @@
12604
13083
  }
12605
13084
  ],
12606
13085
  "optional": true,
12607
- "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."
13086
+ "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."
12608
13087
  },
12609
13088
  "themeIcons": {
12610
13089
  "type": "array",
@@ -12612,12 +13091,53 @@
12612
13091
  "items": {
12613
13092
  "$ref": "manifest.ThemeIcons"
12614
13093
  },
12615
- "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."
13094
+ "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."
12616
13095
  },
12617
13096
  "title": {
12618
13097
  "type": "string",
12619
13098
  "optional": true,
12620
- "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."
13099
+ "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."
13100
+ }
13101
+ }
13102
+ },
13103
+ {
13104
+ "id": "SpaceButtonProperties_MV3",
13105
+ "type": "object",
13106
+ "properties": {
13107
+ "badgeBackgroundColor": {
13108
+ "choices": [
13109
+ {
13110
+ "type": "string"
13111
+ },
13112
+ {
13113
+ "$ref": "ColorArray"
13114
+ }
13115
+ ],
13116
+ "optional": "omit-key-if-missing",
13117
+ "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>."
13118
+ },
13119
+ "badgeText": {
13120
+ "type": "string",
13121
+ "optional": "omit-key-if-missing",
13122
+ "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>."
13123
+ },
13124
+ "defaultIcons": {
13125
+ "$ref": "manifest.IconPath",
13126
+ "optional": "omit-key-if-missing",
13127
+ "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>."
13128
+ },
13129
+ "themeIcons": {
13130
+ "type": "array",
13131
+ "optional": "omit-key-if-missing",
13132
+ "items": {
13133
+ "$ref": "manifest.ThemeIcons"
13134
+ },
13135
+ "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>."
13136
+ },
13137
+ "title": {
13138
+ "type": "string",
13139
+ "optional": "omit-key-if-missing",
13140
+ "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>."
12621
13141
  }
12622
13142
  }
12623
13143
  },
@@ -12684,7 +13204,16 @@
12684
13204
  {
12685
13205
  "name": "buttonProperties",
12686
13206
  "description": "Properties of the button for the new space.",
12687
- "$ref": "spaces.SpaceButtonProperties",
13207
+ "choices": [
13208
+ {
13209
+ "$ref": "spaces.SpaceButtonProperties_MV3",
13210
+ "min_manifest_version": 3
13211
+ },
13212
+ {
13213
+ "$ref": "spaces.SpaceButtonProperties_MV2",
13214
+ "max_manifest_version": 2
13215
+ }
13216
+ ],
12688
13217
  "optional": true,
12689
13218
  "default": {}
12690
13219
  },
@@ -12770,6 +13299,7 @@
12770
13299
  {
12771
13300
  "type": "function",
12772
13301
  "name": "callback",
13302
+ "optional": true,
12773
13303
  "parameters": [
12774
13304
  {
12775
13305
  "name": "result",
@@ -12817,7 +13347,16 @@
12817
13347
  {
12818
13348
  "name": "buttonProperties",
12819
13349
  "description": "Only specified button properties will be updated.",
12820
- "$ref": "spaces.SpaceButtonProperties",
13350
+ "choices": [
13351
+ {
13352
+ "$ref": "spaces.SpaceButtonProperties_MV3",
13353
+ "min_manifest_version": 3
13354
+ },
13355
+ {
13356
+ "$ref": "spaces.SpaceButtonProperties_MV2",
13357
+ "max_manifest_version": 2
13358
+ }
13359
+ ],
12821
13360
  "optional": true
12822
13361
  }
12823
13362
  ]
@@ -12849,7 +13388,6 @@
12849
13388
  {
12850
13389
  "name": "tab",
12851
13390
  "$ref": "tabs.Tab",
12852
- "optional": true,
12853
13391
  "description": "Details about the opened or activated space tab."
12854
13392
  }
12855
13393
  ]
@@ -12957,8 +13495,7 @@
12957
13495
  "name": "spaceId",
12958
13496
  "type": "integer",
12959
13497
  "description": "The id of the space belonging to the newly created button, as used by the tabs API.",
12960
- "minimum": 1,
12961
- "optional": true
13498
+ "minimum": 1
12962
13499
  }
12963
13500
  ]
12964
13501
  }
@@ -13024,7 +13561,6 @@
13024
13561
  {
13025
13562
  "name": "tab",
13026
13563
  "$ref": "tabs.Tab",
13027
- "optional": true,
13028
13564
  "description": "Details about the opened or activated tab."
13029
13565
  }
13030
13566
  ]
@@ -13055,8 +13591,7 @@
13055
13591
  {
13056
13592
  "type": "string",
13057
13593
  "enum": [
13058
- "tabs",
13059
- "tabHide"
13594
+ "tabs"
13060
13595
  ]
13061
13596
  }
13062
13597
  ]
@@ -13153,6 +13688,7 @@
13153
13688
  "mailTab": {
13154
13689
  "type": "boolean",
13155
13690
  "optional": true,
13691
+ "max_manifest_version": 2,
13156
13692
  "description": "Whether the tab is a 3-pane tab."
13157
13693
  },
13158
13694
  "spaceId": {
@@ -13269,6 +13805,7 @@
13269
13805
  {
13270
13806
  "type": "function",
13271
13807
  "name": "callback",
13808
+ "optional": true,
13272
13809
  "parameters": [
13273
13810
  {
13274
13811
  "name": "tab",
@@ -13281,17 +13818,19 @@
13281
13818
  {
13282
13819
  "name": "getCurrent",
13283
13820
  "type": "function",
13284
- "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).",
13821
+ "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).",
13285
13822
  "async": "callback",
13286
13823
  "parameters": [
13287
13824
  {
13288
13825
  "type": "function",
13289
13826
  "name": "callback",
13827
+ "optional": true,
13290
13828
  "parameters": [
13291
13829
  {
13292
13830
  "name": "tab",
13293
13831
  "$ref": "Tab",
13294
- "optional": true
13832
+ "optional": true,
13833
+ "description": "This may return undefined"
13295
13834
  }
13296
13835
  ]
13297
13836
  }
@@ -13428,7 +13967,6 @@
13428
13967
  {
13429
13968
  "name": "tab",
13430
13969
  "$ref": "Tab",
13431
- "optional": true,
13432
13970
  "description": "Details about the created tab. Will contain the ID of the new tab."
13433
13971
  }
13434
13972
  ]
@@ -13454,7 +13992,6 @@
13454
13992
  "parameters": [
13455
13993
  {
13456
13994
  "name": "tab",
13457
- "optional": true,
13458
13995
  "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.",
13459
13996
  "$ref": "Tab"
13460
13997
  }
@@ -13477,7 +14014,8 @@
13477
14014
  "mailTab": {
13478
14015
  "type": "boolean",
13479
14016
  "optional": true,
13480
- "description": "Whether the tab is a Thunderbird 3-pane tab."
14017
+ "max_manifest_version": 2,
14018
+ "description": "Whether the tab is a Thunderbird 3-pane tab. If specified, the ``queryInfo.type`` property will be ignored"
13481
14019
  },
13482
14020
  "spaceId": {
13483
14021
  "type": "integer",
@@ -13498,7 +14036,7 @@
13498
14036
  }
13499
14037
  ],
13500
14038
  "optional": true,
13501
- "description": "Match tabs against the given tab type or types. Ignored if ``queryInfo.mailTab`` is specified."
14039
+ "description": "Match tabs against the given tab type or types."
13502
14040
  },
13503
14041
  "active": {
13504
14042
  "type": "boolean",
@@ -13582,6 +14120,7 @@
13582
14120
  {
13583
14121
  "type": "function",
13584
14122
  "name": "callback",
14123
+ "optional": true,
13585
14124
  "parameters": [
13586
14125
  {
13587
14126
  "name": "result",
@@ -13632,7 +14171,6 @@
13632
14171
  {
13633
14172
  "name": "tab",
13634
14173
  "$ref": "Tab",
13635
- "optional": true,
13636
14174
  "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."
13637
14175
  }
13638
14176
  ]
@@ -13763,6 +14301,7 @@
13763
14301
  {
13764
14302
  "name": "executeScript",
13765
14303
  "type": "function",
14304
+ "max_manifest_version": 2,
13766
14305
  "description": "Injects JavaScript code into a page. For details, see the `programmatic injection <|link-content-scripts|>`__ section of the content scripts doc.",
13767
14306
  "async": "callback",
13768
14307
  "parameters": [
@@ -13800,6 +14339,7 @@
13800
14339
  {
13801
14340
  "name": "insertCSS",
13802
14341
  "type": "function",
14342
+ "max_manifest_version": 2,
13803
14343
  "description": "Injects CSS into a page. For details, see the `programmatic injection <|link-content-scripts|>`__ section of the content scripts doc.",
13804
14344
  "async": "callback",
13805
14345
  "parameters": [
@@ -13827,6 +14367,7 @@
13827
14367
  {
13828
14368
  "name": "removeCSS",
13829
14369
  "type": "function",
14370
+ "max_manifest_version": 2,
13830
14371
  "description": "Removes injected CSS from a page. For details, see the `programmatic injection <|link-content-scripts|>`__ section of the content scripts doc.",
13831
14372
  "async": "callback",
13832
14373
  "parameters": [
@@ -14299,6 +14840,7 @@
14299
14840
  {
14300
14841
  "type": "function",
14301
14842
  "name": "callback",
14843
+ "optional": true,
14302
14844
  "parameters": [
14303
14845
  {
14304
14846
  "name": "window",
@@ -14322,6 +14864,7 @@
14322
14864
  {
14323
14865
  "type": "function",
14324
14866
  "name": "callback",
14867
+ "optional": true,
14325
14868
  "parameters": [
14326
14869
  {
14327
14870
  "name": "window",
@@ -14345,6 +14888,7 @@
14345
14888
  {
14346
14889
  "type": "function",
14347
14890
  "name": "callback",
14891
+ "optional": true,
14348
14892
  "parameters": [
14349
14893
  {
14350
14894
  "name": "window",
@@ -14368,6 +14912,7 @@
14368
14912
  {
14369
14913
  "type": "function",
14370
14914
  "name": "callback",
14915
+ "optional": true,
14371
14916
  "parameters": [
14372
14917
  {
14373
14918
  "name": "windows",
@@ -14483,8 +15028,7 @@
14483
15028
  {
14484
15029
  "name": "window",
14485
15030
  "$ref": "Window",
14486
- "description": "Contains details about the created window.",
14487
- "optional": true
15031
+ "description": "Contains details about the created window."
14488
15032
  }
14489
15033
  ]
14490
15034
  }