recursal/MDN huggingface dataset:
browserAction.setTitle()
========================

Définit le titre de l'action du navigateur. Le titre est affiché dans une infobulle au-dessus de l'icône de l'action du navigateur. Vous pouvez passer un `tabId` dans ou une `windowId` comme paramètre optionnel — si vous le faites, le titre est changé seulement pour l'onglet donné ou la fenêtre donnée. Les onglets ou les fenêtres sans titre spécifique hériteront du texte du titre global, qui est par défaut à l'option `default_title` ou `name` specifié dans le manifest.

Syntaxe
-------


```js
browser.browserAction.setTitle(
  details, // object
);
```

### Paramètres

`details`

`object`. Le nouveau titre et éventuellement l'ID de l'onglet ou de la fenêtre à cibler.

`title`

`string` ou `null`. La chaîne de caractères que l'action du navigateur doit afficher lorsqu'il y a une souris.

Si `title` est une chaîne vide, le titre utilisé sera le nom de l'extension, mais `browserAction.getTitle` fournira toujours la chaîne vide.

Si `title` est `null`:

* Si `tabId` est spécifié, et que l'onglet a un jeu de titres spécifiques aux onglets, alors l'onglet héritera du titre de la fenêtre à laquelle il appartient.
* Si `windowId` est spécifié, et que la fenêtre a un titre spécifique à la fenêtre, alors la fenêtre héritera du titre global.
* Sinon, le titre global sera réinitialisé au titre du manifest.

`tabId`Facultatif

`integer`. Définit le titre uniquement pour l'onglet donné.

`windowId`Facultatif

`integer`. Définit le titre de la fenêtre donnée.



* Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et le titre n'est pas défini.
* Si `windowId` et `tabId` sont tous les deux omis, le titre global est défini.
Exemples
--------

Ce code change le titre entre "ceci" et "ça" chaque fois que l'utilisateur clique sur l'action du navigateur :


```js
function toggleTitle(title) {
  if (title == "this") {
    browser.browserAction.setTitle({ title: "that" });
  } else {
    browser.browserAction.setTitle({ title: "this" });
  }
}

browser.browserAction.onClicked.addListener(() => {
  var gettingTitle = browser.browserAction.getTitle({});
  gettingTitle.then(toggleTitle);
});
```

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

### Example extensions

* bookmark-it

**Note :**

Cette API est basée sur l'API Chromium `chrome.browserAction`. Cette documentation est dérivée de `browser_action.json` dans le code de Chromium code.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
BrowserSetting
==============

Un `BrowserSetting` est un objet représentant un paramètre de navigateur.

Il fournit des méthodes pour définir et obtenir la valeur sous-jacente du paramètre, pour effacer tout changement que vous avez apporté et pour écouter les modifications apportées à sa valeur.

Notez que si cet objet est basé sur le type ChromeSetting, cet objet ne fait pas de distinction entre le réglage de la valeur dans les fenêtres de navigation privées. Cela signifie que toutes les parties de l'API relatives à la navigation privée (telles que l'option `scope` de `ChromeSetting.set()`) ne sont pas implémentées.

Méthodes
--------

`types.BrowserSetting.get()`

Obtenez la valeur actuelle du paramètre et une énumération représentant la façon dont le paramètre est actuellement contrôlé.

`types.BrowserSetting.set()`

Réglez le paramètre sur une nouvelle valeur.

`types.BrowserSetting.clear()`

Effacez toute modification apportée au paramètre par cette extension.

Evénements
----------

`types.BrowserSetting.onChange`

Définit lorsque la valeur du paramètre change.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.types`.
get()
=====

La méthode `BrowserSetting.get()` obtient la valeur actuelle du paramètre du navigateur et une énumération indiquant comment la valeur du paramètre est actuellement controléee..

Il s'agit d'une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var getting = setting.get(
  details, // object
);
```

### Paramètres

`détails`

Un objet vide.

### Valeur de retour

