recursal/MDN huggingface dataset:
webRequest.StreamFilter.resume()
================================

Reprend une requête qui a été précédemment suspendue par un appel à `suspend()`.

Vous ne pouvez pas appeler cette fonction avant que l'événement `onstart` ne soit déclenché.

Syntaxe
-------


```js
filter.suspend();
```

### Paramètres

None.

### Valeur retournée

None.

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

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

Exemples
--------

Cet exemple utilise la *suspend/resume* pour retarder une requête web


```js
function listener(details) {
  let filter = browser.webRequest.filterResponseData(details.requestId);

  filter.onstart = (event) => {
    filter.suspend();

    setTimeout(() => {
      filter.resume();
      filter.disconnect();
    }, 1000);
  };
}

browser.webRequest.onBeforeRequest.addListener(
  listener,
  { urls: ["https://example.org/"], types: ["main\_frame"] },
  ["blocking"],
);
```
pkcs11.uninstallModule()
========================

Désinstalle le module PKCS #11 nommé de Firefox.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var uninstalling = browser.pkcs11.uninstallModule(
  name, // string
);
```

### Paramètres

`name`

`string`. Nom du module à désinstaller. Cela doit correspondre à la propriété `name` dans le manifest PKCS #11 pour le module.

### Return value

Une `Promise` qui sera accompli sans arguments une fois le module désinstallée.

Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.

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

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

Exemples
--------

Désinstalle le module nommé "pkcs11\_module" :


```js
browser.pkcs11.uninstallModule("pkcs11\_module");
```
pkcs11.isModuleInstalled()
==========================

Vérifie si le module PKCS #11 nommé est actuellement installé dans Firefox.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var checking = browser.pkcs11.isModuleInstalled(
  name, // string
);
```

### Paramètres

`name`

`string`. Nom du module à vérifier.

### Valeur retournée

Une `Promise` qui sera remplie avec `true` si le module est installé, `false` sinon.

Si une erreur se produit dans le module, la promise sera rejetée avec un message d'erreur.

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

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

Exemples
--------

Vérifie sir le module nommée "pkcs11\_module" est installé :


```js
function logIsInstalled(isInstalled) {
  console.log(`Module is installed: ${isInstalled}`);
}

browser.pkcs11.isModuleInstalled("pkcs11\_module").then(logIsInstalled);
```
pkcs11.installModule()
======================

Installe le module PKCS # 11 nommé, le rendant disponible pour Firefox

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var installing = browser.pkcs11.installModule(
  name, // string
  flags, // integer
);
```

### Paramètres

`name`

`string`. Nom du module à installer. Cela doit correspondre à la propriété `name` property dans le manifest PKCS #11 pour le module.

`flags`Facultatif

`integer`. Drapeaux à transmettre au module.

### Valeur retournée

Une `Promise` qui sera accompli sans arguments une fois le module installé.

Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.

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

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

Exemples
--------

Installe un module, puis dresse la liste de ses emplacements et liste les jetons qu'ils contiennent :


```js
function onInstalled() {
  return browser.pkcs11.getModuleSlots("my\_module");
}

function onGotSlots(slots) {
  for (slot of slots) {
    console.log(`Slot: ${slot.name}`);
    if (slot.token) {
      console.log(`Contains token: ${slot.token.name}`);
    } else {
      console.log("Is empty");
    }
  }
}

browser.pkcs11.installModule("my\_module").then(onInstalled).then(onGotSlots);
```
pkcs11.getModuleSlots()
=======================

Enumérer les emplacements d'un module. Cette fonction renvoie un tableau contenant une entrée pour chaque emplacement. Chaque entrée contient le nom de l'emplacement et, si l'emplacement contient un jeton, des informations sur le jeton.

Vous ne pouvez appeler cela que pour un module installé dans Firefox

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var getting = browser.pkcs11.getModuleSlots(
  name, // string
);
```

### Paramètres

`name`

`string`. Nom du module. Cela doit correspondre à la propriété `name` dans le manifest PKCS #11 pour le module.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau d'objets, un pour chaque emplacement auquel le module donne accès. Chaque objet a deux propriétés :

* `name`: le nom de l'emplacement
* `token`: si un jeton est présent dans cet emplacement, un objet `Token`. Si aucun le jeton n'est présent dans l'emplacement, la propriété est `null`.

`Token` Les objets ont les propriétés suivantes :

`name`

`string`. Nom du jeton.

`manufacturer`

`string`. Nom du jeton fabriqué.

`HWVersion`

`string`. Version matérielle, en tant que numéro de version PKCS #11 (deux entiers 32-bit séparés par un point, comme "1.0".

`FWVersion`

`string`. Version du micrologiciel, en tant que numéro de version PKCS #11 (deux 32-bit séparés par un point, comme "1.0".

`serial`

