Fonctionnalités expérimentales dans Firefox
===========================================

Cette page détaille les fonctionnalités expérimentales ou partiellement implémentées présentes dans Firefox. Cela inclut les fonctionnalités concernées par les standards web très récents ou en cours de construction. Les informations de cette page permettent de savoir quelles versions contiennent ces fonctionnalités, si elles sont activées par défaut et la *préférence* qui peut être utilisée pour les activer ou les désactiver. Cela vous permet de tester les fonctionnalités avant leur sortie « générale ».

Les nouvelles fonctionnalités sont d'abord introduites dans Firefox Nightly où elles sont activées par défaut la plupart du temps. Elles passent ensuite sur la version Firefox Developer Edition puis enfin dans la version finale (*release*). Lorsqu'une fonctionnalité est activée par défaut dans une version *release*, elle n'est plus considérée comme expérimentale et devrait être retiré de cette liste.

Les fonctionnalités expérimentales peuvent être activées ou désactivées via l'éditeur de configuration Firefox (accessible en saisissant `about:config` dans la barre d'adresse de Firefox) en modifiant la ou les *préférence(s)* indiquées ci-après.

HTML
----

### L'élément <dialog>

L'élément HTML `<dialog>` et les API du DOM associées permettent de créer des boîtes de dialogue modales en HTML. L'implémentation actuelle manque de finesse mais permet les fonctionnalités de base. Voir le bug 840640 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 53 | Oui |
| Developer Edition | 53 | Non |
| Beta | 53 | Non |
| Release | 53 | Non |
| Nom de la préférence | `dom.dialog_element.enabled` |

### Attribut global inputmode

L'implémentation de l'attribut global `inputmode` a été mise à jour afin de suivre la spécification WHATWG (le bug 1509527), mais d'autres changements sont encore nécessaires (par exemple, le rendre disponible pour le contenu `contenteditable`), voir le bug 1205133 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 75 | Oui |
| Developer Edition | 75 | Non |
| Beta | 75 | Non |
| Release | 75 | Non |
| Nom de la préférence | `dom.forms.inputmode` |

### Attribut inert

La propriété `HTMLElement.inert` (en-US) de `HTMLElement` est un booléen qui, lorsqu'il est présent, peut permettre au navigateur d'ignorer l'élément pour les technologies d'assistance, la recherche sur la page et la sélection de texte. Pour plus de détails sur cette fonctionnalité, voir le bug 1655722.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 81 | Non |
| Developer Edition | 81 | Non |
| Beta | 81 | Non |
| Release | 81 | Non |
| Nom de la préférence | `html5.inert.enabled` |

### Disposition pour les champs input de type search

La mise en forme des éléments `input type="search"` a été mise à jour. Il y a désormais une icône qui apparaît après une saisie pour permettre d'effacer le champ. Ce comportement permet de rejoindre celui des autres navigateurs. Voir le bug 558594 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 81 | Non |
| Developer Edition | 81 | Non |
| Beta | 81 | Non |
| Release | 81 | Non |
| Nom de la préférence | `layout.forms.input-type-search.enabled` |

CSS
---

### Affichage des caractères de contrôle (rectangle avec valeur hexadécimale)

Cette fonctionnalité affiche les caractères de contrôle (catégorie Unicode Cc) autres que *tab* (`U+0009`), *saut de ligne* (`U+000A`), *saut de page* (`U+000C`) et *retour chariot* (`U+000D`) sous la forme d'un rectangle avec leur valeur hexadécimale à l'intérieur lorsque ces caractères sont inattendus. Voir le bug 1099557 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 43 | Oui |
| Developer Edition | 43 | Non |
| Beta | 43 | Non |
| Release | 43 | Non |
| Nom de la préférence | `layout.css.control-characters.enabled` ou
 `layout.css.control-characters.visible` |

### Propriété initial-letter

La propriété CSS `initial-letter` fait partie du module de spécification CSS3 Inline et permet d'indiquer l'élévation (entre autres) des lettres initiales. Voir le bug 1223880 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 50 | Non |
| Developer Edition | 50 | Non |
| Beta | 50 | Non |
| Release | 50 | Non |
| Nom de la préférence | `layout.css.initial-letter.enabled` |

