recursal/MDN huggingface dataset:
downloads.open()
================

La fonction **`open()`** de l'API `downloads` ouvre le fichier téléchargé avec son application associée. Un événement `downloads.onChanged` se déclenche lorsque l'élément est ouvert pour la première fois.

Pour utiliser cette fonction dans votre extension, vous devez demander la permission manifest "downloads.open", ainsi que la permission "downloads". En outre, 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
var opening = browser.downloads.open(
  downloadId, // integer
);
```

### Paramètres

`downloadId`

Un `integer` représentant l'`id` du `downloads.DownloadItem` que vous voulez ouvrir.

### Valeur retournée

Une `Promise`. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse 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
--------

Cet exemple ouvre l'élément le plus récemment téléchargé :


```js
function onOpened() {
  console.log(`Opened download item`);
}

function onError(error) {
  console.log(`Error opening item: ${error}`);
}

function openDownload(downloadItems) {
  if (downloadItems.length > 0) {
    var opening = browser.downloads.open(downloadItems[0].id);
    opening.then(onOpened, onError);
  }
}

var searching = browser.downloads.search({
  limit: 1,
  orderBy: ["-startTime"],
});

searching.then(openDownload, onError);
```

### Example extensions

* latest-download

**Note :**

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

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.
downloads.State
===============

Le type d'`état` de l'API `downloads` définit différents états dans lesquels un téléchargement en cours peut se trouver.

Une propriété d'`state` `downloads.DownloadItem` contiendra une chaîne tirée des valeurs définies dans ce type.

Type
----

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

`in_progress`

Le navigateur reçoit actuellement les données de téléchargement du serveur .

`interrupted`

Une erreur a rompu la connexion avec le serveur.

`complete`

Le téléchargement s'est terminé avec succès.


**Note :** Ces constantes de chaîne ne changeront jamais, mais de nouvelles constantes peuvent être ajoutées.

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.downloads`.

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.
downloads.DoubleDelta
=====================

Le type `DoubleDelta` de l'API `downloads` représente la différence entre deux doubles.

Type
----

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

`current`Facultatif

Un `number` représentant la double valeur actuelle.

`previous`Facultatif

Un `number` représentant la valeur double précédente.

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.downloads`.

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.
downloads.resume()
==================

La fonction **`resume()`** de l'API `downloads` reprend un téléchargement suspendu. Si la demande a abouti, le téléchargement ne sera pas interrompu et la progression reprendra. L'appel `resume()` échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement.

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

Syntaxe
-------


```js
var resuming = browser.downloads.resume(
  downloadId, // integer
);
```

### Paramètres

`downloadId`

Un `integer` représentant l'`id` du téléchargement à reprendre.

### Valeur retournée

Une `Promise`. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse 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
--------


```js
var downloadId = 2;