`string`. Numéro de série, dont le format est défini par la spécification de jeton.

`isLoggedIn`

`boolean`: `true` si le jeton est déjà connecté, `false` sinon.

Si le module n'a pas pu être trouvé ou qu'une autre erreur se produit, la promise sera rejetée avec un message d'erreur.

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

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

Exemples
--------

Installe un module, puis dresse la liste de ses emplacements et liste des jetons qu'ils contiennent :


```js
function onInstalled() {
  return browser.pkcs11.getModuleSlots("my\_module");
}

function onGotSlots(slots) {
  for (slot of slots) {
    console.log(`Slot: ${slot.name}`);
    if (slot.token) {
      console.log(`Contains token: ${slot.token.name}`);
    } else {
      console.log("Is empty");
    }
  }
}

browser.pkcs11.installModule("my\_module").then(onInstalled).then(onGotSlots);
```
contentScripts.RegisteredContentScript
======================================

Un `RegisteredContentScript` est renvoyé par un appel à `contentScripts.register()` et représente les scripts de contenu enregistrés dans cet appel.

Il définit une seule fonction `unregister()`, qui peut être utilisée pour annuler l'enregistrement des scripts de contenu.

**Note :** Si cet objet est détruit (par exemple parce qu'il est hors de portée), les scripts de contenu seront automatiquement désinscrits. Vous devriez donc garder une référence à cet objet aussi longtemps que vous voulez que les scripts de contenu restent enregistrés.

Méthodes
--------

`unregister()`

Annule l'inscription des scripts de contenu représentés par cet objet.

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

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

Exemples
--------

Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :


```js
var registered = null;

async function register() {
  registered = await browser.contentScripts.register({
    matches: ["\*://\*.org/\*"],
    js: [
      {
        code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'",
      },
    ],
    runAt: "document\_idle",
  });
}

function toggle() {
  if (registered) {
    registered.unregister();
    registered = null;
  } else {
    register();
  }
}

browser.browserAction.onClicked.addListener(toggle);
```
contentScripts.RegisteredContentScript.unregister()
===================================================

Annule l'inscription des scripts de contenu représentés par cet objet `RegisteredContentScript`.Syntaxe
-------


```js
registered.unregister();
```

### Paramètres

None.

### Valeur retournée

None.

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

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

Exemples
--------

Ce code permet de basculer un script de contenu enregistré sur un clic d'action du navigateur :


```js
var registered = null;

async function register() {
  registered = await browser.contentScripts.register({
    matches: ["\*://\*.org/\*"],
    js: [
      {
        code: "document.body.innerHTML = '<h1>This page has been eaten<h1>'",
      },
    ],
    runAt: "document\_idle",
  });
}

function toggle() {
  if (registered) {
    registered.unregister();
    registered = null;
  } else {
    register();
  }
}

browser.browserAction.onClicked.addListener(toggle);
```
extensionTypes.RunAt
====================

Le plus tot que le Javascript ou CSS sera injecté dans l'onglet.

Type
----

Les valeurs de ce type sont des chaines. Les valeurs possibles sont : `"document_start"`, `"document_end"`, `"document_idle"`.

* `"document_start"`: corresponds au `chargement`. Le DOM est toujours en cours de chargement.
* `"document_end"`: corresponds à l'`interactif`. Le DOM a fini de charger, mais des ressources telles que des scripts et des images peuvent toujours être en cours de chargement.
* `"document_idle"`: corresponds à `complete`. Le document et toutes ses ressources ont terminé le changement.

La valeur par défaut est `"document_idle"`.

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

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

**Note :**

Cette API est basé sur l'API Chromium `chrome.extensionTypes` . Cette documentation provient de `extension_types.json` dans le code de Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.
extensionTypes.ImageFormat
==========================

Les valeurs de ce type sont des chaînes de caractères. Les valeurs possibles sont : `"jpeg"`, `"png"`.

Type
----

Les valeurs de ce type sont des chaines. Les valeurs possibles sont : `"jpeg"`, `"png"`.

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

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

**Note :**

Cette API est basé sur l'API Chromium `chrome.extensionTypes` . Cette documentation provient de `extension_types.json` dans le code de Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.
extensionTypes.ImageDetails
===========================

Details sur le format et la qualité de l'image.

Type
----

Les valeurs de ce type sont des objets. Ils contiennent les propriétés suivantes :

`format`Facultatif

`extensionTypes.ImageFormat`. Le format du résultat de l'image. Par défaut est `"png"`.

`quality`Facultatif

`integer`. Quand le format est `"jpeg"`, cela controle la qualité du résultat de l'image. C'est un nombre compris entre 0 et 100, qui est converti en une valeur entre 0 et 1 puis utilisé comme argument `encoderOptions` sur `HTMLCanvasElement.toDataURL()` (en-US). Si c'est choisi, 92 est utilisé. A mesure que la qualité baisse, le résultat de l'image aura plus d'artefacts visuel, et le nombre d'octets nécessaires pour le stocker diminuera. Cette valeur est ignorée pour les images PNG.

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

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

**Note :**

Cette API est basé sur l'API Chromium `chrome.extensionTypes` . Cette documentation provient de `extension_types.json` dans le code de Chromium.

Les données de compatibilité Microsoft Edge sont fournies par Microsoft Corporation et sont incluses ici sous la licence Creative Commons Attribution 3.0 United States.
extensionTypes.InjectDetails
============================

Ce type est donné en tant que paramètre aux méthodes `tabs.executeScript()`, `tabs.insertCSS()`, et `tabs.removeCSS()` . Pour plus de détails sur ses propriétés et leur utilisation, consultez les pages de documentation de ces méthodes :

* `tabs.executeScript()`
* `tabs.insertCSS()`
* `tabs.removeCSS()`
sidebarAction.setTitle()
========================

Définit le titre de la barre latérale. Le titre est affiché n'importe où dans les barres latérales du navigateur. Par exemple, Firefox l'affichera dans le menu "Affichage > Barre latérale". Il est également affiché en haut de la barre latérale lorsque la barre latérale est ouverte.

Types de titres
---------------

Votre extension doit spécifier un titre pour la barre latérale dans la clé de manifest sidebar\_action. C'est ce qu'on appelle le *"titre du manifest"*. Si vous ne spécifiez pas le titre du manifest, il sera par défaut le nom de l'extension

Si vous définissez un nouveau titre à l'aide de `setTitle()`, et incluez l'option `tabId` le titre est défini uniquement pour l'onglet donné. Ce titre est appelé *"titre spécifique à l'onglet"*.

Si vous définissez un nouveau titre à l'aide de `setTitle()`, et incluez l'option `windowId`, alors le titre est défini uniquement pour la fenêtre donnée. Ce titre est appelé *"titre spécifique à la fenêtre"*, et apparaîtra dans tous les onglets de cette fenêtre qui n'ont pas de titre spécifique à un onglet.

Si vous définissez un nouveau titre à l'aide de `setTitle()`, et omettre les options `tabId` et `windowId`, alors ceci définit le *"titre global"*. Le titre global apparaîtra alors dans tous les onglets qui n'ont pas de titre spécifique à un onglet et dont la fenêtre n'a pas de titre spécifique à une fenêtre.

Syntaxe
-------


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

### Paramètres

`details`

`object`. Un objet avec les propriétés suivantes .

`title`

`string` ou `null`. Le nouveau titre de la barre latérale.

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

Si le `titre` est `null`, alors un titre précédemment défini sera supprimé, de sorte que :

* 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 uniquement pour 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éfinit.
Exemples
--------

Ce code modifie le titre de la barre latérale lorsque l'utilisateur clique sur une action du navigateur, mais uniquement pour l'onglet en cours :


```js
var title = "A different title";

function setTitleForTab(tab) {
  browser.sidebarAction.setTitle({ title, tabId: tab.id });
}

browser.browserAction.onClicked.addListener(setTitleForTab);
```

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 Opera `chrome.sidebarAction`.
sidebarAction.open()
====================

Ouvrez la barre latérale dans la fenêtre active.
Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une action utilisateur.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
browser.sidebarAction.open();
```

### Paramètres

Aucun

### Valeur retournée

Une `Promise` qui est résolue sans arguments..

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

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

Exemples
--------

Ouvrez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :


```js
browser.menus.create({
  id: "open-sidebar",
  title: "open sidebar",
  contexts: ["all"],
});

browser.menus.onClicked.addListener(() => {
  browser.sidebarAction.open();
});
```
sidebarAction.ImageDataType
===========================

Données de pixel pour une image. Doit être un objet `ImageData` (par exemple, à partir d'un élément `<canvas>`).

Type
----

Un objet `ImageData`.

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 Opera `chrome.sidebarAction`.

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.
sidebarAction.getPanel()
========================

Obtient une URL vers le document HTML qui définit le contenu de la barre latérale.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var gettingPanel = browser.sidebarAction.getPanel(
  details, // object
);
```

### Paramètres

`details`

`object`. Un objet avec les propriétés suivantes :

`tabId`Facultatif

`integer`. Obtenir le panneau pour la barre latérale spécifique à l'onglet donné.

`windowId` Facultatif

`integer`. Obtenir le panneau pour la barre latérale spécifique à la fenêtre donnée.



* Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.
* Si `windowId` et `tabId` sont tous les deux omis, le panneau global est renvoyé.
### Valeur retournée

Une `Promise` qui sera remplie avec une chaîne contenant l'URL du document du panel. Ce sera une URL entièrement qualifiée, telle que :
```

moz-extension://d1d8a2eb-fe60-f646-af30-a866c5b39942/sidebar.html
```

Exemples
--------

Obtenez l'URL du panneau :


```js
function onGot(sidebarUrl) {
  console.log(sidebarUrl);
}

var gettingPanel = browser.sidebarAction.getPanel({});
gettingPanel.then(onGot);
```

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 Opera `chrome.sidebarAction`.

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.
sidebarAction.isOpen()
======================

Renvoie `true` si la barre latérale de l'extension est ouverte dans une fenêtre donnée.

Cette fonction accepte un `windowId` en paramètre :

* Si vous fournissez `windowId`, la fonction vérifie la fenêtre du navigateur.
* Si vous omettez `windowId`, la fonction vérifie la fenêtre du navigateur la plus haute.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
let gettingIsOpen = browser.sidebarAction.isOpen(
  details, // object
);
```

### Paramètres

`details`

`object`. Un objet contenant éventuellement le `windowId` à vérifier.

`windowId` Facultatif

`integer`. ID d'une fenêtre de navigateur à vérifier. Si omis par défaut, il s'agit de `windows.WINDOW_ID_CURRENT`, qui fait référence à la fenêtre du navigateur la plus haute.


### Valeur retournée

Une `Promise` qui sera remplie avec `true` si la barre latérale de l'extension est ouverte dans la fenêtre donnée, ou `false` dans le cas contraire.

Exemples
--------

Vérifiez la fenêtre la plus haute :


```js
browser.sidebarAction.isOpen({}).then((result) => {
  console.log(result);
});
```


Vérifiez toutes les fenêtres ouvertes :


```js
async function checkWindow(windowId) {
  let result = await browser.sidebarAction.isOpen({ windowId });
  console.log(`window: ${windowId} status: ${result}`);
}

browser.windows.getAll().then((all) => {
  for (let { id } of all) {
    checkWindow(id);
  }
});
```

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
sidebarAction.getTitle()
========================

Obtient le titre de la barre latérale.

Tout comme vous pouvez définir le titre par tabulation à l'aide de `sidebarAction.setTitle()`,vous pouvez ainsi récupérer un titre spécifique à un onglet en lui transmettant l'ID de l'onglet.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
var gettingTitle = browser.sidebarAction.getTitle(
  details, // object
);
```

### Paramètres

`details`

`object`. Un objet avec les propriétés suivantes :

`tabId`Facultatif

`integer`. Obtenir le titre de la barre latérale spécifique à l'onglet donné.

`windowId` Facultatif

`integer`. Obtenir le titre de la barre latérale spécifique à la fenêtre donnée.



* Si `windowId` et `tabId` sont tous deux fournis, la fonction échoue et la promesse qu'elle renvoie est rejetée.
* SI `windowId` et `tabId` sont tous les deux omis, le titre global est renvoyé.
### Valeur retournée

Une `Promise` qui sera remplie avec une chaîne contenant le titre de la barre latérale.

Exemples
--------

Ce code bascule le titre entre "this" et "that" chaque fois que l'utilisateur clique sur l'action du navigateur


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

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

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 Opera `chrome.sidebarAction`.

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.
sidebarAction.close()
=====================

Ferme la barre latérale dans la fenêtre active, s'il s'agit de la barre latérale de l'extension.

Vous pouvez uniquement appeler cette fonction à l'intérieur du gestionnaire pour une action utilisateur.

C'est une fonction asynchrone qui renvoie une `Promise`.

Syntaxe
-------


```js
browser.sidebarAction.close();
```

### Paramètres

None.

### Valeur retournée

Une `Promise` qui est résolue sans arguments.

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

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

Exemples
--------

Fermez la barre latérale lorsque l'utilisateur sélectionne un élément de menu contextuel :


```js
browser.menus.create({
  id: "close-sidebar",
  title: "close sidebar",
  contexts: ["all"],
});

browser.menus.onClicked.addListener(() => {
  browser.sidebarAction.close();
});
```
sidebarAction.toggle()
======================

Permet de basculer la visibilité de la barre latérale dans la fenêtre active, si la barre latérale appartient à l'extension.

Vous ne pouvez appeler cette fonction que depuis l'intérieur du gestionnaire pour une action utilisateur.

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

Syntaxe
-------


```js
browser.sidebarAction.toggle();
```

### Paramètres

Aucune.

### Valeur retournée

Une `Promise` qui est résolue sans discussion.

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

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

Exemples
--------

Bascule la barre latérale lorsque l'utilisateur sélectionne un élément dans le menu contextuel :


```js
browser.menus.create({
  id: "toggle-sidebar",
  title: "Toggle sidebar",
  contexts: ["all"],
});

browser.menus.onClicked.addListener(() => {
  browser.sidebarAction.toggle();
});
```