### Propriété aspect-ratio

La propriété CSS `aspect-ratio` est décrite dans le module de spécification CSS4 Sizing et permet de créer des boîtes qui respectent des proportions (*aspect ratio* en anglais) données. Voir le bug 1639963 et le bug 1646096 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 81 | Oui |
| Developer Edition | 81 | Non |
| Beta | 81 | Non |
| Release | 81 | Non |
| Nom de la préférence | `layout.css.aspect-ratio.enabled` |

### Descripteur size-adjust

Le descripteur CSS `@font-face/size-adjust` est décrit dans le module de spécification CSS5 Fonts et définit un facteur de multiplication pour les contours des glyphes et les métriques associées à la police. Cela facilite l'harmonisation lorsqu'on utilise plusieurs polices qui sont affichées avec le même corps. Voir le bug 1698495 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 89 | Oui |
| Developer Edition | 89 | Non |
| Beta | 89 | Non |
| Release | 89 | Non |
| Nom de la préférence | `layout.css.size-adjust.enabled` |

### Nombres seuls pour les proportions dans les requêtes média

Il s'agit ici de la prise en charge permettant d'utiliser un seul nombre (`number`) pour exprimer le ratio lors de la définition d'une requête média. Voir le bug 1565562 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 70 | Non |
| Developer Edition | 70 | Non |
| Beta | 70 | Non |
| Release | 70 | Non |
| Nom de la préférence | `layout.css.aspect-ratio-number.enabled` |

### Propriété backdrop-filter

La propriété `backdrop-filter` permet d'appliquer des effets de filtre à la zone située derrière un élément. Voir le bug 1178765 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 70 | Non |
| Developer Edition | 70 | Non |
| Beta | 70 | Non |
| Release | 70 | Non |
| Nom de la préférence | `layout.css.backdrop-filter.enabled` |

### Grilles : disposition en maçonnerie

Cette fonctionnalité ajoute la prise en charge pour les dispositions « en maçonnerie » (en-US) basées sur les grilles où un axe est organisé avec une disposition donnée et où l'autre suit une disposition de grille normale. Cela permet aux développeuses et développeurs de créer plus facilement des dispositions pour des galeries. Voir le bug 1607954 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 77 | Oui |
| Developer Edition | 77 | Non |
| Beta | 77 | Non |
| Release | 77 | Non |
| Nom de la préférence | `layout.css.grid-template-masonry-value.enabled` |

### Caractéristique média prefers-contrast

La caractéristique média `prefers-contrast` est utilisée afin de déterminer si une utilisatrice ou un utilisateur indiqué une préférence pour un contraste élevé ou non. Voir le bug 1506364 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 80 | Non |
| Developer Edition | 80 | Non |
| Beta | 80 | Non |
| Release | 80 | Non |
| Nom de la préférence | `layout.css.prefers-contrast.enabled` |

### Propriété math-style

La propriété `math-style` indique si les équations MathML doivent être affichées avec une hauteur normale ou compacte. Voir le bug 1665975 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 83 | Non |
| Developer Edition | 83 | Non |
| Beta | 83 | Non |
| Release | 83 | Non |
| Nom de la préférence | `layout.css.math-style.enabled` |

JavaScript
----------

### Méthode at() pour l'indexation relative

La méthode `at()` qui permet d'utiliser une indexation relative a été ajoutée aux objets `Array`, `String` et `TypedArray`. L'utilisation d'un entier positif comme argument renverra l'élément situé à cet index tandis qu'un entier négatif permettra de récupérer un élément à partir de la fin du tableau ou de la chaîne. Ainsi `1` fournira le deuxième élément tandis que `-1` renverra le dernier élément. Voir `Array.prototype.at()`, `String.prototype.at()` et `TypedArray.prototype.at()` pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 85 | Oui |
| Developer Edition | 85 | Non |
| Beta | 85 | Non |
| Release | 85 | Non |

### Champs de classe privés

Voir la page sur les champs de classe privés pour plus d'informations.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 81 | Non |
| Developer Edition | 81 | Non |
| Beta | 81 | Non |
| Release | 81 | Non |
| Noms des préférences | `javascript.options.experimental.private_fieldsjavascript.options.experimental.private_methods` |