function onResumed() {
  console.log(`Resumed download`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

var resuming = browser.downloads.resume(downloadId);
resuming.then(onResumed, onError);
```


**Note :**

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

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.
downloads.onErased
==================

L'événement **`onErased()`** de l'API `downloads` se déclenche lorsqu'un téléchargement est effacé de l'historique du navigateur.

L'écouteur reçoit le paramètre `downloadId` de l'objet `downloads.DownloadItem` en question en tant que paramètre.

Syntaxe
-------


```js
browser.downloads.onErased.addListener(listener);
browser.downloads.onErased.removeListener(listener);
browser.downloads.onErased.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un écouteur à cet événement.

`removeListener(listener)`

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

`hasListener(listener)`

Vérifie si un `listener` donné est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.

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

### Paramètres

`callback`

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

`downloadId`

Un `integer` représentant l'`id` du `downloads.DownloadItem` qui a été effacé.


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

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

Exemples
--------

Ajoute un écouteur pour les événements `onErased` , puis effacez le téléchargement le plus récent :


```js
function handleErased(item) {
  console.log(`Erased: ${item}`);
}

browser.downloads.onErased.addListener(handleErased);

var erasing = browser.downloads.erase({
  limit: 1,
  orderBy: ["-startTime"],
});
```


**Note :**

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

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.
downloads.setShelfEnabled()
===========================

La fonction **`setShelfEnabled()`** de l'API `downloads` active ou désactive l'étagère grise située en bas de chaque fenêtre associée au profil de navigateur actuel. L'étagère sera désactivée si au moins une extension l'a désactivée.

Si vous essayez d'activer l'étagère lorsqu'au moins une autre extension l'a déjà désactivé, l'appel échouera et `runtime.lastError` sera défini avec un message d'erreur approprié.

**Note :** Pour utiliser cette fonction dans votre extension, vous devez demander la permission manifest, `"downloads.shelf"`, ainsi que la permission `"downloads"`.

Syntaxe
-------


```js
chrome.downloads.setShelfEnabled(enabled);
```


Cette API est également disponible en tant que `browser.downloads.setShelfEnabled()`.

### Paramètres

`enabled`

Un `boolean` l'état que vous souhaitez définir `setShelfEnabled()` à — `true` pour activer et `false` pour désactiver.

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.downloads`.

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.
downloads.FilenameConflictAction
================================

Le type `FilenameConflictAction` de l'API `downloads` spécifie que faire si le nom d'un fichier téléchargé est en conflit avec un fichier existant.

Ce type définit les valeurs pouvant être utilisées pour la propriété `conflictAction` du paramètre d'`options` `downloads.download`.

Type
----

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont :

`"uniquify"`

Le navigateur modifiera le nom de fichier pour le rendre unique.

`"overwrite"`

Le navigateur écrase l'ancien fichier avec le fichier nouvellement téléchargé.

`"prompt"`

Le navigateur invitera l'utilisateur, lui demandant de choisir s'il souhaite l'uniquifier ou l'écraser.

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.downloads`.

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.
downloads.removeFile()
======================

La fonction **`removeFile()`** de l'API `downloads` supprime un fichier téléchargé du disque.

Cette API supprime le fichier du disque, mais ne le supprime pas de l'historique des téléchargements du navigateur, donc un appel `downloads.search()` renvoie toujours l'élément comme `DownloadItem`, mais son attribut `exists` sera `false`.

Pour supprimer un fichier de l'historique des téléchargements, vous devez utiliser `downloads.erase()`.

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

**Note :** Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler `removeFile()` avant d'appeler `downloads.erase()`. Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de `removeFile()`, car le navigateur n'aura plus d'enregistrement du téléchargement.

Syntaxe
-------


```js
var removing = browser.downloads.removeFile(
  downloadId, // integer
);
```

### Paramètres

`downloadId`

Un `integer` représentant l'identifiant de `DownloadItem` que vous souhaitez supprimer du disque.

### Valeur retournée

Une `Promise`. Si la demande a été acceptée, la promesse sera remplie sans arguments. Si la demande a échoué, la promesse 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
--------

Supprimer le dernier fichier téléchargé :


```js
function onRemoved() {
  console.log(`Removed item`);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

function remove(downloadItems) {
  if (downloadItems.length > 0) {
    var removing = browser.downloads.removeFile(downloadItems[0].id);
    removing.then(onRemoved, onError);
  }
}

var searching = browser.downloads.search({
  limit: 1,
  orderBy: ["-startTime"],
});

searching.then(remove, onError);
```

### Example extensions

* latest-download

**Note :**

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

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.
downloads.acceptDanger()
========================

La fonction **`acceptDanger()`** de l'API `downloads` invite l'utilisateur à accepter ou à annuler un téléchargement potentiellement dangereux.

Cette fonction ne peut pas être appelée à partir de scripts d'arrière-plan, uniquement dans les scripts qui s'exécutent dans une fenêtre visible (par exemple un navigateur ou une fenêtre d'action de page).

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

Syntaxe
-------


```js
var prompting = browser.downloads.acceptDanger(
  downloadId, // integer
);
```

### Parameters

`downloadId`

Un `integer` représentant l'`id` de `DownloadItem` en question.

### Valeur retournée

Une `Promise`. Lorsque la boîte de dialogue se ferme, la promesse sera remplie sans arguments.

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.downloads`.

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.
downloads.show()
================

La fonction **`show()`** de l'API `downloads` affiche le fichier téléchargé dans son dossier contenant dans le gestionnaire de fichiers de la plate-forme sous-jacente.

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

Syntaxe
-------


```js
var showing = browser.downloads.show(
  downloadId, // integer
);
```

### Paramètes

`downloadId`

Un `integer` représentant l'ID du `DownloadItem` à afficher.

### Valeur retournée

Une `Promise`. Si la demande est acceptée, la promise sera remplie avec un booléen indiquant si la demande a été acceptée. Si la demande échoue, 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
--------

Cet exemple montre l'élément le plus récemment téléchargé :


```js
function onShowing(success) {
  console.log(`Showing download item: ${success}`);
}

function onError(error) {
  console.log(`Error opening item: ${error}`);
}

function openDownload(downloadItems) {
  if (downloadItems.length > 0) {
    latestDownloadId = downloadItems[0].id;
    var showing = browser.downloads.show(latestDownloadId);
    showing.then(onShowing, onError);
  }
}

var searching = browser.downloads.search({
  limit: 1,
  orderBy: ["-startTime"],
});

searching.then(openDownload, onError);
```


**Note :**

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

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.
downloads.erase()
=================

La fonction **`erase()`** de l'API `downloads` efface la correspondance `DownloadItems` de l'historique de téléchargement du navigateur sans supprimer les fichiers téléchargés du disque.

Pour supprimer les fichiers du disque, vous devez utiliser `downloads.removeFile()`.

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

**Note :** Si vous souhaitez supprimer un fichier téléchargé du disque et l'effacer de l'historique, vous devez appeler `downloads.removeFile()` before you call `erase()`. Si vous l'essayez dans l'autre sens, vous obtiendrez une erreur lors de l'appel de `downloads.removeFile()`, car il n'existe plus selon le navigateur.

Syntaxe
-------


```js
var erasing = browser.downloads.erase(
  query, // DownloadQuery
);
```

### Paramètres

`query`

Un objet `downloads.DownloadQuery`.

### Valeur retournée

Une `Promise`. Si l'appel a réussi, la promesse sera remplie avec un tableau d'entiers représentant les identifiants des `DownloadItems` effacés. Si aucun élément correspondant au paramètre de requête n'a pu être trouvé, le tableau sera vide. Si l'appel a échoué, la promesse 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
--------

Effacer le téléchargement le plus récent :


```js
function onErased(ids) {
  console.log(`Erased: ${ids}`);
}

function onError(error) {
  console.log(`Error erasing item: ${error}`);
}

var erasing = browser.downloads.erase({
  limit: 1,
  orderBy: ["-startTime"],
});

erasing.then(onErased, onError);
```


Tout effacer :


```js
function onErased(ids) {
  console.log(`Erased: ${ids}`);
}

function onError(error) {
  console.log(`Error erasing item: ${error}`);
}

var erasing = browser.downloads.erase({});
erasing.then(onErased, onError);
```

### Example extensions

* latest-download

**Note :**

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

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.
downloads.getFileIcon()
=======================

La fonction **`getFileIcon()`** de l'API `downloads` récupère une icône pour le téléchargement spécifié.

Pour les nouveaux téléchargements, les icônes de fichiers sont disponibles après la réception de l'événement `downloads.onCreated`. L'image renvoyée par cette fonction pendant le téléchargement peut être différente de l'image renvoyée une fois le téléchargement terminé.

La récupération d'icônes s'effectue en interrogeant la plateforme sous-jacente. L'icône renvoyée dépendra donc d'un certain nombre de facteurs, notamment l'état du téléchargement, la plate-forme, les types de fichiers enregistrés et le thème visuel.

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

Syntaxe
-------


```js
var gettingIcon = browser.downloads.getFileIcon(
  downloadId, // integer
  options, // optional object
);
```

### Paramètres

`downloadId`

Un `integer` eprésentant l'ID du téléchargement.

`options`Facultatif

Un `object` d'options représentant les préférences pour l'icône à extraire. Il peut prendre les propriétés suivantes :

`size`Facultatif

Un `integer` représentant la taille de l'icône. La taille de l'icône retournée sera la taille fournie au carré (en pixels). Si elle est omise, la taille par défaut de l'icône est 32x32 pixels.


### Valeur retournée

Une `Promise`. Si la requête réussit, la promesse sera remplie avec une chaîne représentant l'URL absolue de l'icône. Si la requête échoue, la promesse 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
--------

Cet exemple enregistre l'URL de l'icône pour le téléchargement le plus récent :


```js
function gotIcon(iconUrl) {
  console.log(iconUrl);
}

function onError(error) {
  console.log(`Error: ${error}`);
}

function getIcon(downloadItems) {
  if (downloadItems.length > 0) {
    latestDownloadId = downloadItems[0].id;
    var gettingIcon = browser.downloads.getFileIcon(latestDownloadId);
    gettingIcon.then(gotIcon, onError);
  }
}

var searching = browser.downloads.search({
  limit: 1,
  orderBy: ["-startTime"],
});

searching.then(getIcon, onError);
```

### Example extensions

* latest-download

**Note :**

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

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.
topSites.MostVisitedURL
=======================

Le type `MostVisitedURL` contient deux propriétés : le titre de la page et son URL.

Type
----

Values of this type are objects. They contain the following properties:

`favicon` Facultatif

`String`. Une donnée : URL contenant le favicon de la page, si `includeFavicon` était donné dans `topSites.get()` et le favicon était disponible.

`title`

`String`. Le titre de la page.

`url`

`String`. L'URL de la page.

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.topSites`.

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.
onCommand
=========

Lancer quand une commande est exécutée à l'aide de son raccourci clavier associé.L'écouteur reçoit le nom de la commande. Cela correspond au nom donnée à la commande dans une entrée manifest.json.Syntaxe
-------


```js
browser.commands.onCommand.addListener(listener);
browser.commands.onCommand.removeListener(listener);
browser.commands.onCommand.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(callback)`

Ajoute un écouteur à un événement.

`removeListener(listener)`

Arrêter d'écouter un événement. L'arguement `listener` est l'écouteur à supprimer.

`hasListener(listener)`

Vérifiez si `listener` est enregistré pour cet événement . Renvoie `true` s'il écoute, `false` sinon.

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

### Paramètre

`callback`

Fonction qui sera appelée lorsqu'un utilisateur entre dans le raccourci de la commande. La fonction recevra les arguments suivants :

`name`

`string`. Nom de la commande. Cela correspond au nom donné à la commande dans son entrée manifest.json.


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

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

Exemples
--------

Etant donnée une entrée manifest.json comme ceci :


```json
"commands": {
  "toggle-feature": {
    "suggested\_key": {
      "default": "Ctrl+Shift+Y"
    },
    "description": "Send a 'toggle-feature' event"
  }
}
```


Vous pouvez écouter cette commande particulière comme ceci :


```js
browser.commands.onCommand.addListener(function (command) {
  if (command == "toggle-feature") {
    console.log("toggling the feature!");
  }
});
```

### Example extensions

* commands

**Note :**

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

Changez la description ou le raccourci clavier pour la commande donnée.

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

Syntaxe
-------


```js
browser.commands.update(
  details, // object
);
```

### Paramètres

`details`

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

`name`

`string`. e nom de la commande à mettre à jour. Cela doit correspondre au nom d'une commande existante, comme indiqué par exemple dans la propriété `name` de l'objet `commands.Command`.

`description`Facultatif

`string`. Une nouvelle description à définir pour la commande.

`shortcut`Facultatif

`string`. Un nouveau raccourci à définir pour la commande. Cela doit correspondre au format donné dans la documentation pour les `commands` de la clé manifest.json. S'il ne correspond pas à ce format, la fonction va générer une erreur.


### Valeur retournée

Une `Promise` qui sera remplie sans arguments lorsque le raccourci a été réinitialisé. La promesse sera rejetée avec une erreur si la commande n'a pas pu être trouvée.

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

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

Exemples
--------

Met à jour la commande "my-command" avec la valeur de raccourci donnée, lorsque l'utilisateur clique sur "update" :


```js
const commandName = "my-command";

function updateShortcut() {
  browser.commands.update({
    name: commandName,
    shortcut: document.querySelector("#shortcut").value,
  });
}

document.querySelector("#update").addEventListener("click", updateShortcut);
```

### Example extensions

* commands