Une `Promise` qui sera remplie avec un objet avec les propriétés suivantes :

`value`

La valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.

`levelOfControl`

`string`. Cela représente la façon dont la paramètre est actuellement controllé. Vous pouvez l'utiliser pour vérifier si vous pouvez modifier le paramètre. Voir `BrowserSetting.set()` pour plus détails. Sa valeur peut-être l'une des suivantes :


|  |  |
| --- | --- |
| `"not_controllable"` | Les extensions ne sont pas autorisées à modifier le paramètre. |
| `"controlled_by_other_extensions"` | 
 Une autre extension qui a été installée après celle-ci a modifié ce
 paramètre
  |
| `"controllable_by_this_extension"` | Cette extension est autorisée à modifier le paramètre. |
| `"controlled_by_this_extension"` | Cette extensions a déjà modifi le paramètre. |

Compatibilité des navigateurs
-----------------------------

Voir `types.BrowserSetting`.

Exemple
-------

Enregitrez la valeur et le niveau de contrôle de la propriété `networkPredictionEnabled` de l'objet `privacy.network`, pour les fenêtres de navigations privées. Notez que cela nécessite la permission du navigateur "privacy".


```js
var getting = browser.privacy.network.networkPredictionEnabled.get({});

getting.then((got) => {
  console.log(`Value: ${got.value}`);
  console.log(`Control: ${got.levelOfControl}`);
});
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.types`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
clear()
=======

Utilisez `BrowserSetting.clear()` pour effacer toutes les modification apportées à l'extension du navigateur. Le paramètre du navigateur revient à sa valeur précédente.

L'extensions annulera également le contrôle du paramètre, permettant une extension avec une ancienne précédente (c'est à dire, une extensions qui a été installée avant celle-ci) à modifier la paramètre. Voir `BrowserSetting.set()` pour en savoir plus sur le contrôle des paramètres.

Il s'agit d'une fonction asynchrone qui renvoie une `Promise`. Si la compensation a échoué, la promesse renvoie une valeur à `false`. Si l'effacement de la valeur a réussi, il se résout à `true`.

Syntaxe
-------


```js
var clearing = setting.clear(
  details, // object
);
```

### Paramètres

`details`

Un objet vide

### Valeur retournée

Une `Promise` qui sera rempli avec un `booléen`: `true` Si le paramètre est effacé, `false` sinon.

Compatibilité des navigateurs
-----------------------------

Voir `types.BrowserSetting`.

Exemple
-------

Effacer le paramètre `webRTCIPHandlingPolicy` :


```js
function onCleared(result) {
  if (result) {
    console.log("Setting was cleared");
  } else {
    console.log("Setting was not cleared");
  }
}

var clearing = browser.privacy.network.webRTCIPHandlingPolicy.clear({});
clearing.then(onCleared);
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.types`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
onChange
========

L'événement `BrowserSetting.onChanged` est déclenché lorsque le paramètre est modifié.

Syntaxe
-------


```js
BrowserSetting.onChanged.addListener(listener);
BrowserSetting.onChanged.removeListener(listener);
BrowserSetting.onChanged.hasListener(listener);
```


Les événement ont trois fonctions :

`addListener(listener)`

Ajout un auditeur à cet événement.

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument `listener` est l'auditeur à supprimer.

`hasListener(listener)`

Vérifier si l'auditeur est enregistré pour cet événement. Renvoie `true` si elle écoute, `false` sinon.

Syntaxe addListener
-------------------

### Paramètres

`callback`

Une fonction de rappel qui sera appelée lorsque cet événement se produira. La fonction passera les arguments suivants :

`details`

Un `object` contenant des détails sur le changement survenu. Ses propriété sont les suivantes :

`value`

La nouvelle valeur du paramètre. Le type de cette propriété est déterminé par le paramètre particulier.

`levelOfControl`

`string`. Cela représente la façon dont le paramètre est actuellement controlé. Vous pouvez l'utiliser pour vérifier si vous pouvez modifier le réglage. Voir `BrowserSetting.set()` pour plus détails. Sa valeur peut-être l'une des suivantes :