Fonctionnalités des API Web
---------------------------

### Graphismes : Canvas, WebGL, WebGPU

#### CanvasRenderingContext2D.createConicGradient()

L'interface `CanvasRenderingContext2D` rattachée à l'API `Canvas` fournit désormais une méthode `createConicGradient()` (en-US). Celle-ci renvoie une valeur `CanvasGradient` à la façon des méthodes existantes pour les dégradés linéaires et radiaux (en-US) mais pour les dégradés coniques. Voir le bug 1627014 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 86 | Non |
| Developer Edition | 86 | Non |
| Beta | 86 | Non |
| Release | 86 | Non |
| Nom de la préférence | `canvas.createConicGradient.enabled` |

#### Interface OffscreenCanvas

L'interface `OffscreenCanvas` fournit un canevas dont le rendu est effectué en dehors de l'écran. Il est disponible dans les contextes de la fenêtre et des workers. Voir le bug 1390089 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 44 | Non |
| Developer Edition | 44 | Non |
| Beta | 44 | Non |
| Release | 44 | Non |
| Nom de la préférence | `gfx.offscreencanvas.enabled` |

#### API Hit Regions

Déterminer si les coordonnées de la souris sont situées dans une région donnée d'un canevas est un problème courant. L'API Hit Regions permet de définir une zone du canevas et fournit d'autres outils pour exposer le contenu interactif d'un canevas aux outils d'accessibilité.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 30 | Non |
| Developer Edition | 30 | Non |
| Beta | 30 | Non |
| Release | 30 | Non |
| Nom de la préférence | `canvas.hitregions.enabled` |

#### WebGPU API

Cette nouvelle API fournit une prise en charge bas niveau pour les calculs et le rendu graphique en utilisant le GPU de l'appareil. La spécification est toujours en cours d'écriture. Voir le bug 1602129 pour l'état de l'implémentation pour cette API.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 73 | Non |
| Developer Edition | 73 | Non |
| Beta | 73 | Non |
| Release | 73 | Non |
| Nom de la préférence | `dom.webgpu.enabled` |

### API HTML DOM

#### Méthode setSinkId() pour HTMLMediaElement

`HTMLMediaElement.setSinkId()` (en-US) permet de définir l'identifiant d'un « sink » d'un appareil de sortie audio sur un `HTMLMediaElement` ce qui permet de modifier l'endroit où l'audio sort. Voir le bug 934425 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 64 | Non |
| Developer Edition | 64 | Non |
| Beta | 64 | Non |
| Release | 64 | Non |
| Nom de la préférence | `media.setsinkid.enabled` |

#### Propriétés audioTracks et videoTracks pour HTMLMediaElement

Cette fonctionnalité ajoute les propriétés `HTMLMediaElement.audioTracks` et `HTMLMediaElement.videoTracks` (en-US) aux éléments HTML qui sont des médias. Toutefois, comme Firefox ne prend actuellement pas en charge les pistes audio et vidéo multiples, les cas d'usage de ces propriétés ne fonctionnent pas et elles sont donc désactivées par défaut. Voir le bug 1057233 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 33 | Non |
| Developer Edition | 33 | Non |
| Beta | 33 | Non |
| Release | 33 | Non |
| Nom de la préférence | `media.track.enabled` |

### DOM

#### ClipboardItem

L'interface `ClipboardItem` (en-US), rattachée à l'API `Clipboard API` est désormais prise en charge et `Clipboard.write()` accepte une série d'éléments de presse-papier (`ClipboardItem`) (en-US) plutôt que l'implémentation précédente avec des objets DataTransfer. Elle est disponible avec la préférence `dom.events.asyncClipboard.clipboardItem` qui était précédemment intitulée `dom.events.asyncClipboard.dataTransfer`. Voir le bug 1619947 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 87 | Non |
| Developer Edition | 87 | Non |
| Beta | 87 | Non |
| Release | 87 | Non |
| Nom de la préférence | `**dom.events.asyncClipboard.clipboardItem**` |

#### API HTML Sanitizer

