webext-schema 5.0.6 → 5.0.8

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.
@@ -2281,11 +2281,11 @@
2281
2281
  "choices": [
2282
2282
  {
2283
2283
  "type": "string",
2284
- "description": "A string containing a valid `CSS color string <https://developer.mozilla.org/en-US/docs/Web/CSS/color_value#color_keywords>`__, including hexadecimal or functional representations. For example the color *crimson* can be specified as: <li>``crimson`` <li>``#dc143c`` <li>``rgb(220, 20, 60)`` (or ``rgba(220, 20, 60, 0.5)`` to set 50% opacity) <li>``hsl(348, 83%, 47%)`` (or ``hsla(348, 83%, 47%, 0.5)`` to set 50% opacity)"
2284
+ "description": "A string containing a valid `CSS color string <|link-css-color-string|>`__, including hexadecimal or functional representations. For example the color *crimson* can be specified as: <li><value>crimson</value> <li><value>#dc143c</value> <li><value>rgb(220, 20, 60)</value> (or <value>rgba(220, 20, 60, 0.5)</value> to set 50% opacity) <li><value>hsl(348, 83%, 47%)</value> (or <value>hsla(348, 83%, 47%, 0.5)</value> to set 50% opacity)"
2285
2285
  },
2286
2286
  {
2287
2287
  "type": "array",
2288
- "description": "An RGB array of 3 integers. For example ``[220, 20, 60]`` for the color *crimson*.",
2288
+ "description": "An RGB array of 3 integers. For example <value>[220, 20, 60]</value> for the color *crimson*.",
2289
2289
  "minItems": 3,
2290
2290
  "maxItems": 3,
2291
2291
  "items": {
@@ -2296,7 +2296,7 @@
2296
2296
  },
2297
2297
  {
2298
2298
  "type": "array",
2299
- "description": "An RGBA array of 3 integers and a fractional (a float between 0 and 1). For example ``[220, 20, 60, 0.5]`` for the color *crimson* with 50% opacity.",
2299
+ "description": "An RGBA array of 3 integers and a fractional (a float between 0 and 1). For example <value>[220, 20, 60, 0.5]<value> for the color *crimson* with 50% opacity.",
2300
2300
  "minItems": 4,
2301
2301
  "maxItems": 4,
2302
2302
  "items": {
@@ -2312,11 +2312,13 @@
2312
2312
  "properties": {
2313
2313
  "stylesheet": {
2314
2314
  "optional": true,
2315
+ "description": "URL to a stylesheet introducing additional CSS variables, extending the theme-able areas of Thunderbird. The `theme_experiment add-on in our example repository <https://github.com/thundernest/sample-extensions/tree/master/theme_experiment>`__ is using the stylesheet shown below, to add the <value>--chat-button-color</value> CSS color variable: <literalinclude>includes/theme/theme_experiment_style.css<lang>CSS</lang></literalinclude>The following <em>manifest.json</em> file maps the </value>--chat-button-color</value> CSS color variable to the theme color key <value>exp_chat_button</value> and uses it to set a color for the chat button: <literalinclude>includes/theme/theme_experiment_manifest.json<lang>JSON</lang></literalinclude>",
2315
2316
  "$ref": "ExtensionURL"
2316
2317
  },
2317
2318
  "images": {
2318
2319
  "type": "object",
2319
2320
  "optional": true,
2321
+ "description": "A <em>dictionary object</em> with one or more <em>key-value</em> pairs to map new theme image keys to internal Thunderbird CSS image variables. The new image key is usable as an image reference in :ref:`theme.ThemeType`. Example: <literalinclude>includes/theme/theme_experiment_image.json<lang>JSON</lang></literalinclude>",
2320
2322
  "additionalProperties": {
2321
2323
  "type": "string"
2322
2324
  }
@@ -2324,6 +2326,7 @@
2324
2326
  "colors": {
2325
2327
  "type": "object",
2326
2328
  "optional": true,
2329
+ "description": "A <em>dictionary object</em> with one or more <em>key-value</em> pairs to map new theme color keys to internal Thunderbird CSS color variables. The example shown below maps the theme color key <value>popup_affordance</value> to the CSS color variable </value>--arrowpanel-dimmed</value>. The new color key is usable as a color reference in :ref:`theme.ThemeType`. <literalinclude>includes/theme/theme_experiment_color.json<lang>JSON</lang></literalinclude>",
2327
2330
  "additionalProperties": {
2328
2331
  "type": "string"
2329
2332
  }
@@ -2331,6 +2334,7 @@
2331
2334
  "properties": {
2332
2335
  "type": "object",
2333
2336
  "optional": true,
2337
+ "description": "A <em>dictionary object</em> with one or more <em>key-value</em> pairs to map new theme property keys to internal Thunderbird CSS property variables. The new property key is usable as a property reference in :ref:`theme.ThemeType`. Example: <literalinclude>includes/theme/theme_experiment_property.json<lang>JSON</lang></literalinclude>",
2334
2338
  "additionalProperties": {
2335
2339
  "type": "string"
2336
2340
  }
@@ -2343,7 +2347,7 @@
2343
2347
  "type": "object",
2344
2348
  "properties": {
2345
2349
  "images": {
2346
- "description": "Object with one or more key-value pairs to map images to theme image keys. The following built-in theme image keys are supported:",
2350
+ "description": "A <em>dictionary object</em> with one or more <em>key-value</em> pairs to map images to theme image keys. The following built-in theme image keys are supported:",
2347
2351
  "type": "object",
2348
2352
  "optional": true,
2349
2353
  "properties": {
@@ -2354,12 +2358,12 @@
2354
2358
  },
2355
2359
  "maxItems": 15,
2356
2360
  "optional": true,
2357
- "description": "Additional images added to the header area and displayed behind the 'theme_frame' image."
2361
+ "description": "Additional images added to the header area and displayed behind the ``theme_frame`` image."
2358
2362
  },
2359
2363
  "headerURL": {
2360
2364
  "$ref": "ImageDataOrExtensionURL",
2361
2365
  "optional": true,
2362
- "deprecated": "Unsupported images property, use 'theme.images.theme_frame', this alias is ignored in Thunderbird >= 70."
2366
+ "deprecated": "Unsupported images property, use ``theme.images.theme_frame``, this alias is ignored in Thunderbird >= 70."
2363
2367
  },
2364
2368
  "theme_frame": {
2365
2369
  "$ref": "ImageDataOrExtensionURL",
@@ -2372,7 +2376,7 @@
2372
2376
  }
2373
2377
  },
2374
2378
  "colors": {
2375
- "description": "Object with one or more key-value pairs to map color values to theme color keys. The following built-in theme color keys are supported:",
2379
+ "description": "A <em>dictionary object</em> with one or more <em>key-value</em> pairs to map color values to theme color keys. The following built-in theme color keys are supported:",
2376
2380
  "type": "object",
2377
2381
  "optional": true,
2378
2382
  "properties": {
@@ -2384,7 +2388,7 @@
2384
2388
  "accentcolor": {
2385
2389
  "$ref": "ThemeColor",
2386
2390
  "optional": true,
2387
- "deprecated": "Unsupported colors property, use 'theme.colors.frame', this alias is ignored in Thunderbird >= 70."
2391
+ "deprecated": "Unsupported colors property, use ``theme.colors.frame``, this alias is ignored in Thunderbird >= 70."
2388
2392
  },
2389
2393
  "frame": {
2390
2394
  "$ref": "ThemeColor",
@@ -2399,7 +2403,7 @@
2399
2403
  "textcolor": {
2400
2404
  "$ref": "ThemeColor",
2401
2405
  "optional": true,
2402
- "deprecated": "Unsupported color property, use 'theme.colors.tab_background_text', this alias is ignored in Thunderbird >= 70."
2406
+ "deprecated": "Unsupported color property, use ``theme.colors.tab_background_text``, this alias is ignored in Thunderbird >= 70."
2403
2407
  },
2404
2408
  "tab_background_text": {
2405
2409
  "$ref": "ThemeColor",
@@ -2419,7 +2423,7 @@
2419
2423
  "tab_text": {
2420
2424
  "$ref": "ThemeColor",
2421
2425
  "optional": true,
2422
- "description": "The text color for the selected tab. Defaults to the color specified by ``toolbar_text``."
2426
+ "description": "The text color for the selected tab. Defaults to the color specified by ``toolbar_text``."
2423
2427
  },
2424
2428
  "tab_line": {
2425
2429
  "$ref": "ThemeColor",
@@ -2593,7 +2597,7 @@
2593
2597
  }
2594
2598
  },
2595
2599
  "properties": {
2596
- "description": "Object with one or more key-value pairs to map property values to theme property keys. The following built-in theme property keys are supported:",
2600
+ "description": "A <em>dictionary object</em> with one or more <em>key-value</em> pairs to map property values to theme property keys. The following built-in theme property keys are supported:",
2597
2601
  "type": "object",
2598
2602
  "optional": true,
2599
2603
  "properties": {
@@ -2636,7 +2640,7 @@
2636
2640
  "optional": true
2637
2641
  },
2638
2642
  "color_scheme": {
2639
- "description": "If set, overrides the general 'toolbar theme'.",
2643
+ "description": "If set, overrides the general theme (context menus, toolbars, content area).",
2640
2644
  "optional": true,
2641
2645
  "type": "string",
2642
2646
  "enum": [
@@ -2705,7 +2709,8 @@
2705
2709
  "properties": {
2706
2710
  "theme_experiment": {
2707
2711
  "$ref": "ThemeExperiment",
2708
- "optional": true
2712
+ "optional": true,
2713
+ "description": "A theme experiment allows modifying the user interface of Thunderbird beyond what is currently possible using the built-in color, image and property keys of :ref:`theme.ThemeType`. These experiments are a precursor to proposing new theme features for inclusion in Thunderbird. Experimentation is done by mapping internal CSS color, image and property variables to new theme keys and using them in :ref:`theme.ThemeType` and by loading additional style sheets to add new CSS variables, extending the theme-able areas of Thunderbird. Can be used in static and dynamic themes."
2709
2714
  }
2710
2715
  }
2711
2716
  }
@@ -2713,7 +2718,7 @@
2713
2718
  },
2714
2719
  {
2715
2720
  "namespace": "theme",
2716
- "description": "The theme API allows customizing of visual elements of Thunderbird.",
2721
+ "description": "The theme API allows for customization of Thunderbird's visual elements.",
2717
2722
  "types": [
2718
2723
  {
2719
2724
  "id": "ThemeUpdateInfo",
@@ -2721,7 +2726,7 @@
2721
2726
  "description": "Info provided in the onUpdated listener.",
2722
2727
  "properties": {
2723
2728
  "theme": {
2724
- "type": "object",
2729
+ "$ref": "ThemeType",
2725
2730
  "description": "The new theme after update"
2726
2731
  },
2727
2732
  "windowId": {
@@ -2851,7 +2856,7 @@
2851
2856
  },
2852
2857
  "type": {
2853
2858
  "type": "string",
2854
- "description": "What sort of account this is, e.g. ``imap``, ``nntp``, or ``pop3``."
2859
+ "description": "What sort of account this is, e.g. <value>imap</value>, <value>nntp</value>, or <value>pop3</value>."
2855
2860
  },
2856
2861
  "folders": {
2857
2862
  "type": "array",
@@ -2880,7 +2885,7 @@
2880
2885
  "parameters": [
2881
2886
  {
2882
2887
  "name": "includeFolders",
2883
- "description": "Specifies whether the returned :ref:`accounts.MailAccount` objects should included their account's folders. Defaults to ``true``.",
2888
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` objects should included their account's folders. Defaults to <value>true</value>.",
2884
2889
  "optional": true,
2885
2890
  "default": true,
2886
2891
  "type": "boolean"
@@ -2903,7 +2908,7 @@
2903
2908
  {
2904
2909
  "name": "get",
2905
2910
  "type": "function",
2906
- "description": "Returns details of the requested account, or null if it doesn't exist.",
2911
+ "description": "Returns details of the requested account, or <value>null</value> if it doesn't exist.",
2907
2912
  "async": "callback",
2908
2913
  "parameters": [
2909
2914
  {
@@ -2912,7 +2917,7 @@
2912
2917
  },
2913
2918
  {
2914
2919
  "name": "includeFolders",
2915
- "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to ``true``.",
2920
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to <value>true</value>.",
2916
2921
  "optional": true,
2917
2922
  "default": true,
2918
2923
  "type": "boolean"
@@ -2933,12 +2938,12 @@
2933
2938
  {
2934
2939
  "name": "getDefault",
2935
2940
  "type": "function",
2936
- "description": "Returns the default account, or null if it is not defined.",
2941
+ "description": "Returns the default account, or <value>null</value> if it is not defined.",
2937
2942
  "async": "callback",
2938
2943
  "parameters": [
2939
2944
  {
2940
2945
  "name": "includeFolders",
2941
- "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to ``true``.",
2946
+ "description": "Specifies whether the returned :ref:`accounts.MailAccount` object should included the account's folders. Defaults to <value>true</value>.",
2942
2947
  "optional": true,
2943
2948
  "default": true,
2944
2949
  "type": "boolean"
@@ -2976,7 +2981,7 @@
2976
2981
  {
2977
2982
  "name": "getDefaultIdentity",
2978
2983
  "type": "function",
2979
- "description": "Returns the default identity for an account, or null if it is not defined.",
2984
+ "description": "Returns the default identity for an account, or <value>null</value> if it is not defined.",
2980
2985
  "async": "callback",
2981
2986
  "deprecated": "This will be removed. Use :ref:`identities.getDefault` instead.",
2982
2987
  "parameters": [
@@ -3083,7 +3088,7 @@
3083
3088
  "contact",
3084
3089
  "mailingList"
3085
3090
  ],
3086
- "description": "Indicates the type of a Node, which can be one of <code>addressBook</code>, <code>contact</code>, or <code>mailingList</code>."
3091
+ "description": "Indicates the type of a Node."
3087
3092
  },
3088
3093
  {
3089
3094
  "id": "AddressBookNode",
@@ -3097,11 +3102,11 @@
3097
3102
  "parentId": {
3098
3103
  "type": "string",
3099
3104
  "optional": true,
3100
- "description": "The <code>id</code> of the parent object."
3105
+ "description": "The ``id`` of the parent object."
3101
3106
  },
3102
3107
  "type": {
3103
3108
  "$ref": "NodeType",
3104
- "description": "Always set to <code>addressBook</code>."
3109
+ "description": "Always set to <value>addressBook</value>."
3105
3110
  },
3106
3111
  "readOnly": {
3107
3112
  "type": "boolean",
@@ -3314,7 +3319,7 @@
3314
3319
  {
3315
3320
  "name": "onSearchRequest",
3316
3321
  "type": "function",
3317
- "description": "Registering this listener will create and list a read-only address book in Thunderbird's address book window, similar to LDAP address books. When selecting this address book, users will first see no contacts, but they can search for them, which will fire this event. Contacts returned by the listener callback will be displayed as contact cards in the address book. Several listeners can be registered, to create multiple address books.\n\nThe event also fires for each registered listener (for each created read-only address book), when users type something into the mail composer's <code>To:</code> field, or into similar fields like the calendar meeting attendees field. Contacts returned by the listener callback will be added to the autocomplete results in the dropdown of that field.\n\nExample: <literalinclude>includes/addressBooks/onSearchRequest.js<lang>JavaScript</lang></literalinclude>",
3322
+ "description": "Registering this listener will create and list a read-only address book in Thunderbird's address book window, similar to LDAP address books. When selecting this address book, users will first see no contacts, but they can search for them, which will fire this event. Contacts returned by the listener callback will be displayed as contact cards in the address book. Several listeners can be registered, to create multiple address books.\n\nThe event also fires for each registered listener (for each created read-only address book), when users type something into the mail composer's <em>To:</em> field, or into similar fields like the calendar meeting attendees field. Contacts returned by the listener callback will be added to the autocomplete results in the dropdown of that field.\n\nExample: <literalinclude>includes/addressBooks/onSearchRequest.js<lang>JavaScript</lang></literalinclude>",
3318
3323
  "parameters": [
3319
3324
  {
3320
3325
  "name": "node",
@@ -3366,6 +3371,42 @@
3366
3371
  "addressBooks"
3367
3372
  ],
3368
3373
  "types": [
3374
+ {
3375
+ "id": "QueryInfo",
3376
+ "description": "Object defining a query for :ref:`contacts.quickSearch`.",
3377
+ "type": "object",
3378
+ "properties": {
3379
+ "searchString": {
3380
+ "type": "string",
3381
+ "optional": true,
3382
+ "description": "One or more space-separated terms to search for."
3383
+ },
3384
+ "includeLocal": {
3385
+ "type": "boolean",
3386
+ "optional": true,
3387
+ "default": true,
3388
+ "description": "Whether to include results from local address books. Defaults to true."
3389
+ },
3390
+ "includeRemote": {
3391
+ "type": "boolean",
3392
+ "optional": true,
3393
+ "default": true,
3394
+ "description": "Whether to include results from remote address books. Defaults to true."
3395
+ },
3396
+ "includeReadOnly": {
3397
+ "type": "boolean",
3398
+ "optional": true,
3399
+ "default": true,
3400
+ "description": "Whether to include results from read-only address books. Defaults to true."
3401
+ },
3402
+ "includeReadWrite": {
3403
+ "type": "boolean",
3404
+ "optional": true,
3405
+ "default": true,
3406
+ "description": "Whether to include results from read-write address books. Defaults to true."
3407
+ }
3408
+ }
3409
+ },
3369
3410
  {
3370
3411
  "id": "ContactNode",
3371
3412
  "type": "object",
@@ -3378,11 +3419,11 @@
3378
3419
  "parentId": {
3379
3420
  "type": "string",
3380
3421
  "optional": true,
3381
- "description": "The <code>id</code> of the parent object."
3422
+ "description": "The ``id`` of the parent object."
3382
3423
  },
3383
3424
  "type": {
3384
3425
  "$ref": "addressBooks.NodeType",
3385
- "description": "Always set to <code>contact</code>."
3426
+ "description": "Always set to <value>contact</value>."
3386
3427
  },
3387
3428
  "readOnly": {
3388
3429
  "type": "boolean",
@@ -3419,7 +3460,7 @@
3419
3460
  {
3420
3461
  "id": "PropertyChange",
3421
3462
  "type": "object",
3422
- "description": "A dictionary of changed properties. Keys are the property name that changed, values are an object containing ``oldValue`` and ``newValue``. Values can be either a string or null.",
3463
+ "description": "A dictionary of changed properties. Keys are the property name that changed, values are an object containing ``oldValue`` and ``newValue``. Values can be either a string or <value>null</value>.",
3423
3464
  "patternProperties": {
3424
3465
  "^\\w+$": {
3425
3466
  "type": "object",
@@ -3473,7 +3514,7 @@
3473
3514
  ]
3474
3515
  }
3475
3516
  ],
3476
- "description": "Gets all the contacts in the address book with the id <code>parentId</code>."
3517
+ "description": "Gets all the contacts in the address book with the id ``parentId``."
3477
3518
  },
3478
3519
  {
3479
3520
  "name": "quickSearch",
@@ -3488,44 +3529,13 @@
3488
3529
  },
3489
3530
  {
3490
3531
  "name": "queryInfo",
3532
+ "description": "Either a <em>string</em> with one or more space-separated terms to search for, or a complex :ref:`contacts.QueryInfo` search query.",
3491
3533
  "choices": [
3492
3534
  {
3493
- "type": "string",
3494
- "description": "One or more space-separated terms to search for."
3535
+ "type": "string"
3495
3536
  },
3496
3537
  {
3497
- "type": "object",
3498
- "properties": {
3499
- "searchString": {
3500
- "type": "string",
3501
- "optional": true,
3502
- "description": "One or more space-separated terms to search for."
3503
- },
3504
- "includeLocal": {
3505
- "type": "boolean",
3506
- "optional": true,
3507
- "default": true,
3508
- "description": "Whether to include results from local address books. Defaults to true."
3509
- },
3510
- "includeRemote": {
3511
- "type": "boolean",
3512
- "optional": true,
3513
- "default": true,
3514
- "description": "Whether to include results from remote address books. Defaults to true."
3515
- },
3516
- "includeReadOnly": {
3517
- "type": "boolean",
3518
- "optional": true,
3519
- "default": true,
3520
- "description": "Whether to include results from read-only address books. Defaults to true."
3521
- },
3522
- "includeReadWrite": {
3523
- "type": "boolean",
3524
- "optional": true,
3525
- "default": true,
3526
- "description": "Whether to include results from read-write address books. Defaults to true."
3527
- }
3528
- }
3538
+ "$ref": "QueryInfo"
3529
3539
  }
3530
3540
  ]
3531
3541
  },
@@ -3628,7 +3638,7 @@
3628
3638
  {
3629
3639
  "name": "properties",
3630
3640
  "$ref": "ContactProperties",
3631
- "description": "The properties object for the new contact. If it includes a <code>vCard</code> member, all specified `legacy properties <https://searchfox.org/comm-central/rev/8a1ae67088acf237dab2fd704db18589e7bf119e/mailnews/addrbook/modules/VCardUtils.jsm#295-334>`__ are ignored and the new contact will be based on the provided vCard string. If a UID is specified in the vCard string, which is already used by another contact, an exception is thrown. **Note:** Using individual properties is deprecated, use the <code>vCard</code> member instead."
3641
+ "description": "The properties object for the new contact. If it includes a ``vCard`` member, all specified `legacy properties <|link-legacy-properties|>`__ are ignored and the new contact will be based on the provided vCard string. If a UID is specified in the vCard string, which is already used by another contact, an exception is thrown. **Note:** Using individual properties is deprecated, use the ``vCard`` member instead."
3632
3642
  },
3633
3643
  {
3634
3644
  "type": "function",
@@ -3642,7 +3652,7 @@
3642
3652
  ]
3643
3653
  }
3644
3654
  ],
3645
- "description": "Adds a new contact to the address book with the id <code>parentId</code>."
3655
+ "description": "Adds a new contact to the address book with the id ``parentId``."
3646
3656
  },
3647
3657
  {
3648
3658
  "name": "update",
@@ -3656,7 +3666,7 @@
3656
3666
  {
3657
3667
  "name": "properties",
3658
3668
  "$ref": "ContactProperties",
3659
- "description": "An object with properties to update the specified contact. Individual properties are removed, if they are set to <code>null</code>. If the provided object includes a <code>vCard</code> member, all specified `legacy properties <https://searchfox.org/comm-central/rev/8a1ae67088acf237dab2fd704db18589e7bf119e/mailnews/addrbook/modules/VCardUtils.jsm#295-334>`__ are ignored and the details of the contact will be replaced by the provided vCard. Changes to the UID will be ignored. **Note:** Using individual properties is deprecated, use the <code>vCard</code> member instead. "
3669
+ "description": "An object with properties to update the specified contact. Individual properties are removed, if they are set to <value>null</value>. If the provided object includes a ``vCard`` member, all specified `legacy properties <|link-legacy-properties|>`__ are ignored and the details of the contact will be replaced by the provided vCard. Changes to the UID will be ignored. **Note:** Using individual properties is deprecated, use the ``vCard`` member instead. "
3660
3670
  }
3661
3671
  ],
3662
3672
  "description": "Updates a contact."
@@ -3740,11 +3750,11 @@
3740
3750
  "parentId": {
3741
3751
  "type": "string",
3742
3752
  "optional": true,
3743
- "description": "The <code>id</code> of the parent object."
3753
+ "description": "The ``id`` of the parent object."
3744
3754
  },
3745
3755
  "type": {
3746
3756
  "$ref": "addressBooks.NodeType",
3747
- "description": "Always set to <code>mailingList</code>."
3757
+ "description": "Always set to <value>mailingList</value>."
3748
3758
  },
3749
3759
  "readOnly": {
3750
3760
  "type": "boolean",
@@ -3800,7 +3810,7 @@
3800
3810
  ]
3801
3811
  }
3802
3812
  ],
3803
- "description": "Gets all the mailing lists in the address book with id <code>parentId</code>."
3813
+ "description": "Gets all the mailing lists in the address book with id ``parentId``."
3804
3814
  },
3805
3815
  {
3806
3816
  "name": "get",
@@ -3862,7 +3872,7 @@
3862
3872
  ]
3863
3873
  }
3864
3874
  ],
3865
- "description": "Creates a new mailing list in the address book with id <code>parentId</code>."
3875
+ "description": "Creates a new mailing list in the address book with id ``parentId``."
3866
3876
  },
3867
3877
  {
3868
3878
  "name": "update",
@@ -3919,7 +3929,7 @@
3919
3929
  "type": "string"
3920
3930
  }
3921
3931
  ],
3922
- "description": "Adds a contact to the mailing list with id <code>id</code>. If the contact and mailing list are in different address books, the contact will also be copied to the list's address book."
3932
+ "description": "Adds a contact to the mailing list with id ``id``. If the contact and mailing list are in different address books, the contact will also be copied to the list's address book."
3923
3933
  },
3924
3934
  {
3925
3935
  "name": "listMembers",
@@ -3944,7 +3954,7 @@
3944
3954
  ]
3945
3955
  }
3946
3956
  ],
3947
- "description": "Gets all contacts that are members of the mailing list with id <code>id</code>."
3957
+ "description": "Gets all contacts that are members of the mailing list with id ``id``."
3948
3958
  },
3949
3959
  {
3950
3960
  "name": "removeMember",
@@ -3960,7 +3970,7 @@
3960
3970
  "type": "string"
3961
3971
  }
3962
3972
  ],
3963
- "description": "Removes a contact from the mailing list with id <code>id</code>. This does not delete the contact from the address book."
3973
+ "description": "Removes a contact from the mailing list with id ``id``. This does not delete the contact from the address book."
3964
3974
  }
3965
3975
  ],
3966
3976
  "events": [
@@ -4043,19 +4053,19 @@
4043
4053
  "properties": {
4044
4054
  "default_label": {
4045
4055
  "type": "string",
4046
- "description": "The label of the action, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
4056
+ "description": "The label of the action button, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
4047
4057
  "optional": true,
4048
4058
  "preprocess": "localize"
4049
4059
  },
4050
4060
  "default_title": {
4051
4061
  "type": "string",
4052
- "description": "The title of the action. This shows up in the tooltip and the label. Defaults to the add-on name.",
4062
+ "description": "The title of the action button. This shows up in the tooltip and the label. Defaults to the add-on name.",
4053
4063
  "optional": true,
4054
4064
  "preprocess": "localize"
4055
4065
  },
4056
4066
  "default_icon": {
4057
4067
  "$ref": "IconPath",
4058
- "description": "The icon for the action.",
4068
+ "description": "The paths to one or more icons for the action button.",
4059
4069
  "optional": true
4060
4070
  },
4061
4071
  "theme_icons": {
@@ -4071,17 +4081,17 @@
4071
4081
  "type": "string",
4072
4082
  "format": "relativeUrl",
4073
4083
  "optional": true,
4074
- "description": "The html document to be opened as a popup when the user clicks on the action's icon.",
4084
+ "description": "The html document to be opened as a popup when the user clicks on the action button.",
4075
4085
  "preprocess": "localize"
4076
4086
  },
4077
4087
  "browser_style": {
4078
4088
  "type": "boolean",
4079
4089
  "optional": true,
4080
- "description": "Enable browser styles. See the `MDN documentation on browser styles <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information.",
4090
+ "description": "Enable browser styles. See the `MDN documentation on browser styles <|link-mdn-browser-styles|>`__ for more information.",
4081
4091
  "default": false
4082
4092
  },
4083
4093
  "default_area": {
4084
- "description": "Defines the location the action will appear. The default location is ``maintoolbar``.",
4094
+ "description": "Defines the location the action button will appear. The default location is <value>maintoolbar</value>.",
4085
4095
  "type": "string",
4086
4096
  "enum": [
4087
4097
  "maintoolbar",
@@ -4090,7 +4100,7 @@
4090
4100
  "optional": true
4091
4101
  },
4092
4102
  "default_windows": {
4093
- "description": "Defines the windows, the action should appear in. Defaults to showing it only in the ``normal`` Thunderbird window, but can also be shown in the ``messageDisplay`` window.",
4103
+ "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.",
4094
4104
  "type": "array",
4095
4105
  "items": {
4096
4106
  "type": "string",
@@ -4130,35 +4140,16 @@
4130
4140
  },
4131
4141
  {
4132
4142
  "namespace": "action",
4133
- "description": "Use an action to put an icon in the mail window toolbar. In addition to its icon, an action can also have a tooltip, a badge, and a popup.",
4143
+ "description": "Use an action to put a button in the mail window toolbar. In addition to its icon, an action button can also have a tooltip, a badge, and a popup.",
4134
4144
  "permissions": [
4135
4145
  "manifest:action",
4136
4146
  "manifest:browser_action"
4137
4147
  ],
4138
4148
  "min_manifest_version": 3,
4139
4149
  "types": [
4140
- {
4141
- "id": "Details",
4142
- "type": "object",
4143
- "description": "Specifies to which tab or window the value should be set, or from which one it should be retrieved. If no tab nor window is specified, the global value is set or retrieved.",
4144
- "properties": {
4145
- "tabId": {
4146
- "type": "integer",
4147
- "optional": true,
4148
- "minimum": 0,
4149
- "description": "When setting a value, it will be specific to the specified tab, and will automatically reset when the tab navigates. When getting, specifies the tab to get the value from; if there is no tab-specific value, the window one will be inherited."
4150
- },
4151
- "windowId": {
4152
- "type": "integer",
4153
- "optional": true,
4154
- "minimum": -2,
4155
- "description": "When setting a value, it will be specific to the specified window. When getting, specifies the window to get the value from; if there is no window-specific value, the global one will be inherited."
4156
- }
4157
- }
4158
- },
4159
4150
  {
4160
4151
  "id": "ColorArray",
4161
- "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <code>[255, 0, 0, 255]</code>.",
4152
+ "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <value>[255, 0, 0, 255]</value>.",
4162
4153
  "type": "array",
4163
4154
  "items": {
4164
4155
  "type": "integer",
@@ -4176,12 +4167,12 @@
4176
4167
  "type": "any"
4177
4168
  },
4178
4169
  "postprocess": "convertImageDataToURL",
4179
- "description": "Pixel data for an image. Must be an ImageData object (for example, from a <code>canvas</code> element)."
4170
+ "description": "Pixel data for an image. Must be an |ImageData| object (for example, from a |Canvas| element)."
4180
4171
  },
4181
4172
  {
4182
4173
  "id": "ImageDataDictionary",
4183
4174
  "type": "object",
4184
- "description": "A ``{size: ImageDataType}`` dictionary representing the icon to be set. The actual :ref:`browserAction.ImageDataType` to be used is chosen depending on the screen's pixel density. See the `MDN documentation on browser styles <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information on this. At least one :ref:`browserAction.ImageDataType` must be specified.",
4175
+ "description": "A <em>dictionary object</em> to specify multiple |ImageData| objects in different sizes, so the icon does not have to be scaled for a device with a different pixel density. Each entry is a <em>name-value</em> pair with <em>value</em> being an |ImageData| object, and <em>name</em> its size. Example: <literalinclude>includes/ImageDataDictionary.json<lang>JavaScript</lang></literalinclude>See the `MDN documentation about choosing icon sizes <|link-mdn-icon-size|>`__ for more information on this.",
4185
4176
  "patternProperties": {
4186
4177
  "^[1-9]\\d*$": {
4187
4178
  "$ref": "ImageDataType"
@@ -4191,7 +4182,7 @@
4191
4182
  {
4192
4183
  "id": "OnClickData",
4193
4184
  "type": "object",
4194
- "description": "Information sent when a browser action is clicked.",
4185
+ "description": "Information sent when an action button is clicked.",
4195
4186
  "properties": {
4196
4187
  "modifiers": {
4197
4188
  "type": "array",
@@ -4219,13 +4210,12 @@
4219
4210
  {
4220
4211
  "name": "setTitle",
4221
4212
  "type": "function",
4222
- "description": "Sets the title of the action. This shows up in the tooltip and the label. Defaults to the add-on name.",
4213
+ "description": "Sets the title of the action button. Is used as tooltip and as the label.",
4223
4214
  "async": "callback",
4224
4215
  "parameters": [
4225
4216
  {
4226
4217
  "name": "details",
4227
4218
  "type": "object",
4228
- "$import": "Details",
4229
4219
  "properties": {
4230
4220
  "title": {
4231
4221
  "choices": [
@@ -4236,7 +4226,20 @@
4236
4226
  "type": "null"
4237
4227
  }
4238
4228
  ],
4239
- "description": "The string the action should display as its label and when moused over."
4229
+ "description": "A string the action button should display as its label and when moused over. Cleared by setting it to <value>null</value> or an empty string (title defined the manifest will be used)."
4230
+ },
4231
+ "tabId": {
4232
+ "type": "integer",
4233
+ "optional": true,
4234
+ "minimum": 0,
4235
+ "description": "Sets the title only for the given tab."
4236
+ },
4237
+ "windowId": {
4238
+ "type": "integer",
4239
+ "optional": true,
4240
+ "minimum": -2,
4241
+ "unsupported": true,
4242
+ "description": "Will throw an error if used."
4240
4243
  }
4241
4244
  }
4242
4245
  },
@@ -4251,12 +4254,27 @@
4251
4254
  {
4252
4255
  "name": "getTitle",
4253
4256
  "type": "function",
4254
- "description": "Gets the title of the action.",
4257
+ "description": "Gets the title of the action button.",
4255
4258
  "async": "callback",
4256
4259
  "parameters": [
4257
4260
  {
4258
4261
  "name": "details",
4259
- "$ref": "Details"
4262
+ "type": "object",
4263
+ "properties": {
4264
+ "tabId": {
4265
+ "type": "integer",
4266
+ "optional": true,
4267
+ "minimum": 0,
4268
+ "description": "Specifies for which tab the title should be retrieved. If no tab is specified, the global value is retrieved."
4269
+ },
4270
+ "windowId": {
4271
+ "type": "integer",
4272
+ "optional": true,
4273
+ "minimum": -2,
4274
+ "unsupported": true,
4275
+ "description": "Will throw an error if used."
4276
+ }
4277
+ }
4260
4278
  },
4261
4279
  {
4262
4280
  "type": "function",
@@ -4273,13 +4291,12 @@
4273
4291
  {
4274
4292
  "name": "setLabel",
4275
4293
  "type": "function",
4276
- "description": "Sets the label of the action, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
4294
+ "description": "Sets the label of the action button. Can be used to set different values for the tooltip (defined by the title) and the label. Additionally, the label can be set to an empty string, not showing any label at all.",
4277
4295
  "async": "callback",
4278
4296
  "parameters": [
4279
4297
  {
4280
4298
  "name": "details",
4281
4299
  "type": "object",
4282
- "$import": "Details",
4283
4300
  "properties": {
4284
4301
  "label": {
4285
4302
  "choices": [
@@ -4290,7 +4307,20 @@
4290
4307
  "type": "null"
4291
4308
  }
4292
4309
  ],
4293
- "description": "The string the action should use as label. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback."
4310
+ "description": "A string the action button should use as its label, overriding the defined title. Can be set to an empty string to not display any label at all. If the containing toolbar is configured to display text only, its title will be used. Cleared by setting it to <value>null</value>."
4311
+ },
4312
+ "tabId": {
4313
+ "type": "integer",
4314
+ "optional": true,
4315
+ "minimum": 0,
4316
+ "description": "Sets the label only for the given tab."
4317
+ },
4318
+ "windowId": {
4319
+ "type": "integer",
4320
+ "optional": true,
4321
+ "minimum": -2,
4322
+ "unsupported": true,
4323
+ "description": "Will throw an error if used."
4294
4324
  }
4295
4325
  }
4296
4326
  },
@@ -4305,12 +4335,27 @@
4305
4335
  {
4306
4336
  "name": "getLabel",
4307
4337
  "type": "function",
4308
- "description": "Gets the label of the action.",
4338
+ "description": "Gets the label of the action button.",
4309
4339
  "async": "callback",
4310
4340
  "parameters": [
4311
4341
  {
4312
4342
  "name": "details",
4313
- "$ref": "Details"
4343
+ "type": "object",
4344
+ "properties": {
4345
+ "tabId": {
4346
+ "type": "integer",
4347
+ "optional": true,
4348
+ "minimum": 0,
4349
+ "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global label is retrieved."
4350
+ },
4351
+ "windowId": {
4352
+ "type": "integer",
4353
+ "optional": true,
4354
+ "minimum": -2,
4355
+ "unsupported": true,
4356
+ "description": "Will throw an error if used."
4357
+ }
4358
+ }
4314
4359
  },
4315
4360
  {
4316
4361
  "type": "function",
@@ -4327,13 +4372,12 @@
4327
4372
  {
4328
4373
  "name": "setIcon",
4329
4374
  "type": "function",
4330
- "description": "Sets the icon for the action. The icon can be specified either as the path to an image file or as the pixel data from a canvas element, or as dictionary of either one of those. Either the <b>path</b> or the <b>imageData</b> property must be specified.",
4375
+ "description": "Sets the icon for the action button. Either the ``path`` or the ``imageData`` property must be specified.",
4331
4376
  "async": "callback",
4332
4377
  "parameters": [
4333
4378
  {
4334
4379
  "name": "details",
4335
4380
  "type": "object",
4336
- "$import": "Details",
4337
4381
  "properties": {
4338
4382
  "imageData": {
4339
4383
  "choices": [
@@ -4345,12 +4389,25 @@
4345
4389
  }
4346
4390
  ],
4347
4391
  "optional": true,
4348
- "description": "Either an ImageDataType object defining a single icon used for all sizes or an ImageDataDictionary object defining dedicated icons for different sizes. At least the ``16px`` icon should be specified. The ``32px`` icon will be used on screens with a very high pixel density, if specified."
4392
+ "description": "The image data for one or more icons for the action button."
4349
4393
  },
4350
4394
  "path": {
4351
4395
  "$ref": "manifest.IconPath",
4352
4396
  "optional": true,
4353
- "description": "The icon for the action."
4397
+ "description": "The paths to one or more icons for the action button."
4398
+ },
4399
+ "tabId": {
4400
+ "type": "integer",
4401
+ "optional": true,
4402
+ "minimum": 0,
4403
+ "description": "Sets the icon only for the given tab."
4404
+ },
4405
+ "windowId": {
4406
+ "type": "integer",
4407
+ "optional": true,
4408
+ "minimum": -2,
4409
+ "unsupported": true,
4410
+ "description": "Will throw an error if used."
4354
4411
  }
4355
4412
  }
4356
4413
  },
@@ -4365,13 +4422,12 @@
4365
4422
  {
4366
4423
  "name": "setPopup",
4367
4424
  "type": "function",
4368
- "description": "Sets the html document to be opened as a popup when the user clicks on the action's icon.",
4425
+ "description": "Sets the html document to be opened as a popup when the user clicks on the action button.",
4369
4426
  "async": "callback",
4370
4427
  "parameters": [
4371
4428
  {
4372
4429
  "name": "details",
4373
4430
  "type": "object",
4374
- "$import": "Details",
4375
4431
  "properties": {
4376
4432
  "popup": {
4377
4433
  "choices": [
@@ -4382,7 +4438,20 @@
4382
4438
  "type": "null"
4383
4439
  }
4384
4440
  ],
4385
- "description": "The html file to show in a popup. If set to the empty string (''), no popup is shown."
4441
+ "description": "The html file to show in a popup. Can be set to an empty string to not open a popup. Cleared by setting it to <value>null</value> (popup value defined the manifest will be used)."
4442
+ },
4443
+ "tabId": {
4444
+ "type": "integer",
4445
+ "optional": true,
4446
+ "minimum": 0,
4447
+ "description": "Sets the popup only for the given tab."
4448
+ },
4449
+ "windowId": {
4450
+ "type": "integer",
4451
+ "optional": true,
4452
+ "minimum": -2,
4453
+ "unsupported": true,
4454
+ "description": "Will throw an error if used."
4386
4455
  }
4387
4456
  }
4388
4457
  },
@@ -4397,12 +4466,27 @@
4397
4466
  {
4398
4467
  "name": "getPopup",
4399
4468
  "type": "function",
4400
- "description": "Gets the html document set as the popup for this action.",
4469
+ "description": "Gets the html document set as the popup for this action button.",
4401
4470
  "async": "callback",
4402
4471
  "parameters": [
4403
4472
  {
4404
4473
  "name": "details",
4405
- "$ref": "Details"
4474
+ "type": "object",
4475
+ "properties": {
4476
+ "tabId": {
4477
+ "type": "integer",
4478
+ "optional": true,
4479
+ "minimum": 0,
4480
+ "description": "Specifies for which tab the popup document should be retrieved. If no tab is specified, the global value is retrieved."
4481
+ },
4482
+ "windowId": {
4483
+ "type": "integer",
4484
+ "optional": true,
4485
+ "minimum": -2,
4486
+ "unsupported": true,
4487
+ "description": "Will throw an error if used."
4488
+ }
4489
+ }
4406
4490
  },
4407
4491
  {
4408
4492
  "type": "function",
@@ -4419,13 +4503,12 @@
4419
4503
  {
4420
4504
  "name": "setBadgeText",
4421
4505
  "type": "function",
4422
- "description": "Sets the badge text for the action. The badge is displayed on top of the icon.",
4506
+ "description": "Sets the badge text for the action button. The badge is displayed on top of the icon.",
4423
4507
  "async": "callback",
4424
4508
  "parameters": [
4425
4509
  {
4426
4510
  "name": "details",
4427
4511
  "type": "object",
4428
- "$import": "Details",
4429
4512
  "properties": {
4430
4513
  "text": {
4431
4514
  "choices": [
@@ -4436,7 +4519,20 @@
4436
4519
  "type": "null"
4437
4520
  }
4438
4521
  ],
4439
- "description": "Any number of characters can be passed, but only about four can fit in the space."
4522
+ "description": "Any number of characters can be passed, but only about four can fit in the space. Cleared by setting it to <value>null</value> or an empty string."
4523
+ },
4524
+ "tabId": {
4525
+ "type": "integer",
4526
+ "optional": true,
4527
+ "minimum": 0,
4528
+ "description": "Sets the badge text only for the given tab."
4529
+ },
4530
+ "windowId": {
4531
+ "type": "integer",
4532
+ "optional": true,
4533
+ "minimum": -2,
4534
+ "unsupported": true,
4535
+ "description": "Will throw an error if used."
4440
4536
  }
4441
4537
  }
4442
4538
  },
@@ -4451,12 +4547,27 @@
4451
4547
  {
4452
4548
  "name": "getBadgeText",
4453
4549
  "type": "function",
4454
- "description": "Gets the badge text of the action. If no tab nor window is specified, the global badge text is returned.",
4550
+ "description": "Gets the badge text of the action button.",
4455
4551
  "async": "callback",
4456
4552
  "parameters": [
4457
4553
  {
4458
4554
  "name": "details",
4459
- "$ref": "Details"
4555
+ "type": "object",
4556
+ "properties": {
4557
+ "tabId": {
4558
+ "type": "integer",
4559
+ "optional": true,
4560
+ "minimum": 0,
4561
+ "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global label is retrieved."
4562
+ },
4563
+ "windowId": {
4564
+ "type": "integer",
4565
+ "optional": true,
4566
+ "minimum": -2,
4567
+ "unsupported": true,
4568
+ "description": "Will throw an error if used."
4569
+ }
4570
+ }
4460
4571
  },
4461
4572
  {
4462
4573
  "type": "function",
@@ -4479,10 +4590,8 @@
4479
4590
  {
4480
4591
  "name": "details",
4481
4592
  "type": "object",
4482
- "$import": "Details",
4483
4593
  "properties": {
4484
4594
  "color": {
4485
- "description": "An array of four integers in the range [0,255] that make up the RGBA color of the badge. For example, opaque red is <code>[255, 0, 0, 255]</code>. Can also be a string with a CSS value, with opaque red being <code>#FF0000</code> or <code>#F00</code>.",
4486
4595
  "choices": [
4487
4596
  {
4488
4597
  "type": "string"
@@ -4493,7 +4602,21 @@
4493
4602
  {
4494
4603
  "type": "null"
4495
4604
  }
4496
- ]
4605
+ ],
4606
+ "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value> or an empty string."
4607
+ },
4608
+ "tabId": {
4609
+ "type": "integer",
4610
+ "optional": true,
4611
+ "minimum": 0,
4612
+ "description": "Sets the background color for the badge only for the given tab."
4613
+ },
4614
+ "windowId": {
4615
+ "type": "integer",
4616
+ "optional": true,
4617
+ "minimum": -2,
4618
+ "unsupported": true,
4619
+ "description": "Will throw an error if used."
4497
4620
  }
4498
4621
  }
4499
4622
  },
@@ -4508,12 +4631,27 @@
4508
4631
  {
4509
4632
  "name": "getBadgeBackgroundColor",
4510
4633
  "type": "function",
4511
- "description": "Gets the background color of the action.",
4634
+ "description": "Gets the badge background color of the action button.",
4512
4635
  "async": "callback",
4513
4636
  "parameters": [
4514
4637
  {
4515
4638
  "name": "details",
4516
- "$ref": "Details"
4639
+ "type": "object",
4640
+ "properties": {
4641
+ "tabId": {
4642
+ "type": "integer",
4643
+ "optional": true,
4644
+ "minimum": 0,
4645
+ "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global label is retrieved."
4646
+ },
4647
+ "windowId": {
4648
+ "type": "integer",
4649
+ "optional": true,
4650
+ "minimum": -2,
4651
+ "unsupported": true,
4652
+ "description": "Will throw an error if used."
4653
+ }
4654
+ }
4517
4655
  },
4518
4656
  {
4519
4657
  "type": "function",
@@ -4530,7 +4668,7 @@
4530
4668
  {
4531
4669
  "name": "enable",
4532
4670
  "type": "function",
4533
- "description": "Enables the action for a tab. By default, an action is enabled.",
4671
+ "description": "Enables the action button for a tab. By default, an action button is enabled.",
4534
4672
  "async": "callback",
4535
4673
  "parameters": [
4536
4674
  {
@@ -4538,7 +4676,7 @@
4538
4676
  "optional": true,
4539
4677
  "name": "tabId",
4540
4678
  "minimum": 0,
4541
- "description": "The id of the tab for which you want to modify the action."
4679
+ "description": "The id of the tab for which you want to modify the action button."
4542
4680
  },
4543
4681
  {
4544
4682
  "type": "function",
@@ -4551,7 +4689,7 @@
4551
4689
  {
4552
4690
  "name": "disable",
4553
4691
  "type": "function",
4554
- "description": "Disables the action for a tab.",
4692
+ "description": "Disables the action button for a tab.",
4555
4693
  "async": "callback",
4556
4694
  "parameters": [
4557
4695
  {
@@ -4559,7 +4697,7 @@
4559
4697
  "optional": true,
4560
4698
  "name": "tabId",
4561
4699
  "minimum": 0,
4562
- "description": "The id of the tab for which you want to modify the action."
4700
+ "description": "The id of the tab for which you want to modify the action button."
4563
4701
  },
4564
4702
  {
4565
4703
  "type": "function",
@@ -4572,12 +4710,27 @@
4572
4710
  {
4573
4711
  "name": "isEnabled",
4574
4712
  "type": "function",
4575
- "description": "Checks whether the action is enabled.",
4713
+ "description": "Checks whether the action button is enabled.",
4576
4714
  "async": "callback",
4577
4715
  "parameters": [
4578
4716
  {
4579
4717
  "name": "details",
4580
- "$ref": "Details"
4718
+ "type": "object",
4719
+ "properties": {
4720
+ "tabId": {
4721
+ "type": "integer",
4722
+ "optional": true,
4723
+ "minimum": 0,
4724
+ "description": "Specifies for which tab the state should be retrieved. If no tab is specified, the global value is retrieved."
4725
+ },
4726
+ "windowId": {
4727
+ "type": "integer",
4728
+ "optional": true,
4729
+ "minimum": -2,
4730
+ "unsupported": true,
4731
+ "description": "Will throw an error if used."
4732
+ }
4733
+ }
4581
4734
  },
4582
4735
  {
4583
4736
  "type": "function",
@@ -4595,7 +4748,7 @@
4595
4748
  "name": "openPopup",
4596
4749
  "type": "function",
4597
4750
  "requireUserInput": true,
4598
- "description": "Opens the extension popup window in the active window.",
4751
+ "description": "Opens the action's popup window in the active window.",
4599
4752
  "async": true,
4600
4753
  "parameters": []
4601
4754
  }
@@ -4604,7 +4757,7 @@
4604
4757
  {
4605
4758
  "name": "onClicked",
4606
4759
  "type": "function",
4607
- "description": "Fired when an action icon is clicked. This event will not fire if the action has a popup. This is a user input event handler. For asynchronous listeners some `restrictions <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/User_actions>`__ apply.",
4760
+ "description": "Fired when an action button is clicked. This event will not fire if the action has a popup. This is a user input event handler. For asynchronous listeners some `restrictions <|link-user-input-restrictions|>`__ apply.",
4608
4761
  "parameters": [
4609
4762
  {
4610
4763
  "name": "tab",
@@ -4841,7 +4994,7 @@
4841
4994
  "properties": {
4842
4995
  "browser_style": {
4843
4996
  "type": "boolean",
4844
- "description": "Enable browser styles in the ``management_url`` page. See the `MDN documentation <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information.",
4997
+ "description": "Enable browser styles in the ``management_url`` page. See the `MDN documentation on browser styles <|link-mdn-browser-styles|>`__ for more information.",
4845
4998
  "optional": true,
4846
4999
  "default": false
4847
5000
  },
@@ -4849,10 +5002,10 @@
4849
5002
  "type": "string",
4850
5003
  "optional": true,
4851
5004
  "deprecated": true,
4852
- "description": "This property is no longer used. The only supported data format for the ``data`` argument in ``onFileUpload`` is `File <https://developer.mozilla.org/docs/Web/API/File>`__."
5005
+ "description": "This property is no longer used. The only supported data format for the ``data`` argument in :ref:`cloudFile.onFileUpload` is |File|."
4853
5006
  },
4854
5007
  "reuse_uploads": {
4855
- "description": "If a previously uploaded cloud file attachment is reused at a later time in a different message, Thunderbird may use the already known ``url`` and ``templateInfo`` values without triggering the registered :ref:`cloudFile.onFileUpload` listener again. Setting this option to false will always trigger the registered listener, providing the already known values through the ``relatedFileInfo`` parameter of the :ref:`cloudFile.onFileUpload` event, to let the provider decide how to handle these cases.",
5008
+ "description": "If a previously uploaded cloud file attachment is reused at a later time in a different message, Thunderbird may use the already known ``url`` and ``templateInfo`` values without triggering the registered :ref:`cloudFile.onFileUpload` listener again. Setting this option to <value>false</value> will always trigger the registered listener, providing the already known values through the ``relatedFileInfo`` parameter of the :ref:`cloudFile.onFileUpload` event, to let the provider decide how to handle these cases.",
4856
5009
  "type": "boolean",
4857
5010
  "optional": true,
4858
5011
  "default": true
@@ -4878,7 +5031,7 @@
4878
5031
  "type": "string",
4879
5032
  "optional": true,
4880
5033
  "deprecated": true,
4881
- "description": "This property is no longer used. The ``service_url`` property of the :ref:`cloudFile.CloudFileTemplateInfo` object returned by the :ref:`cloudFile.onFileUpload` event can be used to add a ``Learn more about`` link to the footer of the cloud file attachment element."
5034
+ "description": "This property is no longer used. The ``service_url`` property of the :ref:`cloudFile.CloudFileTemplateInfo` object returned by the :ref:`cloudFile.onFileUpload` event can be used to add a <em>Learn more about</em> link to the footer of the cloud file attachment element."
4882
5035
  }
4883
5036
  },
4884
5037
  "optional": true
@@ -4928,7 +5081,7 @@
4928
5081
  "properties": {
4929
5082
  "aborted": {
4930
5083
  "type": "boolean",
4931
- "description": "Set this to true if the file upload was aborted by the user and an :ref:`cloudFile.onFileUploadAbort` event has been received. No error message will be shown to the user.",
5084
+ "description": "Set this to <value>true</value> if the file upload was aborted by the user and an :ref:`cloudFile.onFileUploadAbort` event has been received. No error message will be shown to the user.",
4932
5085
  "optional": true
4933
5086
  },
4934
5087
  "error": {
@@ -4940,7 +5093,7 @@
4940
5093
  "type": "string"
4941
5094
  }
4942
5095
  ],
4943
- "description": "Report an error to the user. Set this to true for showing a generic error message, or set a specific error message.",
5096
+ "description": "Report an error to the user. Set this to <value>true</value> for showing a generic error message, or set a specific error message.",
4944
5097
  "optional": true
4945
5098
  },
4946
5099
  "url": {
@@ -5017,7 +5170,7 @@
5017
5170
  "type": "string"
5018
5171
  }
5019
5172
  ],
5020
- "description": "Report an error to the user. Set this to true for showing a generic error message, or set a specific error message.",
5173
+ "description": "Report an error to the user. Set this to <value>true</value> for showing a generic error message, or set a specific error message.",
5021
5174
  "optional": true
5022
5175
  },
5023
5176
  "url": {
@@ -5098,19 +5251,19 @@
5098
5251
  "type": "integer",
5099
5252
  "minimum": -1,
5100
5253
  "optional": true,
5101
- "description": "The maximum size in bytes for a single file to upload. Set to -1 if unlimited."
5254
+ "description": "The maximum size in bytes for a single file to upload. Set to <value>-1</value> if unlimited."
5102
5255
  },
5103
5256
  "spaceRemaining": {
5104
5257
  "type": "integer",
5105
5258
  "minimum": -1,
5106
5259
  "optional": true,
5107
- "description": "The amount of remaining space on the cloud provider, in bytes. Set to -1 if unsupported."
5260
+ "description": "The amount of remaining space on the cloud provider, in bytes. Set to <value>-1</value> if unsupported."
5108
5261
  },
5109
5262
  "spaceUsed": {
5110
5263
  "type": "integer",
5111
5264
  "minimum": -1,
5112
5265
  "optional": true,
5113
- "description": "The amount of space already used on the cloud provider, in bytes. Set to -1 if unsupported."
5266
+ "description": "The amount of space already used on the cloud provider, in bytes. Set to <value>-1</value> if unsupported."
5114
5267
  },
5115
5268
  "managementUrl": {
5116
5269
  "type": "string",
@@ -5137,7 +5290,7 @@
5137
5290
  "service_url": {
5138
5291
  "type": "string",
5139
5292
  "optional": true,
5140
- "description": "A URL pointing to a web page of the used cloud file service. Will be used in a ``Learn more about`` link in the footer of the cloud file attachment element."
5293
+ "description": "A URL pointing to a web page of the used cloud file service. Will be used in a <em>Learn more about</em> link in the footer of the cloud file attachment element."
5141
5294
  },
5142
5295
  "download_password_protected": {
5143
5296
  "type": "boolean",
@@ -5160,7 +5313,7 @@
5160
5313
  },
5161
5314
  "format": {
5162
5315
  "optional": true,
5163
- "description": "A format options object as used by `Intl.DateTimeFormat <https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/DateTimeFormat>`__. Defaults to: <literalinclude>includes/cloudFile/defaultDateFormat.js<lang>JavaScript</lang></literalinclude>",
5316
+ "description": "A format options object as used by |DateTimeFormat|. Defaults to: <literalinclude>includes/cloudFile/defaultDateFormat.js<lang>JavaScript</lang></literalinclude>",
5164
5317
  "type": "object",
5165
5318
  "additionalProperties": true
5166
5319
  }
@@ -5193,7 +5346,7 @@
5193
5346
  {
5194
5347
  "id": "RelatedCloudFile",
5195
5348
  "type": "object",
5196
- "description": "Information about an already uploaded cloud file, which is related to a new upload. For example if the content of a cloud attachment is updated, if a repeatedly used cloud attachment is renamed (and therefore should be re-uploaded to not invalidate existing links) or if the provider has its manifest property ``reuse_uploads`` set to ``false``.",
5349
+ "description": "Information about an already uploaded cloud file, which is related to a new upload. For example if the content of a cloud attachment is updated, if a repeatedly used cloud attachment is renamed (and therefore should be re-uploaded to not invalidate existing links) or if the provider has its manifest property ``reuse_uploads`` set to <value>false</value>.",
5197
5350
  "properties": {
5198
5351
  "id": {
5199
5352
  "type": "integer",
@@ -5300,19 +5453,19 @@
5300
5453
  "type": "integer",
5301
5454
  "minimum": -1,
5302
5455
  "optional": true,
5303
- "description": "The maximum size in bytes for a single file to upload. Set to -1 if unlimited."
5456
+ "description": "The maximum size in bytes for a single file to upload. Set to <value>-1</value> if unlimited."
5304
5457
  },
5305
5458
  "spaceRemaining": {
5306
5459
  "type": "integer",
5307
5460
  "minimum": -1,
5308
5461
  "optional": true,
5309
- "description": "The amount of remaining space on the cloud provider, in bytes. Set to -1 if unsupported."
5462
+ "description": "The amount of remaining space on the cloud provider, in bytes. Set to <value>-1</value> if unsupported."
5310
5463
  },
5311
5464
  "spaceUsed": {
5312
5465
  "type": "integer",
5313
5466
  "minimum": -1,
5314
5467
  "optional": true,
5315
- "description": "The amount of space already used on the cloud provider, in bytes. Set to -1 if unsupported."
5468
+ "description": "The amount of space already used on the cloud provider, in bytes. Set to <value>-1</value> if unsupported."
5316
5469
  },
5317
5470
  "managementUrl": {
5318
5471
  "type": "string",
@@ -5364,7 +5517,7 @@
5364
5517
  "choices": [
5365
5518
  {
5366
5519
  "type": "string",
5367
- "description": "A name and email address in the format \"Name <email@example.com>\", or just an email address."
5520
+ "description": "A name and email address in the format <value>Name <email@example.com></value>, or just an email address."
5368
5521
  },
5369
5522
  {
5370
5523
  "type": "object",
@@ -5444,7 +5597,7 @@
5444
5597
  "overrideDefaultFcc": {
5445
5598
  "type": "boolean",
5446
5599
  "optional": true,
5447
- "description": "Indicates whether the default fcc setting (defined by the used identity) is being overridden for this message. Setting ``false`` will clear the override. Setting ``true`` will throw an ``ExtensionError``, if ``overrideDefaultFccFolder`` is not set as well."
5600
+ "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."
5448
5601
  },
5449
5602
  "overrideDefaultFccFolder": {
5450
5603
  "choices": [
@@ -5459,7 +5612,7 @@
5459
5612
  }
5460
5613
  ],
5461
5614
  "optional": true,
5462
- "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 ``\"\"`` to not save a copy at all."
5615
+ "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."
5463
5616
  },
5464
5617
  "additionalFccFolder": {
5465
5618
  "choices": [
@@ -5473,7 +5626,7 @@
5473
5626
  ]
5474
5627
  }
5475
5628
  ],
5476
- "description": "An additional fcc folder which can be selected while composing the message, ``\"\"`` if not used.",
5629
+ "description": "An additional fcc folder which can be selected while composing the message, an empty string if not used.",
5477
5630
  "optional": true
5478
5631
  },
5479
5632
  "replyTo": {
@@ -5501,7 +5654,7 @@
5501
5654
  "optional": true
5502
5655
  },
5503
5656
  "relatedMessageId": {
5504
- "description": "The id of the original message (in case of draft, template, forward or reply). Read-only. Is <code>null</code> in all other cases or if the original message was opened from file.",
5657
+ "description": "The id of the original message (in case of draft, template, forward or reply). Read-only. Is <value>null</value> in all other cases or if the original message was opened from file.",
5505
5658
  "type": "integer",
5506
5659
  "optional": true
5507
5660
  },
@@ -5544,7 +5697,7 @@
5544
5697
  "html",
5545
5698
  "both"
5546
5699
  ],
5547
- "description": "Defines the mime format of the sent message (ignored on plain text messages). Defaults to ``auto``, which will send html messages as plain text, if they do not include any formatting, and as ``both`` otherwise (a multipart/mixed message).",
5700
+ "description": "Defines the mime format of the sent message (ignored on plain text messages). Defaults to <value>auto</value>, which will send html messages as plain text, if they do not include any formatting, and as <value>both</value> otherwise (a multipart/mixed message).",
5548
5701
  "optional": true
5549
5702
  },
5550
5703
  "customHeaders": {
@@ -5552,7 +5705,7 @@
5552
5705
  "items": {
5553
5706
  "$ref": "CustomHeader"
5554
5707
  },
5555
- "description": "Array of custom headers. Headers will be returned in ``Http-Header-Case`` (a.k.a. ``Train-Case``). Set an empty array to clear all custom headers.",
5708
+ "description": "Array of custom headers. Headers will be returned in <em>Http-Header-Case</em> (a.k.a. <em>Train-Case</em>). Set an empty array to clear all custom headers.",
5556
5709
  "optional": true
5557
5710
  },
5558
5711
  "priority": {
@@ -5570,7 +5723,7 @@
5570
5723
  "returnReceipt": {
5571
5724
  "type": "boolean",
5572
5725
  "optional": true,
5573
- "description": "Add the ``Disposition-Notification-To`` header to the message to requests the recipients email client to send a reply once the message has been received. Recipient server may strip the header and the recipient might ignore the request."
5726
+ "description": "Add the <em>Disposition-Notification-To</em> header to the message to requests the recipients email client to send a reply once the message has been received. Recipient server may strip the header and the recipient might ignore the request."
5574
5727
  },
5575
5728
  "deliveryStatusNotification": {
5576
5729
  "type": "boolean",
@@ -5646,7 +5799,7 @@
5646
5799
  "properties": {
5647
5800
  "name": {
5648
5801
  "type": "string",
5649
- "description": "Name of a custom header, must have a ``X-`` prefix.",
5802
+ "description": "Name of a custom header, must have a <value>X-</value> prefix.",
5650
5803
  "pattern": "^X-.*$"
5651
5804
  },
5652
5805
  "value": {
@@ -5660,14 +5813,14 @@
5660
5813
  "additionalProperties": {
5661
5814
  "type": "boolean"
5662
5815
  },
5663
- "description": "Object with language identifiers of all installed dictionaries as keys (for example ``en-US``) and a boolean value, indicating whether that dictionary is enabled for spellchecking or not."
5816
+ "description": "A <em>dictionary object</em> with entries for all installed dictionaries, having a language identifier as <em>key</em> (for example <value>en-US</value>) and a boolean expression as <em>value</em>, indicating whether that dictionary is enabled for spellchecking or not."
5664
5817
  }
5665
5818
  ],
5666
5819
  "events": [
5667
5820
  {
5668
5821
  "name": "onBeforeSend",
5669
5822
  "type": "function",
5670
- "description": "Fired when a message is about to be sent from the compose window. This is a user input event handler. For asynchronous listeners some `restrictions <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/User_actions>`__ apply.",
5823
+ "description": "Fired when a message is about to be sent from the compose window. This is a user input event handler. For asynchronous listeners some `restrictions <|link-user-input-restrictions|>`__ apply.",
5671
5824
  "permissions": [
5672
5825
  "compose"
5673
5826
  ],
@@ -6029,7 +6182,7 @@
6029
6182
  "name": "getActiveDictionaries",
6030
6183
  "type": "function",
6031
6184
  "async": "callback",
6032
- "description": "Returns a :ref:`ComposeDictionaries` object, listing all installed dictionaries, including the information whether they are currently enabled or not.",
6185
+ "description": "Returns a :ref:`compose.ComposeDictionaries` object, listing all installed dictionaries, including the information whether they are currently enabled or not.",
6033
6186
  "permissions": [
6034
6187
  "compose"
6035
6188
  ],
@@ -6105,7 +6258,7 @@
6105
6258
  {
6106
6259
  "name": "getAttachmentFile",
6107
6260
  "type": "function",
6108
- "description": "Gets the content of a :ref:`compose.ComposeAttachment` as a DOM <code>File</code> object.",
6261
+ "description": "Gets the content of a :ref:`compose.ComposeAttachment` as a |File| object.",
6109
6262
  "async": "callback",
6110
6263
  "parameters": [
6111
6264
  {
@@ -6166,7 +6319,7 @@
6166
6319
  {
6167
6320
  "name": "updateAttachment",
6168
6321
  "type": "function",
6169
- "description": "Updates the name and/or the content of an attachment in the message being composed in the specified tab. If the specified attachment is a cloud file attachment and the associated provider failed to update the attachment, the function will throw an ``ExtensionError``.",
6322
+ "description": "Updates the name and/or the content of an attachment in the message being composed in the specified tab. If the specified attachment is a cloud file attachment and the associated provider failed to update the attachment, the function will throw an <em>ExtensionError</em>.",
6170
6323
  "permissions": [
6171
6324
  "compose"
6172
6325
  ],
@@ -6221,7 +6374,7 @@
6221
6374
  "compose.send"
6222
6375
  ],
6223
6376
  "type": "function",
6224
- "description": "Sends the message currently being composed. If the send mode is not specified or set to ``default``, the message will be send directly if the user is online and placed in the users outbox otherwise. The returned Promise fulfills once the message has been successfully sent or placed in the user's outbox. Throws when the send process has been aborted by the user, by an :ref:`onBeforeSend` event or if there has been an error while sending the message to the outgoing mail server.",
6377
+ "description": "Sends the message currently being composed. If the send mode is not specified or set to <value>default</value>, the message will be send directly if the user is online and placed in the users outbox otherwise. The returned Promise fulfills once the message has been successfully sent or placed in the user's outbox. Throws when the send process has been aborted by the user, by an :ref:`compose.onBeforeSend` event or if there has been an error while sending the message to the outgoing mail server.",
6225
6378
  "async": "callback",
6226
6379
  "parameters": [
6227
6380
  {
@@ -6376,19 +6529,19 @@
6376
6529
  "properties": {
6377
6530
  "default_label": {
6378
6531
  "type": "string",
6379
- "description": "The label of the composeAction, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
6532
+ "description": "The label of the composeAction button, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
6380
6533
  "optional": true,
6381
6534
  "preprocess": "localize"
6382
6535
  },
6383
6536
  "default_title": {
6384
6537
  "type": "string",
6385
- "description": "The title of the composeAction. This shows up in the tooltip and the label. Defaults to the add-on name.",
6538
+ "description": "The title of the composeAction button. This shows up in the tooltip and the label. Defaults to the add-on name.",
6386
6539
  "optional": true,
6387
6540
  "preprocess": "localize"
6388
6541
  },
6389
6542
  "default_icon": {
6390
6543
  "$ref": "IconPath",
6391
- "description": "The icon for the composeAction.",
6544
+ "description": "The paths to one or more icons for the composeAction button.",
6392
6545
  "optional": true
6393
6546
  },
6394
6547
  "theme_icons": {
@@ -6404,17 +6557,17 @@
6404
6557
  "type": "string",
6405
6558
  "format": "relativeUrl",
6406
6559
  "optional": true,
6407
- "description": "The html document to be opened as a popup when the user clicks on the composeAction's icon.",
6560
+ "description": "The html document to be opened as a popup when the user clicks on the composeAction button.",
6408
6561
  "preprocess": "localize"
6409
6562
  },
6410
6563
  "browser_style": {
6411
6564
  "type": "boolean",
6412
6565
  "optional": true,
6413
- "description": "Enable browser styles. See the `MDN documentation on browser styles <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information.",
6566
+ "description": "Enable browser styles. See the `MDN documentation on browser styles <|link-mdn-browser-styles|>`__ for more information.",
6414
6567
  "default": false
6415
6568
  },
6416
6569
  "default_area": {
6417
- "description": "Defines the location the composeAction will appear. The default location is ``maintoolbar``.",
6570
+ "description": "Defines the location the composeAction button will appear. The default location is <value>maintoolbar</value>.",
6418
6571
  "type": "string",
6419
6572
  "enum": [
6420
6573
  "maintoolbar",
@@ -6431,33 +6584,14 @@
6431
6584
  },
6432
6585
  {
6433
6586
  "namespace": "composeAction",
6434
- "description": "Use a composeAction to put an icon in the message composition toolbars. In addition to its icon, a composeAction can also have a tooltip, a badge, and a popup.",
6587
+ "description": "Use a composeAction to put a button in the message composition toolbars. In addition to its icon, a composeAction button can also have a tooltip, a badge, and a popup.",
6435
6588
  "permissions": [
6436
6589
  "manifest:compose_action"
6437
6590
  ],
6438
6591
  "types": [
6439
- {
6440
- "id": "Details",
6441
- "type": "object",
6442
- "description": "Specifies to which tab or window the value should be set, or from which one it should be retrieved. If no tab nor window is specified, the global value is set or retrieved.",
6443
- "properties": {
6444
- "tabId": {
6445
- "type": "integer",
6446
- "optional": true,
6447
- "minimum": 0,
6448
- "description": "When setting a value, it will be specific to the specified tab, and will automatically reset when the tab navigates. When getting, specifies the tab to get the value from; if there is no tab-specific value, the window one will be inherited."
6449
- },
6450
- "windowId": {
6451
- "type": "integer",
6452
- "optional": true,
6453
- "minimum": -2,
6454
- "description": "When setting a value, it will be specific to the specified window. When getting, specifies the window to get the value from; if there is no window-specific value, the global one will be inherited."
6455
- }
6456
- }
6457
- },
6458
6592
  {
6459
6593
  "id": "ColorArray",
6460
- "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <code>[255, 0, 0, 255]</code>.",
6594
+ "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <value>[255, 0, 0, 255]</value>.",
6461
6595
  "type": "array",
6462
6596
  "items": {
6463
6597
  "type": "integer",
@@ -6475,12 +6609,12 @@
6475
6609
  "type": "any"
6476
6610
  },
6477
6611
  "postprocess": "convertImageDataToURL",
6478
- "description": "Pixel data for an image. Must be an ImageData object (for example, from a <code>canvas</code> element)."
6612
+ "description": "Pixel data for an image. Must be an |ImageData| object (for example, from a |Canvas| element)."
6479
6613
  },
6480
6614
  {
6481
6615
  "id": "ImageDataDictionary",
6482
6616
  "type": "object",
6483
- "description": "A ``{size: ImageDataType}`` dictionary representing the icon to be set. The actual :ref:`composeAction.ImageDataType` to be used is chosen depending on the screen's pixel density. See the `MDN documentation on browser styles <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information on this. At least one :ref:`composeAction.ImageDataType` must be specified.",
6617
+ "description": "A <em>dictionary object</em> to specify multiple |ImageData| objects in different sizes, so the icon does not have to be scaled for a device with a different pixel density. Each entry is a <em>name-value</em> pair with <em>value</em> being an |ImageData| object, and <em>name</em> its size. Example: <literalinclude>includes/ImageDataDictionary.json<lang>JavaScript</lang></literalinclude>See the `MDN documentation about choosing icon sizes <|link-mdn-icon-size|>`__ for more information on this.",
6484
6618
  "patternProperties": {
6485
6619
  "^[1-9]\\d*$": {
6486
6620
  "$ref": "ImageDataType"
@@ -6490,7 +6624,7 @@
6490
6624
  {
6491
6625
  "id": "OnClickData",
6492
6626
  "type": "object",
6493
- "description": "Information sent when a compose action is clicked.",
6627
+ "description": "Information sent when a composeAction button is clicked.",
6494
6628
  "properties": {
6495
6629
  "modifiers": {
6496
6630
  "type": "array",
@@ -6518,13 +6652,12 @@
6518
6652
  {
6519
6653
  "name": "setTitle",
6520
6654
  "type": "function",
6521
- "description": "Sets the title of the composeAction. This shows up in the tooltip and the label. Defaults to the add-on name.",
6655
+ "description": "Sets the title of the composeAction button. Is used as tooltip and as the label.",
6522
6656
  "async": "callback",
6523
6657
  "parameters": [
6524
6658
  {
6525
6659
  "name": "details",
6526
6660
  "type": "object",
6527
- "$import": "Details",
6528
6661
  "properties": {
6529
6662
  "title": {
6530
6663
  "choices": [
@@ -6535,7 +6668,20 @@
6535
6668
  "type": "null"
6536
6669
  }
6537
6670
  ],
6538
- "description": "The string the composeAction should display as its label and when moused over."
6671
+ "description": "A string the composeAction button should display as its label and when moused over. Cleared by setting it to <value>null</value> or an empty string (title defined the manifest will be used)."
6672
+ },
6673
+ "tabId": {
6674
+ "type": "integer",
6675
+ "optional": true,
6676
+ "minimum": 0,
6677
+ "description": "Sets the title only for the given tab."
6678
+ },
6679
+ "windowId": {
6680
+ "type": "integer",
6681
+ "optional": true,
6682
+ "minimum": -2,
6683
+ "unsupported": true,
6684
+ "description": "Will throw an error if used."
6539
6685
  }
6540
6686
  }
6541
6687
  },
@@ -6550,12 +6696,27 @@
6550
6696
  {
6551
6697
  "name": "getTitle",
6552
6698
  "type": "function",
6553
- "description": "Gets the title of the composeAction.",
6699
+ "description": "Gets the title of the composeAction button.",
6554
6700
  "async": "callback",
6555
6701
  "parameters": [
6556
6702
  {
6557
6703
  "name": "details",
6558
- "$ref": "Details"
6704
+ "type": "object",
6705
+ "properties": {
6706
+ "tabId": {
6707
+ "type": "integer",
6708
+ "optional": true,
6709
+ "minimum": 0,
6710
+ "description": "Specifies for which tab the title should be retrieved. If no tab is specified, the global value is retrieved."
6711
+ },
6712
+ "windowId": {
6713
+ "type": "integer",
6714
+ "optional": true,
6715
+ "minimum": -2,
6716
+ "unsupported": true,
6717
+ "description": "Will throw an error if used."
6718
+ }
6719
+ }
6559
6720
  },
6560
6721
  {
6561
6722
  "type": "function",
@@ -6572,13 +6733,12 @@
6572
6733
  {
6573
6734
  "name": "setLabel",
6574
6735
  "type": "function",
6575
- "description": "Sets the label of the composeAction, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
6736
+ "description": "Sets the label of the composeAction button. Can be used to set different values for the tooltip (defined by the title) and the label. Additionally, the label can be set to an empty string, not showing any label at all.",
6576
6737
  "async": "callback",
6577
6738
  "parameters": [
6578
6739
  {
6579
6740
  "name": "details",
6580
6741
  "type": "object",
6581
- "$import": "Details",
6582
6742
  "properties": {
6583
6743
  "label": {
6584
6744
  "choices": [
@@ -6589,7 +6749,20 @@
6589
6749
  "type": "null"
6590
6750
  }
6591
6751
  ],
6592
- "description": "The string the composeAction should use as label. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback."
6752
+ "description": "A string the composeAction button should use as its label, overriding the defined title. Can be set to an empty string to not display any label at all. If the containing toolbar is configured to display text only, its title will be used. Cleared by setting it to <value>null</value>."
6753
+ },
6754
+ "tabId": {
6755
+ "type": "integer",
6756
+ "optional": true,
6757
+ "minimum": 0,
6758
+ "description": "Sets the label only for the given tab."
6759
+ },
6760
+ "windowId": {
6761
+ "type": "integer",
6762
+ "optional": true,
6763
+ "minimum": -2,
6764
+ "unsupported": true,
6765
+ "description": "Will throw an error if used."
6593
6766
  }
6594
6767
  }
6595
6768
  },
@@ -6604,12 +6777,27 @@
6604
6777
  {
6605
6778
  "name": "getLabel",
6606
6779
  "type": "function",
6607
- "description": "Gets the label of the composeAction.",
6780
+ "description": "Gets the label of the composeAction button.",
6608
6781
  "async": "callback",
6609
6782
  "parameters": [
6610
6783
  {
6611
6784
  "name": "details",
6612
- "$ref": "Details"
6785
+ "type": "object",
6786
+ "properties": {
6787
+ "tabId": {
6788
+ "type": "integer",
6789
+ "optional": true,
6790
+ "minimum": 0,
6791
+ "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global label is retrieved."
6792
+ },
6793
+ "windowId": {
6794
+ "type": "integer",
6795
+ "optional": true,
6796
+ "minimum": -2,
6797
+ "unsupported": true,
6798
+ "description": "Will throw an error if used."
6799
+ }
6800
+ }
6613
6801
  },
6614
6802
  {
6615
6803
  "type": "function",
@@ -6626,13 +6814,12 @@
6626
6814
  {
6627
6815
  "name": "setIcon",
6628
6816
  "type": "function",
6629
- "description": "Sets the icon for the composeAction. The icon can be specified either as the path to an image file or as the pixel data from a canvas element, or as dictionary of either one of those. Either the <b>path</b> or the <b>imageData</b> property must be specified.",
6817
+ "description": "Sets the icon for the composeAction button. Either the ``path`` or the ``imageData`` property must be specified.",
6630
6818
  "async": "callback",
6631
6819
  "parameters": [
6632
6820
  {
6633
6821
  "name": "details",
6634
6822
  "type": "object",
6635
- "$import": "Details",
6636
6823
  "properties": {
6637
6824
  "imageData": {
6638
6825
  "choices": [
@@ -6644,12 +6831,25 @@
6644
6831
  }
6645
6832
  ],
6646
6833
  "optional": true,
6647
- "description": "Either an ImageDataType object defining a single icon used for all sizes or an ImageDataDictionary object defining dedicated icons for different sizes. At least the ``16px`` icon should be specified. The ``32px`` icon will be used on screens with a very high pixel density, if specified."
6834
+ "description": "The image data for one or more icons for the composeAction button."
6648
6835
  },
6649
6836
  "path": {
6650
6837
  "$ref": "manifest.IconPath",
6651
6838
  "optional": true,
6652
- "description": "The icon for the composeAction."
6839
+ "description": "The paths to one or more icons for the composeAction button."
6840
+ },
6841
+ "tabId": {
6842
+ "type": "integer",
6843
+ "optional": true,
6844
+ "minimum": 0,
6845
+ "description": "Sets the icon only for the given tab."
6846
+ },
6847
+ "windowId": {
6848
+ "type": "integer",
6849
+ "optional": true,
6850
+ "minimum": -2,
6851
+ "unsupported": true,
6852
+ "description": "Will throw an error if used."
6653
6853
  }
6654
6854
  }
6655
6855
  },
@@ -6664,13 +6864,12 @@
6664
6864
  {
6665
6865
  "name": "setPopup",
6666
6866
  "type": "function",
6667
- "description": "Sets the html document to be opened as a popup when the user clicks on the composeAction's icon.",
6867
+ "description": "Sets the html document to be opened as a popup when the user clicks on the composeAction button.",
6668
6868
  "async": "callback",
6669
6869
  "parameters": [
6670
6870
  {
6671
6871
  "name": "details",
6672
6872
  "type": "object",
6673
- "$import": "Details",
6674
6873
  "properties": {
6675
6874
  "popup": {
6676
6875
  "choices": [
@@ -6681,7 +6880,20 @@
6681
6880
  "type": "null"
6682
6881
  }
6683
6882
  ],
6684
- "description": "The html file to show in a popup. If set to the empty string (''), no popup is shown."
6883
+ "description": "The html file to show in a popup. Can be set to an empty string to not open a popup. Cleared by setting it to <value>null</value> (action will use the popup value defined in the manifest)."
6884
+ },
6885
+ "tabId": {
6886
+ "type": "integer",
6887
+ "optional": true,
6888
+ "minimum": 0,
6889
+ "description": "Sets the popup only for the given tab."
6890
+ },
6891
+ "windowId": {
6892
+ "type": "integer",
6893
+ "optional": true,
6894
+ "minimum": -2,
6895
+ "unsupported": true,
6896
+ "description": "Will throw an error if used."
6685
6897
  }
6686
6898
  }
6687
6899
  },
@@ -6696,12 +6908,27 @@
6696
6908
  {
6697
6909
  "name": "getPopup",
6698
6910
  "type": "function",
6699
- "description": "Gets the html document set as the popup for this composeAction.",
6911
+ "description": "Gets the html document set as the popup for this composeAction button.",
6700
6912
  "async": "callback",
6701
6913
  "parameters": [
6702
6914
  {
6703
6915
  "name": "details",
6704
- "$ref": "Details"
6916
+ "type": "object",
6917
+ "properties": {
6918
+ "tabId": {
6919
+ "type": "integer",
6920
+ "optional": true,
6921
+ "minimum": 0,
6922
+ "description": "Specifies for which tab the popup document should be retrieved. If no tab is specified, the global value is retrieved."
6923
+ },
6924
+ "windowId": {
6925
+ "type": "integer",
6926
+ "optional": true,
6927
+ "minimum": -2,
6928
+ "unsupported": true,
6929
+ "description": "Will throw an error if used."
6930
+ }
6931
+ }
6705
6932
  },
6706
6933
  {
6707
6934
  "type": "function",
@@ -6718,13 +6945,12 @@
6718
6945
  {
6719
6946
  "name": "setBadgeText",
6720
6947
  "type": "function",
6721
- "description": "Sets the badge text for the composeAction. The badge is displayed on top of the icon.",
6948
+ "description": "Sets the badge text for the composeAction button. The badge is displayed on top of the icon.",
6722
6949
  "async": "callback",
6723
6950
  "parameters": [
6724
6951
  {
6725
6952
  "name": "details",
6726
6953
  "type": "object",
6727
- "$import": "Details",
6728
6954
  "properties": {
6729
6955
  "text": {
6730
6956
  "choices": [
@@ -6735,7 +6961,20 @@
6735
6961
  "type": "null"
6736
6962
  }
6737
6963
  ],
6738
- "description": "Any number of characters can be passed, but only about four can fit in the space."
6964
+ "description": "Any number of characters can be passed, but only about four can fit in the space. Cleared by setting it to <value>null</value> or an empty string."
6965
+ },
6966
+ "tabId": {
6967
+ "type": "integer",
6968
+ "optional": true,
6969
+ "minimum": 0,
6970
+ "description": "Sets the badge text only for the given tab."
6971
+ },
6972
+ "windowId": {
6973
+ "type": "integer",
6974
+ "optional": true,
6975
+ "minimum": -2,
6976
+ "unsupported": true,
6977
+ "description": "Will throw an error if used."
6739
6978
  }
6740
6979
  }
6741
6980
  },
@@ -6750,12 +6989,27 @@
6750
6989
  {
6751
6990
  "name": "getBadgeText",
6752
6991
  "type": "function",
6753
- "description": "Gets the badge text of the composeAction. If no tab nor window is specified, the global badge text is returned.",
6992
+ "description": "Gets the badge text of the composeAction button.",
6754
6993
  "async": "callback",
6755
6994
  "parameters": [
6756
6995
  {
6757
6996
  "name": "details",
6758
- "$ref": "Details"
6997
+ "type": "object",
6998
+ "properties": {
6999
+ "tabId": {
7000
+ "type": "integer",
7001
+ "optional": true,
7002
+ "minimum": 0,
7003
+ "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global label is retrieved."
7004
+ },
7005
+ "windowId": {
7006
+ "type": "integer",
7007
+ "optional": true,
7008
+ "minimum": -2,
7009
+ "unsupported": true,
7010
+ "description": "Will throw an error if used."
7011
+ }
7012
+ }
6759
7013
  },
6760
7014
  {
6761
7015
  "type": "function",
@@ -6778,10 +7032,8 @@
6778
7032
  {
6779
7033
  "name": "details",
6780
7034
  "type": "object",
6781
- "$import": "Details",
6782
7035
  "properties": {
6783
7036
  "color": {
6784
- "description": "An array of four integers in the range [0,255] that make up the RGBA color of the badge. For example, opaque red is <code>[255, 0, 0, 255]</code>. Can also be a string with a CSS value, with opaque red being <code>#FF0000</code> or <code>#F00</code>.",
6785
7037
  "choices": [
6786
7038
  {
6787
7039
  "type": "string"
@@ -6792,7 +7044,21 @@
6792
7044
  {
6793
7045
  "type": "null"
6794
7046
  }
6795
- ]
7047
+ ],
7048
+ "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value> or an empty string."
7049
+ },
7050
+ "tabId": {
7051
+ "type": "integer",
7052
+ "optional": true,
7053
+ "minimum": 0,
7054
+ "description": "Sets the background color for the badge only for the given tab."
7055
+ },
7056
+ "windowId": {
7057
+ "type": "integer",
7058
+ "optional": true,
7059
+ "minimum": -2,
7060
+ "unsupported": true,
7061
+ "description": "Will throw an error if used."
6796
7062
  }
6797
7063
  }
6798
7064
  },
@@ -6807,12 +7073,27 @@
6807
7073
  {
6808
7074
  "name": "getBadgeBackgroundColor",
6809
7075
  "type": "function",
6810
- "description": "Gets the background color of the composeAction.",
7076
+ "description": "Gets the badge background color of the composeAction button.",
6811
7077
  "async": "callback",
6812
7078
  "parameters": [
6813
7079
  {
6814
7080
  "name": "details",
6815
- "$ref": "Details"
7081
+ "type": "object",
7082
+ "properties": {
7083
+ "tabId": {
7084
+ "type": "integer",
7085
+ "optional": true,
7086
+ "minimum": 0,
7087
+ "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global label is retrieved."
7088
+ },
7089
+ "windowId": {
7090
+ "type": "integer",
7091
+ "optional": true,
7092
+ "minimum": -2,
7093
+ "unsupported": true,
7094
+ "description": "Will throw an error if used."
7095
+ }
7096
+ }
6816
7097
  },
6817
7098
  {
6818
7099
  "type": "function",
@@ -6829,7 +7110,7 @@
6829
7110
  {
6830
7111
  "name": "enable",
6831
7112
  "type": "function",
6832
- "description": "Enables the composeAction for a tab. By default, a composeAction is enabled.",
7113
+ "description": "Enables the composeAction button for a tab. By default, a composeAction button is enabled.",
6833
7114
  "async": "callback",
6834
7115
  "parameters": [
6835
7116
  {
@@ -6837,7 +7118,7 @@
6837
7118
  "optional": true,
6838
7119
  "name": "tabId",
6839
7120
  "minimum": 0,
6840
- "description": "The id of the tab for which you want to modify the composeAction."
7121
+ "description": "The id of the tab for which you want to modify the composeAction button."
6841
7122
  },
6842
7123
  {
6843
7124
  "type": "function",
@@ -6850,7 +7131,7 @@
6850
7131
  {
6851
7132
  "name": "disable",
6852
7133
  "type": "function",
6853
- "description": "Disables the composeAction for a tab.",
7134
+ "description": "Disables the composeAction button for a tab.",
6854
7135
  "async": "callback",
6855
7136
  "parameters": [
6856
7137
  {
@@ -6858,7 +7139,7 @@
6858
7139
  "optional": true,
6859
7140
  "name": "tabId",
6860
7141
  "minimum": 0,
6861
- "description": "The id of the tab for which you want to modify the composeAction."
7142
+ "description": "The id of the tab for which you want to modify the composeAction button."
6862
7143
  },
6863
7144
  {
6864
7145
  "type": "function",
@@ -6871,12 +7152,27 @@
6871
7152
  {
6872
7153
  "name": "isEnabled",
6873
7154
  "type": "function",
6874
- "description": "Checks whether the composeAction is enabled.",
7155
+ "description": "Checks whether the composeAction button is enabled.",
6875
7156
  "async": "callback",
6876
7157
  "parameters": [
6877
7158
  {
6878
7159
  "name": "details",
6879
- "$ref": "Details"
7160
+ "type": "object",
7161
+ "properties": {
7162
+ "tabId": {
7163
+ "type": "integer",
7164
+ "optional": true,
7165
+ "minimum": 0,
7166
+ "description": "Specifies for which tab the state should be retrieved. If no tab is specified, the global value is retrieved."
7167
+ },
7168
+ "windowId": {
7169
+ "type": "integer",
7170
+ "optional": true,
7171
+ "minimum": -2,
7172
+ "unsupported": true,
7173
+ "description": "Will throw an error if used."
7174
+ }
7175
+ }
6880
7176
  },
6881
7177
  {
6882
7178
  "type": "function",
@@ -6894,7 +7190,7 @@
6894
7190
  "name": "openPopup",
6895
7191
  "type": "function",
6896
7192
  "requireUserInput": true,
6897
- "description": "Opens the extension popup window in the active window.",
7193
+ "description": "Opens the action's popup window in the active window.",
6898
7194
  "async": true,
6899
7195
  "parameters": []
6900
7196
  }
@@ -6903,7 +7199,7 @@
6903
7199
  {
6904
7200
  "name": "onClicked",
6905
7201
  "type": "function",
6906
- "description": "Fired when a composeAction icon is clicked. This event will not fire if the composeAction has a popup. This is a user input event handler. For asynchronous listeners some `restrictions <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/User_actions>`__ apply.",
7202
+ "description": "Fired when a composeAction button is clicked. This event will not fire if the composeAction has a popup. This is a user input event handler. For asynchronous listeners some `restrictions <|link-user-input-restrictions|>`__ apply.",
6907
7203
  "parameters": [
6908
7204
  {
6909
7205
  "name": "tab",
@@ -7252,7 +7548,7 @@
7252
7548
  "permissions": [
7253
7549
  "accountsFolders"
7254
7550
  ],
7255
- "description": "Copies the given ``sourceFolder`` into the given ``destination``. Throws if the destination already contains a folder with the name of the source folder.",
7551
+ "description": "Copies the given ``sourceFolder`` into the given ``destination``. Throws if the destination already contains a folder with the name of the source folder.",
7256
7552
  "async": "callback",
7257
7553
  "parameters": [
7258
7554
  {
@@ -7332,7 +7628,7 @@
7332
7628
  },
7333
7629
  {
7334
7630
  "name": "includeSubFolders",
7335
- "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each parent folder should include its nested subfolders . Defaults to ``false``.",
7631
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each parent folder should include its nested subfolders . Defaults to <value>false</value>.",
7336
7632
  "optional": true,
7337
7633
  "default": false,
7338
7634
  "type": "boolean"
@@ -7371,7 +7667,7 @@
7371
7667
  },
7372
7668
  {
7373
7669
  "name": "includeSubFolders",
7374
- "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each direct subfolder should also include all its nested subfolders . Defaults to ``true``.",
7670
+ "description": "Specifies whether the returned :ref:`folders.MailFolder` object for each direct subfolder should also include all its nested subfolders . Defaults to <value>true</value>.",
7375
7671
  "optional": true,
7376
7672
  "default": true,
7377
7673
  "type": "boolean"
@@ -7588,7 +7884,7 @@
7588
7884
  {
7589
7885
  "name": "get",
7590
7886
  "type": "function",
7591
- "description": "Returns details of the requested identity, or null if it doesn't exist.",
7887
+ "description": "Returns details of the requested identity, or <value>null</value> if it doesn't exist.",
7592
7888
  "async": "callback",
7593
7889
  "parameters": [
7594
7890
  {
@@ -7684,7 +7980,7 @@
7684
7980
  {
7685
7981
  "name": "getDefault",
7686
7982
  "type": "function",
7687
- "description": "Returns the default identity for the requested account, or null if it is not defined.",
7983
+ "description": "Returns the default identity for the requested account, or <value>null</value> if it is not defined.",
7688
7984
  "async": "callback",
7689
7985
  "parameters": [
7690
7986
  {
@@ -7857,26 +8153,26 @@
7857
8153
  "properties": {
7858
8154
  "text": {
7859
8155
  "type": "string",
7860
- "description": "String to match against the <var>recipients</var>, <var>author</var>, <var>subject</var>, or <var>body</var>."
8156
+ "description": "String to match against the ``recipients``, ``author``, ``subject``, or ``body``."
7861
8157
  },
7862
8158
  "recipients": {
7863
8159
  "type": "boolean",
7864
- "description": "Shows messages where <var>text</var> matches the recipients.",
8160
+ "description": "Shows messages where ``text`` matches the recipients.",
7865
8161
  "optional": true
7866
8162
  },
7867
8163
  "author": {
7868
8164
  "type": "boolean",
7869
- "description": "Shows messages where <var>text</var> matches the author.",
8165
+ "description": "Shows messages where ``text`` matches the author.",
7870
8166
  "optional": true
7871
8167
  },
7872
8168
  "subject": {
7873
8169
  "type": "boolean",
7874
- "description": "Shows messages where <var>text</var> matches the subject.",
8170
+ "description": "Shows messages where ``text`` matches the subject.",
7875
8171
  "optional": true
7876
8172
  },
7877
8173
  "body": {
7878
8174
  "type": "boolean",
7879
- "description": "Shows messages where <var>text</var> matches the message body.",
8175
+ "description": "Shows messages where ``text`` matches the message body.",
7880
8176
  "optional": true
7881
8177
  }
7882
8178
  }
@@ -7976,7 +8272,7 @@
7976
8272
  {
7977
8273
  "name": "update",
7978
8274
  "type": "function",
7979
- "description": "Modifies the properties of a mail tab. Properties that are not specified in <var>updateProperties</var> are not modified.",
8275
+ "description": "Modifies the properties of a mail tab. Properties that are not specified in ``updateProperties`` are not modified.",
7980
8276
  "async": true,
7981
8277
  "parameters": [
7982
8278
  {
@@ -7997,7 +8293,7 @@
7997
8293
  },
7998
8294
  "sortType": {
7999
8295
  "type": "string",
8000
- "description": "Sorts the list of messages. <var>sortOrder</var> must also be given.",
8296
+ "description": "Sorts the list of messages. ``sortOrder`` must also be given.",
8001
8297
  "optional": true,
8002
8298
  "enum": [
8003
8299
  "none",
@@ -8024,7 +8320,7 @@
8024
8320
  },
8025
8321
  "sortOrder": {
8026
8322
  "type": "string",
8027
- "description": "Sorts the list of messages. <var>sortType</var> must also be given.",
8323
+ "description": "Sorts the list of messages. ``sortType`` must also be given.",
8028
8324
  "optional": true,
8029
8325
  "enum": [
8030
8326
  "none",
@@ -8257,7 +8553,7 @@
8257
8553
  "permissions": [
8258
8554
  "menus"
8259
8555
  ],
8260
- "description": "Use the browser.menus API to add items to the browser's menus. You can choose what types of objects your context menu additions apply to, such as images, hyperlinks, and pages.",
8556
+ "description": "The menus API allows to add items to Thunderbirds menus. You can choose what types of objects your context menu additions apply to, such as images, hyperlinks, and pages.",
8261
8557
  "properties": {
8262
8558
  "ACTION_MENU_TOP_LEVEL_LIMIT": {
8263
8559
  "value": 6,
@@ -8290,7 +8586,7 @@
8290
8586
  "all_message_attachments",
8291
8587
  "tools_menu"
8292
8588
  ],
8293
- "description": "The different contexts a menu can appear in. Specifying <code>all</code> is equivalent to the combination of all other contexts excluding <code>tab</code> and <code>tools_menu</code>. More information about each context can be found in the `Supported UI Elements <https://developer.thunderbird.net/add-ons/mailextensions/supported-ui-elements#menu-items>`__ article on developer.thunderbird.net."
8589
+ "description": "The different contexts a menu can appear in. Specifying <value>all</value> is equivalent to the combination of all other contexts excluding <value>tab</value> and <value>tools_menu</value>. More information about each context can be found in the `Supported UI Elements <|link-ui-elements|>`__ article on developer.thunderbird.net."
8294
8590
  },
8295
8591
  {
8296
8592
  "id": "ItemType",
@@ -8336,7 +8632,7 @@
8336
8632
  "mediaType": {
8337
8633
  "type": "string",
8338
8634
  "optional": true,
8339
- "description": "One of 'image', 'video', or 'audio' if the context menu was activated on one of these types of elements."
8635
+ "description": "One of <value>image</value>, <value>video</value>, or <value>audio</value> if the context menu was activated on one of these types of elements."
8340
8636
  },
8341
8637
  "viewType": {
8342
8638
  "$ref": "extension.ViewType",
@@ -8355,7 +8651,7 @@
8355
8651
  },
8356
8652
  "srcUrl": {
8357
8653
  "type": "string",
8358
- "description": "Will be present for elements with a 'src' URL. **Note:** Host permission is required.",
8654
+ "description": "Will be present for elements with a <em>src</em> URL. **Note:** Host permission is required.",
8359
8655
  "optional": true
8360
8656
  },
8361
8657
  "pageUrl": {
@@ -8376,7 +8672,7 @@
8376
8672
  "targetElementId": {
8377
8673
  "type": "integer",
8378
8674
  "optional": true,
8379
- "description": "An identifier of the clicked content element, if any. Use menus.getTargetElement in the page to find the corresponding element."
8675
+ "description": "An identifier of the clicked content element, if any. Use :ref:`menus.getTargetElement` in the page to find the corresponding element."
8380
8676
  },
8381
8677
  "fieldId": {
8382
8678
  "type": "string",
@@ -8463,7 +8759,7 @@
8463
8759
  "mediaType": {
8464
8760
  "type": "string",
8465
8761
  "optional": true,
8466
- "description": "One of 'image', 'video', or 'audio' if the context menu was activated on one of these types of elements."
8762
+ "description": "One of <value>image</value>, <value>video</value>, or <value>audio</value> if the context menu was activated on one of these types of elements."
8467
8763
  },
8468
8764
  "viewType": {
8469
8765
  "$ref": "extension.ViewType",
@@ -8483,7 +8779,7 @@
8483
8779
  "srcUrl": {
8484
8780
  "type": "string",
8485
8781
  "optional": true,
8486
- "description": "Will be present for elements with a 'src' URL."
8782
+ "description": "Will be present for elements with a <em>src</em> URL."
8487
8783
  },
8488
8784
  "pageUrl": {
8489
8785
  "type": "string",
@@ -8538,7 +8834,7 @@
8538
8834
  "targetElementId": {
8539
8835
  "type": "integer",
8540
8836
  "optional": true,
8541
- "description": "An identifier of the clicked content element, if any. Use menus.getTargetElement in the page to find the corresponding element."
8837
+ "description": "An identifier of the clicked content element, if any. Use :ref:`menus.getTargetElement` in the page to find the corresponding element."
8542
8838
  },
8543
8839
  "fieldId": {
8544
8840
  "type": "string",
@@ -8595,7 +8891,7 @@
8595
8891
  {
8596
8892
  "name": "create",
8597
8893
  "type": "function",
8598
- "description": "Creates a new context menu item. Note that if an error occurs during creation, you may not find out until the creation callback fires (the details will be in `runtime.lastError <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/lastError>`_).",
8894
+ "description": "Creates a new context menu item. Note that if an error occurs during creation, you may not find out until the creation callback fires (the details will be in `runtime.lastError <|link-runtime-last-error|>`__).",
8599
8895
  "returns": {
8600
8896
  "choices": [
8601
8897
  {
@@ -8615,7 +8911,7 @@
8615
8911
  "type": {
8616
8912
  "$ref": "ItemType",
8617
8913
  "optional": true,
8618
- "description": "The type of menu item. Defaults to 'normal' if not specified."
8914
+ "description": "The type of menu item. Defaults to <value>normal</value> if not specified."
8619
8915
  },
8620
8916
  "id": {
8621
8917
  "type": "string",
@@ -8630,12 +8926,12 @@
8630
8926
  "title": {
8631
8927
  "type": "string",
8632
8928
  "optional": true,
8633
- "description": "The text to be displayed in the item; this is <em>required</em> unless <code>type</code> is 'separator'. When the context is 'selection', you can use <code>%s</code> within the string to show the selected text. For example, if this parameter's value is \"Translate '%s' to Pig Latin\" and the user selects the word \"cool\", the context menu item for the selection is \"Translate 'cool' to Pig Latin\". To specify an access key for the new menu entry, include a <code>&</code> before the desired letter in the title. For example \"&Help\"."
8929
+ "description": "The text to be displayed in the item; this is <em>required</em> unless ``type`` is <value>separator</value>. When the context is <value>selection</value>, you can use <value>%s</value> within the string to show the selected text. For example, if this parameter's value is <value>Translate '%s' to Latin</value> and the user selects the word <value>cool</value>, the context menu item for the selection is <value>Translate 'cool' to Latin</value>. To specify an access key for the new menu entry, include a <value>&</value> before the desired letter in the title. For example <value>&Help</value>."
8634
8930
  },
8635
8931
  "checked": {
8636
8932
  "type": "boolean",
8637
8933
  "optional": true,
8638
- "description": "The initial state of a checkbox or radio item: true for selected and false for unselected. Only one radio item can be selected at a time in a given group of radio items."
8934
+ "description": "The initial state of a checkbox or radio item: <value>true</value> for selected and <value>false</value> for unselected. Only one radio item can be selected at a time in a given group of radio items."
8639
8935
  },
8640
8936
  "contexts": {
8641
8937
  "type": "array",
@@ -8644,7 +8940,7 @@
8644
8940
  },
8645
8941
  "minItems": 1,
8646
8942
  "optional": true,
8647
- "description": "List of contexts this menu item will appear in. Defaults to ['page'] if not specified."
8943
+ "description": "List of contexts this menu item will appear in. Defaults to <value>['page']</value> if not specified."
8648
8944
  },
8649
8945
  "viewTypes": {
8650
8946
  "type": "array",
@@ -8673,7 +8969,7 @@
8673
8969
  {
8674
8970
  "name": "tab",
8675
8971
  "$ref": "tabs.Tab",
8676
- "description": "The details of the tab where the click took place. **Note:** this parameter only present for extensions."
8972
+ "description": "The details of the tab where the click took place."
8677
8973
  }
8678
8974
  ]
8679
8975
  },
@@ -8695,7 +8991,7 @@
8695
8991
  "type": "string"
8696
8992
  },
8697
8993
  "optional": true,
8698
- "description": "Lets you restrict the item to apply only to documents whose URL matches one of the given patterns. (This applies to frames as well.) For details on the format of a pattern, see `Match Patterns <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns>`_."
8994
+ "description": "Lets you restrict the item to apply only to documents whose URL matches one of the given patterns. (This applies to frames as well.) For details on the format of a pattern, see `Match Patterns <|link-match-patterns|>`__."
8699
8995
  },
8700
8996
  "targetUrlPatterns": {
8701
8997
  "type": "array",
@@ -8713,7 +9009,7 @@
8713
9009
  "command": {
8714
9010
  "type": "string",
8715
9011
  "optional": true,
8716
- "description": "Specifies a command to issue for the context click. Currently supports internal commands ``_execute_browser_action``, ``_execute_compose_action`` and ``_execute_message_display_action``."
9012
+ "description": "Specifies a command to issue for the context click. Currently supports internal commands <value>_execute_browser_action</value>, <value>_execute_compose_action</value> and <value>_execute_message_display_action</value>."
8717
9013
  }
8718
9014
  }
8719
9015
  },
@@ -8721,7 +9017,7 @@
8721
9017
  "type": "function",
8722
9018
  "name": "callback",
8723
9019
  "optional": true,
8724
- "description": "Called when the item has been created in the browser. If there were any problems creating the item, details will be available in `runtime.lastError <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/lastError>`_.",
9020
+ "description": "Called when the item has been created in the browser. If there were any problems creating the item, details will be available in `runtime.lastError <|link-runtime-last-error|>`__.",
8725
9021
  "parameters": []
8726
9022
  }
8727
9023
  ]
@@ -8890,7 +9186,7 @@
8890
9186
  "menus.overrideContext"
8891
9187
  ],
8892
9188
  "type": "function",
8893
- "description": "Show the matching menu items from this extension instead of the default menu. This should be called during a 'contextmenu' DOM event handler, and only applies to the menu that opens after this event.",
9189
+ "description": "Show the matching menu items from this extension instead of the default menu. This should be called during a `contextmenu <|link-contextmenu-event|>`__ event handler, and only applies to the menu that opens after this event.",
8894
9190
  "parameters": [
8895
9191
  {
8896
9192
  "name": "contextOptions",
@@ -8908,13 +9204,13 @@
8908
9204
  "tab"
8909
9205
  ],
8910
9206
  "optional": true,
8911
- "description": "ContextType to override, to allow menu items from other extensions in the menu. Currently only 'tab' is supported. showDefaults cannot be used with this option."
9207
+ "description": "ContextType to override, to allow menu items from other extensions in the menu. Currently only <value>tab</value> is supported. ``contextOptions.showDefaults`` cannot be used with this option."
8912
9208
  },
8913
9209
  "tabId": {
8914
9210
  "type": "integer",
8915
9211
  "minimum": 0,
8916
9212
  "optional": true,
8917
- "description": "Required when context is 'tab'. Requires the <permission>tabs</permission> permission."
9213
+ "description": "Required when context is <value>tab</value>. Requires the <permission>tabs</permission> permission."
8918
9214
  }
8919
9215
  }
8920
9216
  }
@@ -8932,7 +9228,7 @@
8932
9228
  {
8933
9229
  "name": "onClicked",
8934
9230
  "type": "function",
8935
- "description": "Fired when a context menu item is clicked. This is a user input event handler. For asynchronous listeners some `restrictions <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/User_actions>`__ apply.",
9231
+ "description": "Fired when a context menu item is clicked. This is a user input event handler. For asynchronous listeners some `restrictions <|link-user-input-restrictions|>`__ apply.",
8936
9232
  "parameters": [
8937
9233
  {
8938
9234
  "name": "info",
@@ -8950,7 +9246,7 @@
8950
9246
  {
8951
9247
  "name": "onShown",
8952
9248
  "type": "function",
8953
- "description": "Fired when a menu is shown. The extension can add, modify or remove menu items and call ``menus.refresh()`` to update the menu.",
9249
+ "description": "Fired when a menu is shown. The extension can add, modify or remove menu items and call :ref:`menus.refresh` to update the menu.",
8954
9250
  "parameters": [
8955
9251
  {
8956
9252
  "name": "info",
@@ -8992,11 +9288,11 @@
8992
9288
  "content",
8993
9289
  "devtools"
8994
9290
  ],
8995
- "description": "Retrieve the element that was associated with a recent contextmenu event.",
9291
+ "description": "Retrieve the element that was associated with a recent `contextmenu <|link-contextmenu-event|>`__ event.",
8996
9292
  "parameters": [
8997
9293
  {
8998
9294
  "type": "integer",
8999
- "description": "The identifier of the clicked element, available as info.targetElementId in the menus.onShown, onClicked or onclick event.",
9295
+ "description": "The identifier of the clicked element, available as ``info.targetElementId`` in the :ref:`menus.onShown` and :ref:`menus.onClicked` events.",
9000
9296
  "name": "targetElementId"
9001
9297
  }
9002
9298
  ],
@@ -9057,7 +9353,7 @@
9057
9353
  {
9058
9354
  "name": "getDisplayedMessage",
9059
9355
  "type": "function",
9060
- "description": "Gets the currently displayed message in the specified tab (even if the tab itself is currently not visible). It returns null if no messages are displayed, or if multiple messages are displayed.",
9356
+ "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.",
9061
9357
  "async": "callback",
9062
9358
  "parameters": [
9063
9359
  {
@@ -9125,12 +9421,12 @@
9125
9421
  "type": "integer",
9126
9422
  "optional": true,
9127
9423
  "minimum": 1,
9128
- "description": "The id of a message to be opened. Will throw an ``ExtensionError``, if the provided ``messageId`` is unknown or invalid."
9424
+ "description": "The id of a message to be opened. Will throw an <em>ExtensionError</em>, if the provided ``messageId`` is unknown or invalid."
9129
9425
  },
9130
9426
  "headerMessageId": {
9131
9427
  "type": "string",
9132
9428
  "optional": true,
9133
- "description": "The headerMessageId of a message to be opened. Will throw an ``ExtensionError``, if the provided ``headerMessageId`` is unknown or invalid. Not supported for external messages."
9429
+ "description": "The headerMessageId of a message to be opened. Will throw an <em>ExtensionError</em>, if the provided ``headerMessageId`` is unknown or invalid. Not supported for external messages."
9134
9430
  },
9135
9431
  "location": {
9136
9432
  "type": "string",
@@ -9184,19 +9480,19 @@
9184
9480
  "properties": {
9185
9481
  "default_label": {
9186
9482
  "type": "string",
9187
- "description": "The label of the messageDisplayAction, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
9483
+ "description": "The label of the messageDisplayAction button, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
9188
9484
  "optional": true,
9189
9485
  "preprocess": "localize"
9190
9486
  },
9191
9487
  "default_title": {
9192
9488
  "type": "string",
9193
- "description": "The title of the messageDisplayAction. This shows up in the tooltip and the label. Defaults to the add-on name.",
9489
+ "description": "The title of the messageDisplayAction button. This shows up in the tooltip and the label. Defaults to the add-on name.",
9194
9490
  "optional": true,
9195
9491
  "preprocess": "localize"
9196
9492
  },
9197
9493
  "default_icon": {
9198
9494
  "$ref": "IconPath",
9199
- "description": "The icon for the messageDisplayAction.",
9495
+ "description": "The paths to one or more icons for the messageDisplayAction button.",
9200
9496
  "optional": true
9201
9497
  },
9202
9498
  "theme_icons": {
@@ -9212,13 +9508,13 @@
9212
9508
  "type": "string",
9213
9509
  "format": "relativeUrl",
9214
9510
  "optional": true,
9215
- "description": "The html document to be opened as a popup when the user clicks on the messageDisplayAction's icon.",
9511
+ "description": "The html document to be opened as a popup when the user clicks on the messageDisplayAction button.",
9216
9512
  "preprocess": "localize"
9217
9513
  },
9218
9514
  "browser_style": {
9219
9515
  "type": "boolean",
9220
9516
  "optional": true,
9221
- "description": "Enable browser styles. See the `MDN documentation on browser styles <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information.",
9517
+ "description": "Enable browser styles. See the `MDN documentation on browser styles <|link-mdn-browser-styles|>`__ for more information.",
9222
9518
  "default": false
9223
9519
  },
9224
9520
  "default_area": {
@@ -9235,34 +9531,15 @@
9235
9531
  },
9236
9532
  {
9237
9533
  "namespace": "messageDisplayAction",
9238
- "description": "Use a messageDisplayAction to put an icon in the message display toolbar. In addition to its icon, a messageDisplayAction can also have a tooltip, a badge, and a popup.",
9534
+ "description": "Use a messageDisplayAction to put a button in the message display toolbar. In addition to its icon, a messageDisplayAction button can also have a tooltip, a badge, and a popup.",
9239
9535
  "permissions": [
9240
9536
  "manifest:message_display_action"
9241
9537
  ],
9242
9538
  "types": [
9243
- {
9244
- "id": "Details",
9245
- "type": "object",
9246
- "description": "Specifies to which tab or window the value should be set, or from which one it should be retrieved. If no tab nor window is specified, the global value is set or retrieved.",
9247
- "properties": {
9248
- "tabId": {
9249
- "type": "integer",
9250
- "optional": true,
9251
- "minimum": 0,
9252
- "description": "When setting a value, it will be specific to the specified tab, and will automatically reset when the tab navigates. When getting, specifies the tab to get the value from; if there is no tab-specific value, the window one will be inherited."
9253
- },
9254
- "windowId": {
9255
- "type": "integer",
9256
- "optional": true,
9257
- "minimum": -2,
9258
- "description": "When setting a value, it will be specific to the specified window. When getting, specifies the window to get the value from; if there is no window-specific value, the global one will be inherited."
9259
- }
9260
- }
9261
- },
9262
9539
  {
9263
9540
  "id": "ColorArray",
9541
+ "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <value>[255, 0, 0, 255]</value>.",
9264
9542
  "type": "array",
9265
- "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <code>[255, 0, 0, 255]</code>.",
9266
9543
  "items": {
9267
9544
  "type": "integer",
9268
9545
  "minimum": 0,
@@ -9279,12 +9556,12 @@
9279
9556
  "type": "any"
9280
9557
  },
9281
9558
  "postprocess": "convertImageDataToURL",
9282
- "description": "Pixel data for an image. Must be an ImageData object (for example, from a <code>canvas</code> element)."
9559
+ "description": "Pixel data for an image. Must be an |ImageData| object (for example, from a |Canvas| element)."
9283
9560
  },
9284
9561
  {
9285
9562
  "id": "ImageDataDictionary",
9286
9563
  "type": "object",
9287
- "description": "A ``{size: ImageDataType}`` dictionary representing the icon to be set. The actual :ref:`messageDisplayAction.ImageDataType` to be used is chosen depending on the screen's pixel density. See the `MDN documentation on browser styles <https://developer.mozilla.org/docs/Mozilla/Add-ons/WebExtensions/user_interface/Browser_styles>`__ for more information on this. At least one :ref:`messageDisplayAction.ImageDataType` must be specified.",
9564
+ "description": "A <em>dictionary object</em> to specify multiple |ImageData| objects in different sizes, so the icon does not have to be scaled for a device with a different pixel density. Each entry is a <em>name-value</em> pair with <em>value</em> being an |ImageData| object, and <em>name</em> its size. Example: <literalinclude>includes/ImageDataDictionary.json<lang>JavaScript</lang></literalinclude>See the `MDN documentation about choosing icon sizes <|link-mdn-icon-size|>`__ for more information on this.",
9288
9565
  "patternProperties": {
9289
9566
  "^[1-9]\\d*$": {
9290
9567
  "$ref": "ImageDataType"
@@ -9294,7 +9571,7 @@
9294
9571
  {
9295
9572
  "id": "OnClickData",
9296
9573
  "type": "object",
9297
- "description": "Information sent when a message display action is clicked.",
9574
+ "description": "Information sent when a messageDisplayAction button is clicked.",
9298
9575
  "properties": {
9299
9576
  "modifiers": {
9300
9577
  "type": "array",
@@ -9322,13 +9599,12 @@
9322
9599
  {
9323
9600
  "name": "setTitle",
9324
9601
  "type": "function",
9325
- "description": "Sets the title of the messageDisplayAction. This shows up in the tooltip and the label. Defaults to the add-on name.",
9602
+ "description": "Sets the title of the messageDisplayAction button. Is used as tooltip and as the label.",
9326
9603
  "async": "callback",
9327
9604
  "parameters": [
9328
9605
  {
9329
9606
  "name": "details",
9330
9607
  "type": "object",
9331
- "$import": "Details",
9332
9608
  "properties": {
9333
9609
  "title": {
9334
9610
  "choices": [
@@ -9339,7 +9615,20 @@
9339
9615
  "type": "null"
9340
9616
  }
9341
9617
  ],
9342
- "description": "The string the messageDisplayAction should display as its label and when moused over."
9618
+ "description": "A string the messageDisplayAction button should display as its label and when moused over. Cleared by setting it to <value>null</value> or an empty string (title defined the manifest will be used)."
9619
+ },
9620
+ "tabId": {
9621
+ "type": "integer",
9622
+ "optional": true,
9623
+ "minimum": 0,
9624
+ "description": "Sets the title only for the given tab."
9625
+ },
9626
+ "windowId": {
9627
+ "type": "integer",
9628
+ "optional": true,
9629
+ "minimum": -2,
9630
+ "unsupported": true,
9631
+ "description": "Will throw an error if used."
9343
9632
  }
9344
9633
  }
9345
9634
  },
@@ -9354,12 +9643,27 @@
9354
9643
  {
9355
9644
  "name": "getTitle",
9356
9645
  "type": "function",
9357
- "description": "Gets the title of the messageDisplayAction.",
9646
+ "description": "Gets the title of the messageDisplayAction button.",
9358
9647
  "async": "callback",
9359
9648
  "parameters": [
9360
9649
  {
9361
9650
  "name": "details",
9362
- "$ref": "Details"
9651
+ "type": "object",
9652
+ "properties": {
9653
+ "tabId": {
9654
+ "type": "integer",
9655
+ "optional": true,
9656
+ "minimum": 0,
9657
+ "description": "Specifies for which tab the title should be retrieved. If no tab is specified, the global value is retrieved."
9658
+ },
9659
+ "windowId": {
9660
+ "type": "integer",
9661
+ "optional": true,
9662
+ "minimum": -2,
9663
+ "unsupported": true,
9664
+ "description": "Will throw an error if used."
9665
+ }
9666
+ }
9363
9667
  },
9364
9668
  {
9365
9669
  "type": "function",
@@ -9376,13 +9680,12 @@
9376
9680
  {
9377
9681
  "name": "setLabel",
9378
9682
  "type": "function",
9379
- "description": "Sets the label of the messageDisplayAction, defaults to its title. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback.",
9683
+ "description": "Sets the label of the messageDisplayAction button. Can be used to set different values for the tooltip (defined by the title) and the label. Additionally, the label can be set to an empty string, not showing any label at all.",
9380
9684
  "async": "callback",
9381
9685
  "parameters": [
9382
9686
  {
9383
9687
  "name": "details",
9384
9688
  "type": "object",
9385
- "$import": "Details",
9386
9689
  "properties": {
9387
9690
  "label": {
9388
9691
  "choices": [
@@ -9393,7 +9696,20 @@
9393
9696
  "type": "null"
9394
9697
  }
9395
9698
  ],
9396
- "description": "The string the messageDisplayAction should use as label. Can be set to an empty string to not display any label. If the containing toolbar is configured to display text only, the title will be used as fallback."
9699
+ "description": "A string the messageDisplayAction button should use as its label, overriding the defined title. Can be set to an empty string to not display any label at all. If the containing toolbar is configured to display text only, its title will be used. Cleared by setting it to <value>null</value>."
9700
+ },
9701
+ "tabId": {
9702
+ "type": "integer",
9703
+ "optional": true,
9704
+ "minimum": 0,
9705
+ "description": "Sets the label only for the given tab."
9706
+ },
9707
+ "windowId": {
9708
+ "type": "integer",
9709
+ "optional": true,
9710
+ "minimum": -2,
9711
+ "unsupported": true,
9712
+ "description": "Will throw an error if used."
9397
9713
  }
9398
9714
  }
9399
9715
  },
@@ -9408,12 +9724,27 @@
9408
9724
  {
9409
9725
  "name": "getLabel",
9410
9726
  "type": "function",
9411
- "description": "Gets the label of the messageDisplayAction.",
9727
+ "description": "Gets the label of the messageDisplayAction button.",
9412
9728
  "async": "callback",
9413
9729
  "parameters": [
9414
9730
  {
9415
9731
  "name": "details",
9416
- "$ref": "Details"
9732
+ "type": "object",
9733
+ "properties": {
9734
+ "tabId": {
9735
+ "type": "integer",
9736
+ "optional": true,
9737
+ "minimum": 0,
9738
+ "description": "Specifies for which tab the label should be retrieved. If no tab is specified, the global label is retrieved."
9739
+ },
9740
+ "windowId": {
9741
+ "type": "integer",
9742
+ "optional": true,
9743
+ "minimum": -2,
9744
+ "unsupported": true,
9745
+ "description": "Will throw an error if used."
9746
+ }
9747
+ }
9417
9748
  },
9418
9749
  {
9419
9750
  "type": "function",
@@ -9430,13 +9761,12 @@
9430
9761
  {
9431
9762
  "name": "setIcon",
9432
9763
  "type": "function",
9433
- "description": "Sets the icon for the messageDisplayAction. The icon can be specified either as the path to an image file or as the pixel data from a canvas element, or as dictionary of either one of those. Either the <b>path</b> or the <b>imageData</b> property must be specified.",
9764
+ "description": "Sets the icon for the messageDisplayAction button. Either the ``path`` or the ``imageData`` property must be specified.",
9434
9765
  "async": "callback",
9435
9766
  "parameters": [
9436
9767
  {
9437
9768
  "name": "details",
9438
9769
  "type": "object",
9439
- "$import": "Details",
9440
9770
  "properties": {
9441
9771
  "imageData": {
9442
9772
  "choices": [
@@ -9448,12 +9778,25 @@
9448
9778
  }
9449
9779
  ],
9450
9780
  "optional": true,
9451
- "description": "Either an ImageDataType object defining a single icon used for all sizes or an ImageDataDictionary object defining dedicated icons for different sizes. At least the ``16px`` icon should be specified. The ``32px`` icon will be used on screens with a very high pixel density, if specified."
9781
+ "description": "The image data for one or more icons for the composeAction button."
9452
9782
  },
9453
9783
  "path": {
9454
9784
  "$ref": "manifest.IconPath",
9455
9785
  "optional": true,
9456
- "description": "The icon for the messageDisplayAction."
9786
+ "description": "The paths to one or more icons for the messageDisplayAction button."
9787
+ },
9788
+ "tabId": {
9789
+ "type": "integer",
9790
+ "optional": true,
9791
+ "minimum": 0,
9792
+ "description": "Sets the icon only for the given tab."
9793
+ },
9794
+ "windowId": {
9795
+ "type": "integer",
9796
+ "optional": true,
9797
+ "minimum": -2,
9798
+ "unsupported": true,
9799
+ "description": "Will throw an error if used."
9457
9800
  }
9458
9801
  }
9459
9802
  },
@@ -9468,13 +9811,12 @@
9468
9811
  {
9469
9812
  "name": "setPopup",
9470
9813
  "type": "function",
9471
- "description": "Sets the html document to be opened as a popup when the user clicks on the messageDisplayAction's icon.",
9814
+ "description": "Sets the html document to be opened as a popup when the user clicks on the messageDisplayAction button.",
9472
9815
  "async": "callback",
9473
9816
  "parameters": [
9474
9817
  {
9475
9818
  "name": "details",
9476
9819
  "type": "object",
9477
- "$import": "Details",
9478
9820
  "properties": {
9479
9821
  "popup": {
9480
9822
  "choices": [
@@ -9485,7 +9827,20 @@
9485
9827
  "type": "null"
9486
9828
  }
9487
9829
  ],
9488
- "description": "The html file to show in a popup. If set to the empty string (''), no popup is shown."
9830
+ "description": "The html file to show in a popup. Can be set to an empty string to not open a popup. Cleared by setting it to <value>null</value> (action will use the popup value defined in the manifest)."
9831
+ },
9832
+ "tabId": {
9833
+ "type": "integer",
9834
+ "optional": true,
9835
+ "minimum": 0,
9836
+ "description": "Sets the popup only for the given tab."
9837
+ },
9838
+ "windowId": {
9839
+ "type": "integer",
9840
+ "optional": true,
9841
+ "minimum": -2,
9842
+ "unsupported": true,
9843
+ "description": "Will throw an error if used."
9489
9844
  }
9490
9845
  }
9491
9846
  },
@@ -9500,12 +9855,27 @@
9500
9855
  {
9501
9856
  "name": "getPopup",
9502
9857
  "type": "function",
9503
- "description": "Gets the html document set as the popup for this messageDisplayAction.",
9858
+ "description": "Gets the html document set as the popup for this messageDisplayAction button.",
9504
9859
  "async": "callback",
9505
9860
  "parameters": [
9506
9861
  {
9507
9862
  "name": "details",
9508
- "$ref": "Details"
9863
+ "type": "object",
9864
+ "properties": {
9865
+ "tabId": {
9866
+ "type": "integer",
9867
+ "optional": true,
9868
+ "minimum": 0,
9869
+ "description": "Specifies for which tab the popup document should be retrieved. If no tab is specified, the global value is retrieved."
9870
+ },
9871
+ "windowId": {
9872
+ "type": "integer",
9873
+ "optional": true,
9874
+ "minimum": -2,
9875
+ "unsupported": true,
9876
+ "description": "Will throw an error if used."
9877
+ }
9878
+ }
9509
9879
  },
9510
9880
  {
9511
9881
  "type": "function",
@@ -9522,13 +9892,12 @@
9522
9892
  {
9523
9893
  "name": "setBadgeText",
9524
9894
  "type": "function",
9525
- "description": "Sets the badge text for the messageDisplayAction. The badge is displayed on top of the icon.",
9895
+ "description": "Sets the badge text for the messageDisplayAction button. The badge is displayed on top of the icon.",
9526
9896
  "async": "callback",
9527
9897
  "parameters": [
9528
9898
  {
9529
9899
  "name": "details",
9530
9900
  "type": "object",
9531
- "$import": "Details",
9532
9901
  "properties": {
9533
9902
  "text": {
9534
9903
  "choices": [
@@ -9539,7 +9908,20 @@
9539
9908
  "type": "null"
9540
9909
  }
9541
9910
  ],
9542
- "description": "Any number of characters can be passed, but only about four can fit in the space."
9911
+ "description": "Any number of characters can be passed, but only about four can fit in the space. Cleared by setting it to <value>null</value> or an empty string."
9912
+ },
9913
+ "tabId": {
9914
+ "type": "integer",
9915
+ "optional": true,
9916
+ "minimum": 0,
9917
+ "description": "Sets the badge text only for the given tab."
9918
+ },
9919
+ "windowId": {
9920
+ "type": "integer",
9921
+ "optional": true,
9922
+ "minimum": -2,
9923
+ "unsupported": true,
9924
+ "description": "Will throw an error if used."
9543
9925
  }
9544
9926
  }
9545
9927
  },
@@ -9554,12 +9936,27 @@
9554
9936
  {
9555
9937
  "name": "getBadgeText",
9556
9938
  "type": "function",
9557
- "description": "Gets the badge text of the messageDisplayAction. If no tab nor window is specified, the global badge text is returned.",
9939
+ "description": "Gets the badge text of the messageDisplayAction button.",
9558
9940
  "async": "callback",
9559
9941
  "parameters": [
9560
9942
  {
9561
9943
  "name": "details",
9562
- "$ref": "Details"
9944
+ "type": "object",
9945
+ "properties": {
9946
+ "tabId": {
9947
+ "type": "integer",
9948
+ "optional": true,
9949
+ "minimum": 0,
9950
+ "description": "Specifies for which tab the badge text should be retrieved. If no tab is specified, the global label is retrieved."
9951
+ },
9952
+ "windowId": {
9953
+ "type": "integer",
9954
+ "optional": true,
9955
+ "minimum": -2,
9956
+ "unsupported": true,
9957
+ "description": "Will throw an error if used."
9958
+ }
9959
+ }
9563
9960
  },
9564
9961
  {
9565
9962
  "type": "function",
@@ -9582,10 +9979,8 @@
9582
9979
  {
9583
9980
  "name": "details",
9584
9981
  "type": "object",
9585
- "$import": "Details",
9586
9982
  "properties": {
9587
9983
  "color": {
9588
- "description": "An array of four integers in the range [0,255] that make up the RGBA color of the badge. For example, opaque red is <code>[255, 0, 0, 255]</code>. Can also be a string with a CSS value, with opaque red being <code>#FF0000</code> or <code>#F00</code>.",
9589
9984
  "choices": [
9590
9985
  {
9591
9986
  "type": "string"
@@ -9596,7 +9991,21 @@
9596
9991
  {
9597
9992
  "type": "null"
9598
9993
  }
9599
- ]
9994
+ ],
9995
+ "description": "The color to use as background in the badge. Cleared by setting it to <value>null</value> or an empty string."
9996
+ },
9997
+ "tabId": {
9998
+ "type": "integer",
9999
+ "optional": true,
10000
+ "minimum": 0,
10001
+ "description": "Sets the background color for the badge only for the given tab."
10002
+ },
10003
+ "windowId": {
10004
+ "type": "integer",
10005
+ "optional": true,
10006
+ "minimum": -2,
10007
+ "unsupported": true,
10008
+ "description": "Will throw an error if used."
9600
10009
  }
9601
10010
  }
9602
10011
  },
@@ -9611,12 +10020,27 @@
9611
10020
  {
9612
10021
  "name": "getBadgeBackgroundColor",
9613
10022
  "type": "function",
9614
- "description": "Gets the background color of the messageDisplayAction.",
10023
+ "description": "Gets the badge background color of the messageDisplayAction button.",
9615
10024
  "async": "callback",
9616
10025
  "parameters": [
9617
10026
  {
9618
10027
  "name": "details",
9619
- "$ref": "Details"
10028
+ "type": "object",
10029
+ "properties": {
10030
+ "tabId": {
10031
+ "type": "integer",
10032
+ "optional": true,
10033
+ "minimum": 0,
10034
+ "description": "Specifies for which tab the badge background color should be retrieved. If no tab is specified, the global label is retrieved."
10035
+ },
10036
+ "windowId": {
10037
+ "type": "integer",
10038
+ "optional": true,
10039
+ "minimum": -2,
10040
+ "unsupported": true,
10041
+ "description": "Will throw an error if used."
10042
+ }
10043
+ }
9620
10044
  },
9621
10045
  {
9622
10046
  "type": "function",
@@ -9633,7 +10057,7 @@
9633
10057
  {
9634
10058
  "name": "enable",
9635
10059
  "type": "function",
9636
- "description": "Enables the messageDisplayAction for a tab. By default, a messageDisplayAction is enabled.",
10060
+ "description": "Enables the messageDisplayAction button for a tab. By default, a messageDisplayAction button is enabled.",
9637
10061
  "async": "callback",
9638
10062
  "parameters": [
9639
10063
  {
@@ -9641,7 +10065,7 @@
9641
10065
  "optional": true,
9642
10066
  "name": "tabId",
9643
10067
  "minimum": 0,
9644
- "description": "The id of the tab for which you want to modify the messageDisplayAction."
10068
+ "description": "The id of the tab for which you want to modify the messageDisplayAction button."
9645
10069
  },
9646
10070
  {
9647
10071
  "type": "function",
@@ -9654,7 +10078,7 @@
9654
10078
  {
9655
10079
  "name": "disable",
9656
10080
  "type": "function",
9657
- "description": "Disables the messageDisplayAction for a tab.",
10081
+ "description": "Disables the messageDisplayAction button for a tab.",
9658
10082
  "async": "callback",
9659
10083
  "parameters": [
9660
10084
  {
@@ -9662,7 +10086,7 @@
9662
10086
  "optional": true,
9663
10087
  "name": "tabId",
9664
10088
  "minimum": 0,
9665
- "description": "The id of the tab for which you want to modify the messageDisplayAction."
10089
+ "description": "The id of the tab for which you want to modify the messageDisplayAction button."
9666
10090
  },
9667
10091
  {
9668
10092
  "type": "function",
@@ -9675,12 +10099,27 @@
9675
10099
  {
9676
10100
  "name": "isEnabled",
9677
10101
  "type": "function",
9678
- "description": "Checks whether the messageDisplayAction is enabled.",
10102
+ "description": "Checks whether the messageDisplayAction button is enabled.",
9679
10103
  "async": "callback",
9680
10104
  "parameters": [
9681
10105
  {
9682
10106
  "name": "details",
9683
- "$ref": "Details"
10107
+ "type": "object",
10108
+ "properties": {
10109
+ "tabId": {
10110
+ "type": "integer",
10111
+ "optional": true,
10112
+ "minimum": 0,
10113
+ "description": "Specifies for which tab the state should be retrieved. If no tab is specified, the global value is retrieved."
10114
+ },
10115
+ "windowId": {
10116
+ "type": "integer",
10117
+ "optional": true,
10118
+ "minimum": -2,
10119
+ "unsupported": true,
10120
+ "description": "Will throw an error if used."
10121
+ }
10122
+ }
9684
10123
  },
9685
10124
  {
9686
10125
  "type": "function",
@@ -9698,7 +10137,7 @@
9698
10137
  "name": "openPopup",
9699
10138
  "type": "function",
9700
10139
  "requireUserInput": true,
9701
- "description": "Opens the extension popup window in the active window.",
10140
+ "description": "Opens the action's popup window in the active window.",
9702
10141
  "async": true,
9703
10142
  "parameters": []
9704
10143
  }
@@ -9707,7 +10146,7 @@
9707
10146
  {
9708
10147
  "name": "onClicked",
9709
10148
  "type": "function",
9710
- "description": "Fired when a messageDisplayAction icon is clicked. This event will not fire if the messageDisplayAction has a popup. This is a user input event handler. For asynchronous listeners some `restrictions <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/User_actions>`__ apply.",
10149
+ "description": "Fired when a messageDisplayAction button is clicked. This event will not fire if the messageDisplayAction has a popup. This is a user input event handler. For asynchronous listeners some `restrictions <|link-user-input-restrictions|>`__ apply.",
9711
10150
  "parameters": [
9712
10151
  {
9713
10152
  "name": "tab",
@@ -9781,7 +10220,7 @@
9781
10220
  },
9782
10221
  "flagged": {
9783
10222
  "type": "boolean",
9784
- "description": "Whether this message is flagged (a.k.a. 'starred')."
10223
+ "description": "Whether this message is flagged (a.k.a. starred)."
9785
10224
  },
9786
10225
  "folder": {
9787
10226
  "$ref": "folders.MailFolder",
@@ -9793,7 +10232,7 @@
9793
10232
  "description": "The message-id header of the message."
9794
10233
  },
9795
10234
  "headersOnly": {
9796
- "description": "Some account types (for example POP) allow to download only the headers of the message, but not its body. The body of such messages will not be available.",
10235
+ "description": "Some account types (for example <value>pop3</value>) allow to download only the headers of the message, but not its body. The body of such messages will not be available.",
9797
10236
  "type": "boolean"
9798
10237
  },
9799
10238
  "id": {
@@ -9801,12 +10240,12 @@
9801
10240
  "minimum": 1
9802
10241
  },
9803
10242
  "junk": {
9804
- "description": "Whether the message has been marked as junk. Always ``false`` for news/nntp messages and external messages.",
10243
+ "description": "Whether the message has been marked as junk. Always <value>false</value> for news/nntp messages and external messages.",
9805
10244
  "type": "boolean"
9806
10245
  },
9807
10246
  "junkScore": {
9808
10247
  "type": "integer",
9809
- "description": "The junk score associated with the message. Always ``0`` for news/nntp messages and external messages.",
10248
+ "description": "The junk score associated with the message. Always <value>0</value> for news/nntp messages and external messages.",
9810
10249
  "minimum": 0,
9811
10250
  "maximum": 100
9812
10251
  },
@@ -9876,7 +10315,7 @@
9876
10315
  },
9877
10316
  "headers": {
9878
10317
  "type": "object",
9879
- "description": "An object of part headers, with the header name as key, and an array of header values as value",
10318
+ "description": "A <em>dictionary object</em> of part headers as <em>key-value</em> pairs, with the header name as <em>key</em>, and an array of headers as <em>value</em>",
9880
10319
  "optional": true,
9881
10320
  "additionalProperties": {
9882
10321
  "type": "array",
@@ -9893,7 +10332,7 @@
9893
10332
  "partName": {
9894
10333
  "type": "string",
9895
10334
  "optional": true,
9896
- "description": "The identifier of this part, used in :ref:`messages.getAttachmentFile"
10335
+ "description": "The identifier of this part, used in :ref:`messages.getAttachmentFile`"
9897
10336
  },
9898
10337
  "parts": {
9899
10338
  "type": "array",
@@ -9906,7 +10345,7 @@
9906
10345
  "size": {
9907
10346
  "type": "integer",
9908
10347
  "optional": true,
9909
- "description": "The size of this part. The size of ``message/*`` parts is not the actual message size (on disc), but the total size of its decoded body parts, excluding headers."
10348
+ "description": "The size of this part. The size of <em>message/*</em> parts is not the actual message size (on disc), but the total size of its decoded body parts, excluding headers."
9910
10349
  }
9911
10350
  }
9912
10351
  },
@@ -9917,7 +10356,7 @@
9917
10356
  "properties": {
9918
10357
  "flagged": {
9919
10358
  "type": "boolean",
9920
- "description": "Whether the message is flagged (a.k.a 'starred').",
10359
+ "description": "Whether the message is flagged (a.k.a starred).",
9921
10360
  "optional": true
9922
10361
  },
9923
10362
  "junk": {
@@ -9974,7 +10413,7 @@
9974
10413
  "properties": {
9975
10414
  "tags": {
9976
10415
  "type": "object",
9977
- "description": "Object keys are tags to filter on, values are <code>true</code> if the message must have the tag, or <code>false</code> if it must not have the tag. For a list of available tags, call the :ref:`messages.listTags` method.",
10416
+ "description": "A <em>dictionary object</em> with one or more filter condition as <em>key-value</em> pairs, the <em>key</em> being the tag to filter on, and the <em>value</em> being a boolean expression, requesting whether a message must include (<value>true</value>) or exclude (<value>false</value>) the tag. For a list of available tags, call the :ref:`messages.listTags` method.",
9978
10417
  "patternProperties": {
9979
10418
  ".*": {
9980
10419
  "type": "boolean"
@@ -10200,7 +10639,7 @@
10200
10639
  {
10201
10640
  "name": "getRaw",
10202
10641
  "type": "function",
10203
- "description": "Returns the unmodified source of a message as a `binary string <https://developer.mozilla.org/en-US/docs/Web/API/DOMString/Binary>`__, which is a simple series of 8-bit values. Throws if the message could not be read, for example due to network issues. If the message contains non-ASCII characters, the body parts in the binary string cannot be read directly and must be decoded according to their character sets. Use :ref:`messages.getFull` to get the correctly decoded parts. Manually decoding the raw message is probably too error-prone, especially if the message contains MIME parts with different character set encodings or attachments.\n\nTo get a readable version of the raw message as it appears in Thunderbird's message source view, it may be sufficient to decode the message according to the character set specified in its main ``content-type`` header (example: `text/html; charset=UTF-8`) using the following function (see MDN for `supported input encodings <https://developer.mozilla.org/en-US/docs/Web/API/Encoding_API/Encodings>`__): <literalinclude>includes/messages/decodeBinaryString.js<lang>JavaScript</lang></literalinclude>",
10642
+ "description": "Returns the unmodified source of a message as a `binary string <|link-binary-string|>`__, which is a simple series of 8-bit values. Throws if the message could not be read, for example due to network issues. If the message contains non-ASCII characters, the body parts in the binary string cannot be read directly and must be decoded according to their character sets. Use :ref:`messages.getFull` to get the correctly decoded parts. Manually decoding the raw message is probably too error-prone, especially if the message contains MIME parts with different character set encodings or attachments.\n\nTo get a readable version of the raw message as it appears in Thunderbird's message source view, it may be sufficient to decode the message according to the character set specified in its main `content-type <|link-content-type|>`__ header (example: <value>text/html; charset=UTF-8</value>) using the following function (see MDN for `supported input encodings <|link-input-encoding|>`__): <literalinclude>includes/messages/decodeBinaryString.js<lang>JavaScript</lang></literalinclude>",
10204
10643
  "async": "callback",
10205
10644
  "parameters": [
10206
10645
  {
@@ -10247,7 +10686,7 @@
10247
10686
  {
10248
10687
  "name": "getAttachmentFile",
10249
10688
  "type": "function",
10250
- "description": "Gets the content of a :ref:`messages.MessageAttachment` as a DOM <code>File</code> object.",
10689
+ "description": "Gets the content of a :ref:`messages.MessageAttachment` as a |File| object.",
10251
10690
  "async": "callback",
10252
10691
  "parameters": [
10253
10692
  {
@@ -10291,7 +10730,7 @@
10291
10730
  "author": {
10292
10731
  "type": "string",
10293
10732
  "optional": true,
10294
- "description": "Returns only messages with this value matching the author. The search value is a single email address, a name or a combination (e.g.: ``Name <user@domain.org>``). The address part of the search value (if provided) must match the author's address completely. The name part of the search value (if provided) must match the author's name partially. All matches are done case-insensitive."
10733
+ "description": "Returns only messages with this value matching the author. The search value is a single email address, a name or a combination (e.g.: <value>Name <user@domain.org></value>). The address part of the search value (if provided) must match the author's address completely. The name part of the search value (if provided) must match the author's name partially. All matches are done case-insensitive."
10295
10734
  },
10296
10735
  "body": {
10297
10736
  "type": "string",
@@ -10336,7 +10775,7 @@
10336
10775
  "recipients": {
10337
10776
  "type": "string",
10338
10777
  "optional": true,
10339
- "description": "Returns only messages whose recipients match all specified addresses. The search value is a semicolon separated list of email addresses, names or combinations (e.g.: ``Name <user@domain.org>``). For a match, all specified addresses must equal a recipient's address completely and all specified names must match a recipient's name partially. All matches are done case-insensitive."
10778
+ "description": "Returns only messages whose recipients match all specified addresses. The search value is a semicolon separated list of email addresses, names or combinations (e.g.: <value>Name <user@domain.org></value>). For a match, all specified addresses must equal a recipient's address completely and all specified names must match a recipient's name partially. All matches are done case-insensitive."
10340
10779
  },
10341
10780
  "subject": {
10342
10781
  "type": "string",
@@ -10380,7 +10819,7 @@
10380
10819
  {
10381
10820
  "name": "update",
10382
10821
  "type": "function",
10383
- "description": "Marks or unmarks a message as junk, read, flagged, or tagged. Updating external messages will throw an ``ExtensionError``.",
10822
+ "description": "Marks or unmarks a message as junk, read, flagged, or tagged. Updating external messages will throw an <em>ExtensionError</em>.",
10384
10823
  "async": true,
10385
10824
  "parameters": [
10386
10825
  {
@@ -10397,7 +10836,7 @@
10397
10836
  {
10398
10837
  "name": "move",
10399
10838
  "type": "function",
10400
- "description": "Moves messages to a specified folder. If the messages cannot be removed from the source folder, they will be copied instead of moved. Moving external messages will throw an ``ExtensionError``.",
10839
+ "description": "Moves messages to a specified folder. If the messages cannot be removed from the source folder, they will be copied instead of moved. Moving external messages will throw an <em>ExtensionError</em>.",
10401
10840
  "async": true,
10402
10841
  "permissions": [
10403
10842
  "accountsRead",
@@ -10449,7 +10888,7 @@
10449
10888
  {
10450
10889
  "name": "delete",
10451
10890
  "type": "function",
10452
- "description": "Deletes messages permanently, or moves them to the trash folder (honoring the account's deletion behavior settings). Deleting external messages will throw an ``ExtensionError``. The ``skipTrash`` parameter allows immediate permanent deletion, bypassing the trash folder.\n**Note**: Consider using :ref:`messages.move` to manually move messages to the account's trash folder, instead of requesting the overly powerful permission to actually delete messages. The account's trash folder can be extracted as follows: <literalinclude>includes/messages/getTrash.js<lang>JavaScript</lang></literalinclude>",
10891
+ "description": "Deletes messages permanently, or moves them to the trash folder (honoring the account's deletion behavior settings). Deleting external messages will throw an <em>ExtensionError</em>. The ``skipTrash`` parameter allows immediate permanent deletion, bypassing the trash folder.\n**Note**: Consider using :ref:`messages.move` to manually move messages to the account's trash folder, instead of requesting the overly powerful permission to actually delete messages. The account's trash folder can be extracted as follows: <literalinclude>includes/messages/getTrash.js<lang>JavaScript</lang></literalinclude>",
10453
10892
  "async": true,
10454
10893
  "permissions": [
10455
10894
  "messagesDelete"
@@ -10513,7 +10952,7 @@
10513
10952
  {
10514
10953
  "name": "archive",
10515
10954
  "type": "function",
10516
- "description": "Archives messages using the current settings. Archiving external messages will throw an ``ExtensionError``.",
10955
+ "description": "Archives messages using the current settings. Archiving external messages will throw an <em>ExtensionError</em>.",
10517
10956
  "async": true,
10518
10957
  "permissions": [
10519
10958
  "messagesMove"
@@ -10650,7 +11089,7 @@
10650
11089
  }
10651
11090
  ],
10652
11091
  "optional": true,
10653
- "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 <code>[255, 0, 0, 255]</code>. Can also be a string with an HTML color name (<code>red</code>) or a HEX color value (<code>#FF0000</code> or <code>#F00</code>). Reset when set to an empty string."
11092
+ "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 an empty string."
10654
11093
  },
10655
11094
  "badgeText": {
10656
11095
  "type": "string",
@@ -10667,7 +11106,7 @@
10667
11106
  }
10668
11107
  ],
10669
11108
  "optional": true,
10670
- "description": "The icon for the button in the spaces toolbar. Defaults to the extension icon, if set to an empty string."
11109
+ "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."
10671
11110
  },
10672
11111
  "themeIcons": {
10673
11112
  "type": "array",
@@ -10675,7 +11114,7 @@
10675
11114
  "items": {
10676
11115
  "$ref": "manifest.ThemeIcons"
10677
11116
  },
10678
- "description": "Specifies dark and light icons for the spaces toolbar button to be used with themes: The ``light`` icons will be used on dark backgrounds and vice versa. At least the set for ``16px`` icons should be specified. The set for ``32px`` icons will be used on screens with a very high pixel density, if specified."
11117
+ "description": "Specifies dark and light icons for the spaces toolbar button 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."
10679
11118
  },
10680
11119
  "title": {
10681
11120
  "type": "string",
@@ -10685,13 +11124,13 @@
10685
11124
  "url": {
10686
11125
  "type": "string",
10687
11126
  "optional": true,
10688
- "description": "The page url, loaded into a tab when the button is clicked. Supported are ``https://`` and ``http://`` links, as well as links to WebExtension pages."
11127
+ "description": "The page url, loaded into a tab when the button is clicked. Supported are <value>https://</value> and <value>http://</value> links, as well as links to WebExtension pages."
10689
11128
  }
10690
11129
  }
10691
11130
  },
10692
11131
  {
10693
11132
  "id": "ColorArray",
10694
- "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <code>[255, 0, 0, 255]</code>.",
11133
+ "description": "An array of four integers in the range [0,255] that make up the RGBA color. For example, opaque red is <value>[255, 0, 0, 255]</value>.",
10695
11134
  "type": "array",
10696
11135
  "items": {
10697
11136
  "type": "integer",
@@ -10789,7 +11228,7 @@
10789
11228
  },
10790
11229
  {
10791
11230
  "namespace": "tabs",
10792
- "description": "Use the <code>browser.tabs</code> API to interact with the browser's tab system. You can use this API to create, modify, and rearrange tabs in the browser.",
11231
+ "description": "The tabs API supports creating, modifying and interacting with tabs in Thunderbird windows.",
10793
11232
  "types": [
10794
11233
  {
10795
11234
  "id": "Tab",
@@ -10799,7 +11238,7 @@
10799
11238
  "type": "integer",
10800
11239
  "minimum": -1,
10801
11240
  "optional": true,
10802
- "description": "The ID of the tab. Tab IDs are unique within a browser session. Under some circumstances a Tab may not be assigned an ID. Tab ID can also be set to :ref:`tabs.TAB_ID_NONE` for apps and devtools windows."
11241
+ "description": "The ID of the tab. Tab IDs are unique within a session. Under some circumstances a Tab may not be assigned an ID. Tab ID can also be set to :ref:`tabs.TAB_ID_NONE` for apps and devtools windows."
10803
11242
  },
10804
11243
  "index": {
10805
11244
  "type": "integer",
@@ -10853,7 +11292,7 @@
10853
11292
  "status": {
10854
11293
  "type": "string",
10855
11294
  "optional": true,
10856
- "description": "Either <em>loading</em> or <em>complete</em>."
11295
+ "description": "Either <value>loading</value> or <value>complete</value>."
10857
11296
  },
10858
11297
  "width": {
10859
11298
  "type": "integer",
@@ -10929,7 +11368,7 @@
10929
11368
  "properties": {
10930
11369
  "urls": {
10931
11370
  "type": "array",
10932
- "description": "A list of URLs or URL patterns. Events that cannot match any of the URLs will be filtered out. Filtering with urls requires the <permission>tabs</permission> or <permission>activeTab</permission> permission.",
11371
+ "description": "A list of URLs or URL patterns. Events that cannot match any of the URLs will be filtered out. Filtering with urls requires the <permission>tabs</permission> or <permission>activeTab</permission> permission.",
10933
11372
  "optional": true,
10934
11373
  "items": {
10935
11374
  "type": "string"
@@ -10959,7 +11398,7 @@
10959
11398
  "properties": {
10960
11399
  "TAB_ID_NONE": {
10961
11400
  "value": -1,
10962
- "description": "An ID which represents the absence of a browser tab."
11401
+ "description": "An ID which represents the absence of a tab."
10963
11402
  }
10964
11403
  },
10965
11404
  "functions": [
@@ -11008,7 +11447,7 @@
11008
11447
  {
11009
11448
  "name": "connect",
11010
11449
  "type": "function",
11011
- "description": "Connects to the content script(s) in the specified tab. The `runtime.onConnect <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onConnect>`_ event is fired in each content script running in the specified tab for the current extension. For more details, see `Content Script Messaging <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts>`_.",
11450
+ "description": "Connects to the content script(s) in the specified tab. The `runtime.onConnect <|link-runtime-on-connect|>`__ event is fired in each content script running in the specified tab for the current extension. For more details, see `Content Script Messaging <|link-content-scripts|>`__.",
11012
11451
  "parameters": [
11013
11452
  {
11014
11453
  "type": "integer",
@@ -11028,7 +11467,7 @@
11028
11467
  "type": "integer",
11029
11468
  "optional": true,
11030
11469
  "minimum": 0,
11031
- "description": "Open a port to a specific frame identified by <code>frameId</code> instead of all frames in the tab."
11470
+ "description": "Open a port to a specific frame identified by ``frameId`` instead of all frames in the tab."
11032
11471
  }
11033
11472
  },
11034
11473
  "optional": true
@@ -11042,7 +11481,7 @@
11042
11481
  {
11043
11482
  "name": "sendMessage",
11044
11483
  "type": "function",
11045
- "description": "Sends a single message to the content script(s) in the specified tab, with an optional callback to run when a response is sent back. The `runtime.onMessage <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/onMessage>`_ event is fired in each content script running in the specified tab for the current extension.",
11484
+ "description": "Sends a single message to the content script(s) in the specified tab, with an optional callback to run when a response is sent back. The `runtime.onMessage <|link-runtime-on-message|>`__ event is fired in each content script running in the specified tab for the current extension.",
11046
11485
  "async": "responseCallback",
11047
11486
  "parameters": [
11048
11487
  {
@@ -11062,7 +11501,7 @@
11062
11501
  "type": "integer",
11063
11502
  "optional": true,
11064
11503
  "minimum": 0,
11065
- "description": "Send a message to a specific frame identified by <code>frameId</code> instead of all frames in the tab."
11504
+ "description": "Send a message to a specific frame identified by ``frameId`` instead of all frames in the tab."
11066
11505
  }
11067
11506
  },
11068
11507
  "optional": true
@@ -11075,7 +11514,7 @@
11075
11514
  {
11076
11515
  "name": "response",
11077
11516
  "type": "any",
11078
- "description": "The JSON response object sent by the handler of the message. If an error occurs while connecting to the specified tab, the callback will be called with no arguments and `runtime.lastError <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/API/runtime/lastError>`_ will be set to the error message."
11517
+ "description": "The JSON response object sent by the handler of the message. If an error occurs while connecting to the specified tab, the callback will be called with no arguments and `runtime.lastError <|link-runtime-last-error|>`__ will be set to the error message."
11079
11518
  }
11080
11519
  ]
11081
11520
  }
@@ -11084,7 +11523,7 @@
11084
11523
  {
11085
11524
  "name": "create",
11086
11525
  "type": "function",
11087
- "description": "Creates a new content tab. Use the :ref:`messageDisplay_api` to open messages.",
11526
+ "description": "Creates a new content tab. Use the :ref:`messageDisplay_api` to open messages. Only supported in <value>normal</value> windows.",
11088
11527
  "async": "callback",
11089
11528
  "parameters": [
11090
11529
  {
@@ -11107,19 +11546,19 @@
11107
11546
  "url": {
11108
11547
  "type": "string",
11109
11548
  "optional": true,
11110
- "description": "The URL to navigate the tab to initially. Fully-qualified URLs must include a scheme (i.e. 'http://www.google.com', not 'www.google.com'). Relative URLs will be relative to the current page within the extension."
11549
+ "description": "The URL to navigate the tab to initially. Fully-qualified URLs must include a scheme (i.e. <value>http://www.google.com</value>, not <value>www.google.com</value>). Relative URLs will be relative to the current page within the extension."
11111
11550
  },
11112
11551
  "active": {
11113
11552
  "type": "boolean",
11114
11553
  "optional": true,
11115
- "description": "Whether the tab should become the active tab in the window. Does not affect whether the window is focused (see :ref:`windows.update`). Defaults to <var>true</var>."
11554
+ "description": "Whether the tab should become the active tab in the window. Does not affect whether the window is focused (see :ref:`windows.update`). Defaults to <value>true</value>."
11116
11555
  },
11117
11556
  "selected": {
11118
- "deprecated": "Please use <em>active</em>.",
11557
+ "deprecated": "Please use ``createProperties.active``.",
11119
11558
  "unsupported": true,
11120
11559
  "type": "boolean",
11121
11560
  "optional": true,
11122
- "description": "Whether the tab should become the selected tab in the window. Defaults to <var>true</var>"
11561
+ "description": "Whether the tab should become the selected tab in the window. Defaults to <value>true</value>"
11123
11562
  }
11124
11563
  }
11125
11564
  },
@@ -11158,7 +11597,7 @@
11158
11597
  {
11159
11598
  "name": "tab",
11160
11599
  "optional": true,
11161
- "description": "Details about the duplicated tab. The :ref:`tabs.Tab` object doesn't contain <code>url</code>, <code>title</code> and <code>favIconUrl</code> if the <permission>tabs</permission> permission has not been requested.",
11600
+ "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.",
11162
11601
  "$ref": "Tab"
11163
11602
  }
11164
11603
  ]
@@ -11193,7 +11632,7 @@
11193
11632
  "highlighted": {
11194
11633
  "type": "boolean",
11195
11634
  "optional": true,
11196
- "description": "Whether the tabs are highlighted. Works as an alias of active."
11635
+ "description": "Whether the tabs are highlighted. Works as an alias of active."
11197
11636
  },
11198
11637
  "currentWindow": {
11199
11638
  "type": "boolean",
@@ -11228,7 +11667,7 @@
11228
11667
  }
11229
11668
  ],
11230
11669
  "optional": true,
11231
- "description": "Match tabs against one or more `URL Patterns <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Match_patterns>`_. Note that fragment identifiers are not matched."
11670
+ "description": "Match tabs against one or more `URL Patterns <|link-match-patterns|>`__. Note that fragment identifiers are not matched."
11232
11671
  },
11233
11672
  "windowId": {
11234
11673
  "type": "integer",
@@ -11267,7 +11706,7 @@
11267
11706
  {
11268
11707
  "name": "update",
11269
11708
  "type": "function",
11270
- "description": "Modifies the properties of a tab. Properties that are not specified in <var>updateProperties</var> are not modified.",
11709
+ "description": "Modifies the properties of a tab. Properties that are not specified in ``updateProperties`` are not modified.",
11271
11710
  "async": "callback",
11272
11711
  "parameters": [
11273
11712
  {
@@ -11285,12 +11724,12 @@
11285
11724
  "url": {
11286
11725
  "type": "string",
11287
11726
  "optional": true,
11288
- "description": "A URL to navigate the tab to. Only applicable for ``content`` tabs and active ``mail`` tabs."
11727
+ "description": "A URL to navigate the tab to. Only applicable for <value>content</value> tabs and active <value>mail</value> tabs."
11289
11728
  },
11290
11729
  "active": {
11291
11730
  "type": "boolean",
11292
11731
  "optional": true,
11293
- "description": "Set this to true, if the tab should be active. Does not affect whether the window is focused (see :ref:`windows.update`). Setting this to false has no effect."
11732
+ "description": "Set this to <value>true</value>, if the tab should be active. Does not affect whether the window is focused (see :ref:`windows.update`). Setting this to <value>false</value> has no effect."
11294
11733
  }
11295
11734
  }
11296
11735
  },
@@ -11303,7 +11742,7 @@
11303
11742
  "name": "tab",
11304
11743
  "$ref": "Tab",
11305
11744
  "optional": true,
11306
- "description": "Details about the updated tab. The :ref:`tabs.Tab` object doesn't contain <code>url</code>, <code>title</code> and <code>favIconUrl</code> if the <permission>tabs</permission> permission has not been requested."
11745
+ "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."
11307
11746
  }
11308
11747
  ]
11309
11748
  }
@@ -11312,7 +11751,7 @@
11312
11751
  {
11313
11752
  "name": "move",
11314
11753
  "type": "function",
11315
- "description": "Moves one or more tabs to a new position within its window, or to a new window. Note that tabs can only be moved to and from normal windows (<code>window.type === \"normal\"</code>).",
11754
+ "description": "Moves one or more tabs to a new position within its window, or to a new window. Note that tabs can only be moved to and from windows of type <value>normal</value>.",
11316
11755
  "async": "callback",
11317
11756
  "parameters": [
11318
11757
  {
@@ -11345,7 +11784,7 @@
11345
11784
  "index": {
11346
11785
  "type": "integer",
11347
11786
  "minimum": -1,
11348
- "description": "The position to move the window to. -1 will place the tab at the end of the window."
11787
+ "description": "The position to move the window to. <value>-1</value> will place the tab at the end of the window."
11349
11788
  }
11350
11789
  }
11351
11790
  },
@@ -11440,7 +11879,7 @@
11440
11879
  {
11441
11880
  "name": "executeScript",
11442
11881
  "type": "function",
11443
- "description": "Injects JavaScript code into a page. For details, see the `programmatic injection <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts>`_ section of the content scripts doc.",
11882
+ "description": "Injects JavaScript code into a page. For details, see the `programmatic injection <|link-content-scripts|>`__ section of the content scripts doc.",
11444
11883
  "async": "callback",
11445
11884
  "parameters": [
11446
11885
  {
@@ -11477,7 +11916,7 @@
11477
11916
  {
11478
11917
  "name": "insertCSS",
11479
11918
  "type": "function",
11480
- "description": "Injects CSS into a page. For details, see the `programmatic injection <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts>`_ section of the content scripts doc.",
11919
+ "description": "Injects CSS into a page. For details, see the `programmatic injection <|link-content-scripts|>`__ section of the content scripts doc.",
11481
11920
  "async": "callback",
11482
11921
  "parameters": [
11483
11922
  {
@@ -11504,7 +11943,7 @@
11504
11943
  {
11505
11944
  "name": "removeCSS",
11506
11945
  "type": "function",
11507
- "description": "Removes injected CSS from a page. For details, see the `programmatic injection <https://developer.mozilla.org/en-US/docs/Mozilla/Add-ons/WebExtensions/Content_scripts>`_ section of the content scripts doc.",
11946
+ "description": "Removes injected CSS from a page. For details, see the `programmatic injection <|link-content-scripts|>`__ section of the content scripts doc.",
11508
11947
  "async": "callback",
11509
11948
  "parameters": [
11510
11949
  {
@@ -11560,7 +11999,7 @@
11560
11999
  "status": {
11561
12000
  "type": "string",
11562
12001
  "optional": true,
11563
- "description": "The status of the tab. Can be either <em>loading</em> or <em>complete</em>."
12002
+ "description": "The status of the tab. Can be either <value>loading</value> or <value>complete</value>."
11564
12003
  },
11565
12004
  "url": {
11566
12005
  "type": "string",
@@ -11715,7 +12154,7 @@
11715
12154
  },
11716
12155
  "isWindowClosing": {
11717
12156
  "type": "boolean",
11718
- "description": "True when the tab is being closed because its window is being closed."
12157
+ "description": "Is <value>true</value> when the tab is being closed because its window is being closed."
11719
12158
  }
11720
12159
  }
11721
12160
  }
@@ -11727,12 +12166,12 @@
11727
12166
  "windows.json": [
11728
12167
  {
11729
12168
  "namespace": "windows",
11730
- "description": "Use the <code>browser.windows</code> API to interact with Thunderbird. You can use this API to create, modify, and rearrange windows.",
12169
+ "description": "The windows API supports creating, modifying and interacting with Thunderbird windows.",
11731
12170
  "types": [
11732
12171
  {
11733
12172
  "id": "WindowType",
11734
12173
  "type": "string",
11735
- "description": "The type of a window. Under some circumstances a Window may not be assigned a type property.",
12174
+ "description": "The type of a window. Under some circumstances a window may not be assigned a type property.",
11736
12175
  "enum": [
11737
12176
  "normal",
11738
12177
  "popup",
@@ -11795,21 +12234,21 @@
11795
12234
  "$ref": "tabs.Tab"
11796
12235
  },
11797
12236
  "optional": true,
11798
- "description": "Array of :ref:`tabs.Tab` objects representing the current tabs in the window. Only included if requested by :ref:`windows.get`, :ref:`windows.getCurrent`, :ref:`windows.getAll` or :ref:`windows.getLastFocused` and the optional :ref:`windows.GetInfo` parameter has ``populate`` set to ``true``."
12237
+ "description": "Array of :ref:`tabs.Tab` objects representing the current tabs in the window. Only included if requested by :ref:`windows.get`, :ref:`windows.getCurrent`, :ref:`windows.getAll` or :ref:`windows.getLastFocused`, and the optional :ref:`windows.GetInfo` parameter has its ``populate`` member set to <value>true</value>."
11799
12238
  },
11800
12239
  "incognito": {
11801
12240
  "type": "boolean",
11802
- "description": "Whether the window is incognito."
12241
+ "description": "Whether the window is incognito. Since Thunderbird does not support the incognito mode, this is always <value>false</value>."
11803
12242
  },
11804
12243
  "type": {
11805
12244
  "$ref": "WindowType",
11806
12245
  "optional": true,
11807
- "description": "The type of browser window this is."
12246
+ "description": "The type of window this is."
11808
12247
  },
11809
12248
  "state": {
11810
12249
  "$ref": "WindowState",
11811
12250
  "optional": true,
11812
- "description": "The state of this browser window."
12251
+ "description": "The state of this window."
11813
12252
  },
11814
12253
  "alwaysOnTop": {
11815
12254
  "type": "boolean",
@@ -11825,7 +12264,7 @@
11825
12264
  {
11826
12265
  "id": "CreateType",
11827
12266
  "type": "string",
11828
- "description": "Specifies what type of browser window to create. The 'panel' and 'detached_panel' types create a popup unless the '--enable-panels' flag is set.",
12267
+ "description": "Specifies what type of window to create. Thunderbird does not support <value>panel</value> and <value>detached_panel</value>, they are interpreted as <value>popup</value>.",
11829
12268
  "enum": [
11830
12269
  "normal",
11831
12270
  "popup",
@@ -11841,7 +12280,7 @@
11841
12280
  "populate": {
11842
12281
  "type": "boolean",
11843
12282
  "optional": true,
11844
- "description": "If true, the :ref:`windows.Window` returned will have a <var>tabs</var> property that contains an array of :ref:`tabs.Tab` objects representing the tabs inside the window. The :ref:`tabs.Tab` objects only contain the <code>url</code>, <code>title</code> and <code>favIconUrl</code> properties if the extension's manifest file includes the <permission>tabs</permission> permission."
12283
+ "description": "If true, the :ref:`windows.Window` returned will have a ``tabs`` property that contains an array of :ref:`tabs.Tab` objects representing the tabs inside the window. The :ref:`tabs.Tab` objects only contain the ``url``, ``title`` and ``favIconUrl`` properties if the extension's manifest file includes the <permission>tabs</permission> permission."
11845
12284
  },
11846
12285
  "windowTypes": {
11847
12286
  "type": "array",
@@ -11896,7 +12335,7 @@
11896
12335
  {
11897
12336
  "name": "getCurrent",
11898
12337
  "type": "function",
11899
- "description": "Gets the current window.",
12338
+ "description": "Gets the active or topmost window.",
11900
12339
  "async": "callback",
11901
12340
  "parameters": [
11902
12341
  {
@@ -11968,7 +12407,7 @@
11968
12407
  {
11969
12408
  "name": "create",
11970
12409
  "type": "function",
11971
- "description": "Creates (opens) a new browser with any optional sizing, position or default URL provided.",
12410
+ "description": "Creates (opens) a new window with any optional sizing, position or default URL provided.",
11972
12411
  "async": "callback",
11973
12412
  "parameters": [
11974
12413
  {
@@ -11978,7 +12417,7 @@
11978
12417
  "default": {},
11979
12418
  "properties": {
11980
12419
  "url": {
11981
- "description": "A URL or array of URLs to open as tabs in the window. Fully-qualified URLs must include a scheme (i.e. 'http://www.google.com', not 'www.google.com'). Relative URLs will be relative to the current page within the extension. Defaults to the New Tab Page.",
12420
+ "description": "A URL or array of URLs to open as tabs in the window. Fully-qualified URLs must include a scheme (i.e. <value>http://www.google.com</value>, not <value>www.google.com</value>). Relative URLs will be relative to the current page within the extension. Defaults to the New Tab Page.",
11982
12421
  "optional": true,
11983
12422
  "choices": [
11984
12423
  {
@@ -12003,12 +12442,12 @@
12003
12442
  "left": {
12004
12443
  "type": "integer",
12005
12444
  "optional": true,
12006
- "description": "The number of pixels to position the new window from the left edge of the screen. If not specified, the new window is offset naturally from the last focused window. This value is ignored for panels."
12445
+ "description": "The number of pixels to position the new window from the left edge of the screen. If not specified, the new window is offset naturally from the last focused window."
12007
12446
  },
12008
12447
  "top": {
12009
12448
  "type": "integer",
12010
12449
  "optional": true,
12011
- "description": "The number of pixels to position the new window from the top edge of the screen. If not specified, the new window is offset naturally from the last focused window. This value is ignored for panels."
12450
+ "description": "The number of pixels to position the new window from the top edge of the screen. If not specified, the new window is offset naturally from the last focused window."
12012
12451
  },
12013
12452
  "width": {
12014
12453
  "type": "integer",
@@ -12029,24 +12468,24 @@
12029
12468
  "description": "If true, opens an active window. If false, opens an inactive window."
12030
12469
  },
12031
12470
  "incognito": {
12471
+ "unsupported": true,
12032
12472
  "type": "boolean",
12033
- "optional": true,
12034
- "description": "Whether the new window should be an incognito window."
12473
+ "optional": true
12035
12474
  },
12036
12475
  "type": {
12037
12476
  "$ref": "CreateType",
12038
12477
  "optional": true,
12039
- "description": "Specifies what type of browser window to create. The 'panel' and 'detached_panel' types create a popup unless the '--enable-panels' flag is set."
12478
+ "description": "Specifies what type of window to create. Thunderbird does not support <value>panel</value> and <value>detached_panel</value>, they are interpreted as <value>popup</value>."
12040
12479
  },
12041
12480
  "state": {
12042
12481
  "$ref": "WindowState",
12043
12482
  "optional": true,
12044
- "description": "The initial state of the window. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined with 'left', 'top', 'width' or 'height'."
12483
+ "description": "The initial state of the window. The ``minimized``, ``maximized`` and ``fullscreen`` states cannot be combined with ``left``, ``top``, ``width`` or ``height``."
12045
12484
  },
12046
12485
  "allowScriptsToClose": {
12047
12486
  "type": "boolean",
12048
12487
  "optional": true,
12049
- "description": "Allow scripts to close the window."
12488
+ "description": "Allow scripts running inside the window to close the window by calling <code>window.close()</code>."
12050
12489
  },
12051
12490
  "titlePreface": {
12052
12491
  "type": "string",
@@ -12099,13 +12538,13 @@
12099
12538
  "type": "integer",
12100
12539
  "minimum": 0,
12101
12540
  "optional": true,
12102
- "description": "The width to resize the window to in pixels. This value is ignored for panels."
12541
+ "description": "The width to resize the window to in pixels."
12103
12542
  },
12104
12543
  "height": {
12105
12544
  "type": "integer",
12106
12545
  "minimum": 0,
12107
12546
  "optional": true,
12108
- "description": "The height to resize the window to in pixels. This value is ignored for panels."
12547
+ "description": "The height to resize the window to in pixels."
12109
12548
  },
12110
12549
  "focused": {
12111
12550
  "type": "boolean",
@@ -12115,12 +12554,12 @@
12115
12554
  "drawAttention": {
12116
12555
  "type": "boolean",
12117
12556
  "optional": true,
12118
- "description": "If true, causes the window to be displayed in a manner that draws the user's attention to the window, without changing the focused window. The effect lasts until the user changes focus to the window. This option has no effect if the window already has focus. Set to false to cancel a previous draw attention request."
12557
+ "description": "Setting this to <value>true</value> will cause the window to be displayed in a manner that draws the user's attention to the window, without changing the focused window. The effect lasts until the user changes focus to the window. This option has no effect if the window already has focus."
12119
12558
  },
12120
12559
  "state": {
12121
12560
  "$ref": "WindowState",
12122
12561
  "optional": true,
12123
- "description": "The new state of the window. The 'minimized', 'maximized' and 'fullscreen' states cannot be combined with 'left', 'top', 'width' or 'height'."
12562
+ "description": "The new state of the window. The ``minimized``, ``maximized`` and ``fullscreen`` states cannot be combined with ``left``, ``top``, ``width`` or ``height``."
12124
12563
  },
12125
12564
  "titlePreface": {
12126
12565
  "type": "string",
@@ -12186,7 +12625,7 @@
12186
12625
  "items": {
12187
12626
  "$ref": "WindowType"
12188
12627
  },
12189
- "description": "Conditions that the window's type being created must satisfy. By default it will satisfy <code>['app', 'normal', 'panel', 'popup']</code>, with <code>'app'</code> and <code>'panel'</code> window types limited to the extension's own windows."
12628
+ "description": "Conditions that the window's type being created must satisfy. By default it will satisfy <value>['app', 'normal', 'panel', 'popup']</value>, with <value>app</value> and <value>panel</value> window types limited to the extension's own windows."
12190
12629
  }
12191
12630
  ],
12192
12631
  "parameters": [
@@ -12208,7 +12647,7 @@
12208
12647
  "items": {
12209
12648
  "$ref": "WindowType"
12210
12649
  },
12211
- "description": "Conditions that the window's type being removed must satisfy. By default it will satisfy <code>['app', 'normal', 'panel', 'popup']</code>, with <code>'app'</code> and <code>'panel'</code> window types limited to the extension's own windows."
12650
+ "description": "Conditions that the window's type being removed must satisfy. By default it will satisfy <value>['app', 'normal', 'panel', 'popup']</value>, with <value>app</value> and <value>panel</value> window types limited to the extension's own windows."
12212
12651
  }
12213
12652
  ],
12214
12653
  "parameters": [
@@ -12223,7 +12662,7 @@
12223
12662
  {
12224
12663
  "name": "onFocusChanged",
12225
12664
  "type": "function",
12226
- "description": "Fired when the currently focused window changes. Will be :ref:`windows.WINDOW_ID_NONE`) if all browser windows have lost focus. **Note:** On some Linux window managers, WINDOW_ID_NONE will always be sent immediately preceding a switch from one browser window to another.",
12665
+ "description": "Fired when the currently focused window changes. Will be :ref:`windows.WINDOW_ID_NONE`, if all windows have lost focus. **Note:** On some Linux window managers, WINDOW_ID_NONE will always be sent immediately preceding a switch from one window to another.",
12227
12666
  "filters": [
12228
12667
  {
12229
12668
  "name": "windowTypes",
@@ -12231,7 +12670,7 @@
12231
12670
  "items": {
12232
12671
  "$ref": "WindowType"
12233
12672
  },
12234
- "description": "Conditions that the window's type being removed must satisfy. By default it will satisfy <code>['app', 'normal', 'panel', 'popup']</code>, with <code>'app'</code> and <code>'panel'</code> window types limited to the extension's own windows."
12673
+ "description": "Conditions that the window's type being focused must satisfy. By default it will satisfy <value>['app', 'normal', 'panel', 'popup']</value>, with <value>app</value> and <value>panel</value> window types limited to the extension's own windows."
12235
12674
  }
12236
12675
  ],
12237
12676
  "parameters": [