|  |  |
| --- | --- |
| `"not_controllable"` | Les extensions ne sont pas autorisées à modifier ce paramètre. |
| `"controlled_by_other_extensions"` | 
 Une autre extensions qui a été installée après celle-ci a modifié ce
 paramètre.
  |
| `"controllable_by_this_extension"` | Cette extensions est autorisée à modifier le paramètre. |
| `controlled_by_this_extension"` | Cette extensions a déjà modifié le paramètre. |


Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Exemples
--------

**Note :**

Cette API est basée sur l'API Chromium `chrome.types`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
devtools.inspectedWindow
========================

**Note :** Cette page décrit les API de développement de WebExtensions telles qu'elles existent dans Firefox 54. Bien que les API soient basées sur les APIs de devtools de Chrome, il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir les fonctionnalités actuellement manquantes, regarder Limitations des APIs devtools.

L'API `devtools.inspectedWindow` permet à un extension de devtools d'interagir avec la fenêtre sur laquelle les outils de développement sont attachés.

Comme toutes les APIs de `devtools`, cette API n'est disponible que pour exécuter le code dans le document défini dans la clé devtools\_page du manifest.json, où dans d'autres documents devtools créés par l'extension (tels que le document hébergé par un panneau, l'extension créée). Voir Extension des outils de développement pour plus d'informations.

Propriétés
----------

`devtools.inspectedWindow.tabId`

L'ID de la fenêtre sur laquelle sont attachés les outils du développeur.

Fonctions
---------

`devtools.inspectedWindow.eval()`

Evaluez certains JavaScript dans la fenêtre de destination.

`devtools.inspectedWindow.reload()`

Rechargez le document de la fenêtre destination.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* devtools-panels

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.inspectedWindow`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
devtools.network
================

L'API `devtools.network` permet à une extension devtools d'obtenir des informations sur les demandes de réseau associées à la fenêtre à laquelle les devtools sont attachés (la fenêtre inspectée).

Comme toutes les APIs de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé devtools\_page du manifest.json, ou dans d'autres documents de devtools créés par l'extension (tel que le document du panneau). Voir Extension des outils de développement pour plus d'informations.

Fonctions
---------

devtools.network.getHAR()

Obtenez le journal HAR pour la page chargée dans l'onglet en cours..

Evénements
----------

`devtools.network.onNavigated`

Attiré lorsque l'utilisateur navigue dans la fenêtre inspectée vers une nouvelle page.

`devtools.network.onRequestFinished`

Lancé lorsque la demande réseau est terminée et que ses détails sont disponibles pour l'extension.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.network`.
devtools.panels
===============

**Note :** Bien que les API soient basées sur les APIs de devtools de Chrome, il existe encore de nombreuses fonctionnalités qui ne sont pas encore implémentées dans Firefox et ne sont donc pas documentées ici. Pour voir les fonctionnalités actuellement manquantes, regarder Limitations des APIs devtools.

L'API devtools.panels permet à une extension devtools de définir son interface utilisateur à l'intérieur de la fenêtre devtools.

La fenêtre devtools héberge un certain nombre d'outils distincts - le débogueur JavaScript, le moniteur réseau, etc. Une rangée d'onglets sur le haut permet à l'utilisateur de basculer entre les différents outils. La fenêtre hébergeant l'interface utilisateur de chaque outil s'appelle un "panneau".

Avec l'API devtools.panels, vous pouvez créer de nouveaux panneaux dans la fenêtre des devtools.

Comme toutes les API de devtools, cette API est uniquement disponible pour le code exécuté dans le document défini dans la clé devtools\_page du manifest.json, ou dans d'autres documents de déploiement créés par une extension (tel que le document du panneau). Voir Extension des outils de développement pour plus for d'informations.

Types
-----

`devtools.panels.ElementsPanel`