L'API `HTML Sanitizer` (en-US) permet aux développeuses et développeurs de prendre en entrée des chaînes de caractères HTML non sécurisées et de les nettoyer afin de pouvoir les insérer dans le DOM d'un document. Les éléments par défaut pour chaque propriété de configuration sont toujours en cours d'étude. Pour cette raison, le paramètre de configuration n'a pas été implémenté. Voir la documentation du constructeur (en-US) pour plus d'informations et le bug 1673309 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 84 | Non |
| Developer Edition | 84 | Non |
| Beta | 84 | Non |
| Release | 84 | Non |
| Nom de la préférence | `**dom.security.sanitizer.enabled**` |

#### Propriété autoplayPolicy pour Document

La propriété `autoplayPolicy`, rattachée à `document`, renvoie une chaîne de caractères indiquant la façon dont le navigateur gère les requêtes pour la lecture automatique des médias (déclenchée avec l'utilisation de la propriété `autoplay` (en-US) ou via le déclenchement de la lecture depuis du code JavaScript). La spécification de cette API est en cours d'écriture. La valeur de cette propriété évolue selon les actions de l'utilisateur, leurs préférences/configurations et de l'état du navigateur. Les valeurs possibles sont `allowed` (la lecture automatique est possible), `allowed-muted` (la lecture automatique est possible mais sans audio), et `disallowed` (la lecture automatique n'est pas possible). Voir le bug 1506289 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 66 | Non |
| Developer Edition | 66 | Non |
| Beta | 66 | Non |
| Release | 66 | Non |
| Nom de la préférence | `dom.media.autoplay.autoplay-policy-api` |

#### Méthodes convertPointFromNode(), convertRectFromNode(), et convertQuadFromNode() pour GeometryUtils

Les méthodes `convertPointFromNode()`, `convertRectFromNode()`, et `convertQuadFromNode()` effectuent la correspondance entre un point, un rectangle ou un quadrilatère donné et le `Node` depuis lequel ils sont appelés vers un autre nœud. Voir le bug 918189 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 31 | Oui |
| Developer Edition | 31 | Non |
| Beta | 31 | Non |
| Release | 31 | Non |
| Nom de la préférence | `layout.css.getBoxQuads.enabled` |

#### Méthode getBoxQuads() pour GeometryUtils

La méthode `getBoxQuads()` pour `GeometryUtils` renvoie les boîtes CSS d'un objet `Node` relatif à un autre nœud ou à la zone d'affichage. Voir le bug 917755 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 31 | Oui |
| Developer Edition | 31 | Non |
| Beta | 31 | Non |
| Release | 31 | Non |
| Nom de la préférence | `layout.css.convertFromNode.enable` |

### API Payment Request

#### Gestion de la méthode de paiement principale

L'API Payment Request permet de gérer les paiements au sein de contenu ou d'application web. En raison d'un bug lors des tests de l'interface utilisateur, il a été décidé de suspendre la sortie de cette API tant que des discussions sont en cours sur des changements potentiels à cette API. Le travail est en cours. Voir le bug 1318984 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 55 | Non |
| Developer Edition | 55 | Non |
| Beta | 55 | Non |
| Release | 55 | Non |
| Nom de la préférence | `dom.payments.request.enabled` et
 `dom.payments.request.supportedRegions` |

#### API Basic Card

Il s'agit d'étendre l'API Payment Request avec des dictionnaires définissant les structures de données qui décrivent les types de cartes de paiement et les réponses de paiement. Voir `BasicCardRequest` et `BasicCardResponse`.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 56 | Non |
| Developer Edition | 56 | Non |
| Beta | 56 | Non |
| Release | 56 | Non |
| Nom de la préférence | `dom.payments.request.enabled` and`dom.payments.request.supportedRegions` |

### API Visual Viewport

L'API Visual Viewport (en-US) (qu'on peut traduire en « zone d'affichage visuelle ») donne accès à des informations décrivant la position de la zone d'affichage visuelle (en-US) relative au document et à la zone de contenu de la fenêtre. Elle contient également des évènements pour surveiller les évolutions. Voir le bug 1550390 pour plus de détails. Il n'est pas prévu de fournir cette API sur la version pour ordinateur de bureau, voir le bug 1551302 si besoin.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 63 | Non |
| Developer Edition | 63 | Non |
| Beta | 63 | Non |
| Release | 63 | À partir de Firefox 68, sur Android uniquement |
| Nom de la préférence | `dom.visualviewport.enabled` |

### Constructeur pour les feuilles de style

Cette fonctionnalité ajoute un constructeur pour l'interface `CSSStyleSheet` (en-US) et d'autres modifications permettant de créer de nouvelles feuilles de style sans avoir à ajouter la feuille au HTML. Cela permet de créer des feuilles de style réutilisables beaucoup plus facilement afin de les utiliser avec Shadow DOM. L'implémentation actuelle n'est pas encore terminée. Voir le bug 1520690 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 73 | Non |
| Developer Edition | 73 | Non |
| Beta | 73 | Non |
| Release | 73 | Non |
| Nom de la préférence | `layout.css.constructable-stylesheets.enabled` |

### WebRTC et média

Les fonctionnalités expérimentales qui suivent incluent celles relatives aux API suivantes WebRTC, Web Audio, Media Source Extensions (en-US), Encrypted Media Extensions (en-US), et Media Capture and Streams.

#### Méthodes asynchrones pour l'ajout et le retrait sur SourceBuffer

Cette fonctionnalité ajoute les méthodes `appendBufferAsync()` (en-US) et `removeAsync()` (en-US) qui fonctionnent avec des promesses et permettent d'ajouter et de retirer des tampons de source média à l'interface `SourceBuffer` (en-US). Voir le bug 1280613 et le bug 778617 pour plus d'informations.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 62 | Non |
| Developer Edition | 62 | Non |
| Beta | 62 | Non |
| Release | 62 | Non |
| Nom de la préférence | `media.mediasource.experimental.enabled` |

#### Prise en charge du format AVIF (AV1 Image File)

Avec cette fonctionnalité, Firefox prend en charge le format AV1 Image File (AVIF). Il s'agit d'un format d'image tirant parti des algorithmes de compression vidéo AV1 pour réduire la taille des images. Voir le bug 1443863 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 77 | Non |
| Developer Edition | 77 | Non |
| Beta | 77 | Non |
| Release | 77 | Non |
| Nom de la préférence | `image.avif.enabled` |

#### Prise en charge d'AV1 pour Firefox sur Android

Cette fonctionnalité permet à Firefox sur Android d'utiliser le format AV1 (en-US). Cette fonctionnalité est disponible pour les versions *nightly* pour Firefox sur Android à partir de la version 81. Elle est activée par défaut.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 81 | Oui |
| Developer Edition | — | — |
| Beta | — | — |
| Release | — | — |
| Nom de la préférence | — |

Sécurité et confidentialité
---------------------------

#### Block plain text requests from Flash on encrypted pages

Afin d'atténuer le risque d'attaque de l'homme du milieu (MitM) pour le contenu Flash sur les pages chiffrées, une préférence a été ajoutée afin de traiter `OBJECT_SUBREQUEST` comme du contenu actif. Voir le bug 1190623 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 59 | Non |
| Developer Edition | 59 | Non |
| Beta | 59 | Non |
| Release | 59 | Non |
| Nom de la préférence | `security.mixed_content.block_object_subrequest` |

#### Indication des pages non-sécurisées

Les deux préférences suivantes permettent d'ajouter un libellé « Non-sécurisé » dans la barre d'adresse à côté de l'icône de cadenas lorsqu'une page est chargée de façon non-sécurisée (via HTTP plutôt qu'avec HTTPS). Voir le bug 1335970 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 60 | Non |
| Developer Edition | 60 | Non |
| Beta | 60 | Non |
| Release | 60 | Non |
| Nom de la préférence | `security.insecure_connection_text.enabled` pour la
 navigation en mode normale,
 `security.insecure_connection_text.pbmode.enabled` pour la
 navigation en mode privé
  |

#### Mise à niveau pour les médias chargés avec une sécurité mixte

Lorsque la préférence correspondante est activée, Firefox passe les requêtes des contenus média HTTP en HTTPS pour les pages sécurisées. L'objectif est d'éviter des conditions de contenu mixte où du contenu serait chargé de façon sécurisée tandis qu'un autre contenu serait chargé de façon non-sécurisée. Si la bascule en HTTPS échoue (par exemple si l'hôte qui sert le média ne prend pas en charge HTTPS), le média n'est pas chargé. Voir le bug 1435733pour plus de détails.

Cela modifie également l'avertissement de la console : si la mise à niveau réussit, un message indiquant que la requête a été mise à niveau est affiché plutôt qu'un avertissement.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 84 | Oui |
| Developer Edition | 60 | Non |
| Beta | 60 | Non |
| Release | 60 | Non |
| Nom de la préférence | `security.mixed_content.upgrade_display_content` |

#### En-tête Feature-Policy

Feature-Policy est un en-tête HTTP qui permet de choisir l'activation, la désactivation ou certaines des fonctionnalités et API dans le navigateur. Cet en-tête est similaire au CSP mais permet de contrôler des fonctionnalités plutôt que des traits liés à la sécurité.

**Note :**

L'en-tête `Feature-Policy` a été renommé en `Permissions-Policy` dans la spécification. Cet article sera mis à jour afin de refléter ce changement.


| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 65 | Non |
| Developer Edition | 65 | Non |
| Beta | 65 | Non |
| Release | 65 | Non |
| Nom de la préférence | `dom.security.featurePolicy.header.enabled` |

Outils de développement
-----------------------

#### Sélecteur pour le contexte d'exécution

Cette fonctionnalité affiche un bouton sur la ligne de commande de la console qui permet de changer le contexte dans lequel l'expression saisie est exécutée. Voir le bug 1605154 et le bug 1605153 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 75 | Non |
| Developer Edition | 75 | Non |
| Beta | 75 | Non |
| Release | 75 | Non |
| Nom de la préférence | `devtools.webconsole.input.context` |

#### Prise en charge des gestes mobiles en vue adaptative

Les gestes à la souris peuvent être utilisés pour simuler des gestes tactiles sur mobiles comme le défilement, le zoom en pinçant, l'appui long ou l'appui double. Voir le bug 1621781, le bug 1245183, et le bug 1401304 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 76[1] | Oui |
| Developer Edition | 76[1] | Oui |
| Beta | 76[1] | Oui |
| Release | 76[1] | Non |
| Nom de la préférence | n/a |

[1] La prise en charge pour le geste de double toucher a été ajouté avec Firefox 76. Les autres gestes ont été ajoutés avec Firefox 79.

#### Évènements émis par le serveur dans le moniteur réseau

Cette fonctionnalité permet au moniteur réseau d'afficher des informations sur les évènements émis par le serveur. Voir le bug 1405706 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 80 | Oui |
| Developer Edition | 80 | Oui |
| Beta | 80 | Non |
| Release | 80 | Non |
| Nom de la préférence | `devtools.netmonitor.features.serverSentEvents` |

#### Bulles d'informations pour la compatibilité CSS des navigateurs

La vue pour les règles CSS peut afficher des bulles d'informations pour la compatibilité des navigateurs pour les propriétés qui ont des problèmes connus. Pour plus d'informations, voir : Examiner et éditer le HTML > Avertissements de compatibilité navigateur.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 81 | Non |
| Developer Edition | 81 | Non |
| Beta | 81 | Non |
| Release | 81 | Non |
| Nom de la préférence | `devtools.inspector.ruleview.inline-compatibility-warning.enabled` |

Interface utilisateur (UI)
--------------------------

#### Zoom (version bureau)

Cette fonctionnalité permet, pour les ordinateurs de bureau, un zoom doux avec le geste de pincement sans qu'il y ait de redessin de l'écran, à la façon des appareils mobiles. Voir le bug 1245183 et le bug 1620055 pour plus de détails.

| Canal | Ajouté dans la version | Activé par défaut |
| --- | --- | --- |
| Nightly | 42 | Oui |
| Developer Edition | 42 | Non |
| Beta | 42 | Non |
| Release | 42 | Non |
| Nom de la préférence | `apz.allow_zooming` et pour Windows :
 `apz.windows.use_direct_manipulation` |

Voir aussi
----------

* Les notes de version pour Firefox destinées aux développeuses et développeurs
* Firefox Nightly
* Firefox Developer Edition