Représente l'inspecteur HTML/CSS dans le devtools du navigateur

`devtools.panels.ExtensionPanel`

Représente un panneau de déploiement créé par l'extension.

`devtools.panels.ExtensionSidebarPane`

Représente un volet ajouté par une extension à l'inspecteur HTML/CC dans les devtools du navigateur.

Propriétés
----------

`devtools.panels.elements`

Une référence à un objet `ElementsPanel`.

`devtools.panels.themeName`

Le nom du thème actuel des devtools.

Fonctions
---------

`devtools.panels.create()`

Créé un nouveau panneau de développement

Evénements
----------

`devtools.panels.onThemeChanged`

Mise en place lorsque le thème Devtools change.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Example extensions
------------------

* devtools-panels

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
devtools.panels.ExtensionPanel
==============================

Une `ExtensionPanel` représente un panneau ajouté aux devtools. C'est la résolution de la `Promise` renvoyé par `browser.devtools.panels.create()`.

Type
----

Les valeurs de ce type sont des objets. Définissez deux événements, `onShown` et `onHidden`.

* `onShown` est émis lorsque le panneau est affiché dans les devtools (par exemple, quand l'utilisateur a cliqué sur le panneau dans la fenêtre des devtools).
* `onHidden` est émis lorsque le panneau est caché (par exemple, quand l'utilisateur a basculé sur un onglet différent dans la fenêtre devtools).
Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Exemples
--------

Ce code crée un nouveau panneau, puis ajoute des gestionnaires pour ces événements `onShown` et `onHidden`.


```js
function handleShown(e) {
  console.log(e);
  console.log("panel is being shown");
}

function handleHidden(e) {
  console.log(e);
  console.log("panel is being hidden");
}

browser.devtools.panels
  .create(
    "My Panel", // title
    "icons/star.png", // icon
    "devtools/panel/panel.html", // content
  )
  .then((newPanel) => {
    newPanel.onShown.addListener(handleShown);
    newPanel.onHidden.addListener(handleHidden);
  });
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
devtools.panels.create()
========================

Ajoute un nouveau panneau aux devtools.

Cette fonction prend : un titre, une URL vers un fichier d'icône et une URL vers un fichier HTML. Il crée un nouveau panneau dans les devtools, dont le contenu est spécifié par le fichier HTML. Il renvoie une `Promise` qui résout un objet `ExtensionPanel` représentant le nouveau panneau.

Syntaxe
-------


```js
var creating = browser.devtools.panels.create(
  title, // string
  iconPath, // string
  pagePath, // string
);
```

### Parametères

`title`

`string`. Le titre du panneau. Cela apparaitra dans la rangée des onglets le long du haut de la fenêtre des devtools, et c'est la principale façon dont l'utilisateur pourra identifier votre panneau.

`iconPath`

`string`. Spécifie une icône qui sera affichée à côté du titre. Il est fourni sous forme d'URL vers un fichier image qui a été fourni avec votre extension. L'URL est résolue par rapport à la page d'extension courante (sauf si elle est exprimée en url absolue, par exemple "/icons/panel.png").

`pagePath`

string. Spécifie un fichier HTML qui définit le contenu réel du panneau. Il est fourni sous la forme d'une URL d'un fichier HTML qui a été regroupé avec votre extension. L'URL est résolue par rapport à la page d'extension courante (sauf si elle est exprimée en url absolue, par exemple "/devtools/panel.html"). Le fichier HTML peut include des fichiers CSS et JavaScript, juste comme une page web normale. Le JavaScript en cours d'éxécution dans le panneau pourra utiliser les API devtools. Voir Extention des outils de développement.

### Valeur retournée

Une `Promise` qui sera remplie avec un objet `ExtensionPanel` représentant le nouveau panneau.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Exemples
--------

Créer un nouveau panneau, et ajoute des auditeurs à ces événements onShown et onHidden :


```js
function handleShown() {
  console.log("panel is being shown");
}

function handleHidden() {
  console.log("panel is being hidden");
}

browser.devtools.panels
  .create(
    "My Panel", // title
    "/icons/star.png", // icon
    "/devtools/panel/panel.html", // content
  )
  .then((newPanel) => {
    newPanel.onShown.addListener(handleShown);
    newPanel.onHidden.addListener(handleHidden);
  });
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
devtools.panels.elements
========================

Un objet `ElementsPanel` qui représente l'inspecteur HTML/CSS du navigateur

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.
devtools.panels.onThemeChanged
==============================

Remplacement quand le thème de devtools change

Syntaxe
-------


```js
browser.devtools.panels.onThemeChanged.addListener(listener);
browser.devtools.panels.onThemeChanged.removeListener(listener);
browser.devtools.panels.onThemeChanged.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un auditeur à cet événement

`removeListener(listener)`

Arrêtez d'écouter cet événement. L'argument de l'auditeur est l'auditeur à supprimer.

`hasListener(listener)`

Vérifiez si l'auditeur est enregistré pour cet événement. Renvoie Vrai si elle écoute, sinon Faux.

Syntaxe addListener
-------------------

### Paramètres

`callback`

Function qui sera appelée lors de l'événement. La fonction passera les arguments suivants :

`themeName`

`string`. Nom du nouveau thème : ce sera l'une des valeurs autorisées pour `devtools.panels.themeName`.


Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

Exemples
--------


```js
browser.devtools.panels.onThemeChanged.addListener((newThemeName) => {
  console.log(`New theme: ${newThemeName}`);
});
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.
devtools.panels.ExtensionSidebarPane
====================================

L'objet `ExtensionSidebarPane` représente un volet qu'une extension a ajouté à la barre latérale dans l'inspecteur HTML/CSS du navigateur.

![](/fr/docs/Mozilla/Add-ons/WebExtensions/API/devtools/panels/ExtensionSidebarPane/inspector-sidebar.png)

Pour créer un `ExtensionSidebarPane`, appelez la fonction `browser.devtools.panels.elements.createSidebarane()`.

Fonctions
---------

`devtools.panels.ExtensionSidebarPane.setExpression()`

Évaluer une expression JavaScript dans la page Web inspectée par l'inspecteur. Le résultat est affiché dans le volet de la barre latérale.

`devtools.panels.ExtensionSidebarPane.setObject()`

Définit un objet JSON qui sera affiché dans le volet de la barre latérale.

`devtools.panels.ExtensionSidebarPane.setPage()`

Charge la page pointée par l'URL fournie.

Evénements
----------

`devtools.panels.ExtensionSidebarPane.onShown`

Lancé lorsque le volet latéral est affiché.

`devtools.panels.ExtensionSidebarPane.onHidden`

Lancé lorsque le volet de la barre latérale est masqué.

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.
devtools.panels.ElementsPanel
=============================

Un `ElementsPanel` représente l'inspecteur HTML/CSS dans la devtools du navigateur. C'est ce qu'on appelle l'inspecteur de page dans Firefox et le panneau Éléments de Chrome.

Fonctions
---------

`devtools.panels.ElementsPanel.createSidebarPane()`

Crée un volet dans la barre latérale de l'inspecteur.

Evénements
----------

`devtools.panels.ElementsPanel.onSelectionChanged`

Appèle lorsque l'utilisateur sélectionne un élément différent dans la page, par exemple en utilisant l'élément de menu contextuel "inspect élément".

Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.
devtools.panels.themeName
=========================

Le nom du thème de **devtools** actuellement sélectionné.

Il s'agit d'une chaîne dont les valeurs possibles sont :

* "lumière"
* "foncé"
* "firebug"
Compatibilité des navigateurs
-----------------------------

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.

**Note :**

Cette API est basée sur l'API Chromium `chrome.devtools.panels`.

Les données de compatibilité relatives à Microsoft Edge sont fournies par Microsoft Corporation et incluses ici sous la licence Creative Commons Attribution 3.0 pour les États-Unis.