recursal/MDN huggingface dataset:
omnibox.SuggestResult
=====================

Le type **`omnibox.SuggestResult`** définit une suggestion unique que l'extension peut ajouter à la liste déroulante de la barre d'adresse.

L'écouteur d'événement `omnibox.onInputChanged` de l'extension reçoit un rappel. Pour remplir la liste déroulante de la barre d'adresse en réponse à l'entrée de l'utilisateur, l'extension peut transmettre un tableau d'objets `omnibox.SuggestResult` dans ce rappel.

Type
----

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

`content`

C'est la valeur qui apparaîtra dans la barre d'adresse elle-même lorsque l'utilisateur mettra cette suggestion en évidence dans la liste déroulante. C'est également la chaîne envoyée à l'écouteur d'événement `omnibox.onInputEntered` si l'utilisateur sélectionne cette suggestion. Si la chaîne est la même que celle que l'utilisateur a déjà tapée, cette entrée n'apparaîtra pas dans la liste déroulante.

`description`

C'est la chaîne qui est affichée dans la liste déroulante de la barre d'adresse.

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

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.
omnibox.setDefaultSuggestion()
==============================

Définissez la suggestion par défaut à afficher dans la liste déroulante de la barre d'adresse lorsque l'utilisateur commence à interagir avec votre extension.

Une fois que l'utilisateur a entré votre mot clé et a commencé à interagir avec votre extension, la suggestion par défaut apparaît toujours en premier dans la liste déroulante. Contrairement aux suggestions que vous fournissez dans `omnibox.onInputChanged`, cet élément ne peut pas être sélectionné. Utilisez-le pour fournir à l'utilisateur des conseils sur ce qu'il doit taper et sur ce qu'il peut s'attendre à voir quand il le fait.

Syntaxe
-------


```js
browser.omnibox.setDefaultSuggestion(
  suggestion, // object
);
```

### Paramètres

`suggestion`

`object`. Un objet contenant une `description` de propriété de chaîne unique, qui sera affichée en tant que premier élément dans la liste déroulante lorsque l'utilisateur commence à interagir avec votre extension.

### Valeur retournée

None.

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

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

Exemples
--------


```js
browser.omnibox.setDefaultSuggestion({
  description: "Type the name of a CSS property",
});
```

### Example extensions

* firefox-code-search

**Note :**

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

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.
omnibox.onInputCancelled
========================

Lancé lorsque l'utilisateur a annulé son interaction avec votre poste (par exemple, en cliquant en dehors de la barre d'adresse).

Syntaxe
-------


```js
browser.omnibox.onInputCancelled.addListener(listener);
browser.omnibox.onInputCancelled.removeListener(listener);
browser.omnibox.onInputCancelled.hasListener(listener);
```


Les événements ont trois fonctions :

`addListener(listener)`

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érifiez si `listener` est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.

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

La fonction d'écouteur n'a pas de paramètres.

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

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

Exemples
--------


```js
browser.omnibox.onInputCancelled.addListener(() => {
  console.log("The user cancelled the session.");
});
```


**Note :**

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

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.
clipboard.setImageData()
========================

Copie une image dans le presse-papiers. L'image est recodée avant d'être écrite dans le presse-papiers. Si l'image n'est pas valide, le presse-papiers n'est pas modifié.

L'image est fournie en tant que `ArrayBuffer` contenant l'image codée. Les formats JPEG et PNG sont pris en charge.

Bien que cette API soit basée sur l'API `clipboard.setImageData()` de Chrome, il existe certaines différentes :

* L'API Chrome est réservée aux applications et non aux extensions.
* Cette API nécessite uniquement la permission `"clipboardWrite"`, tandis que la version Chrome nécessite également la permission `"clipboard"`.
* L'API de Chrome utilise des rappels et cette API ne prend en charge que les promises.
* Cette API ne prend pas en charge le paramètre `additionalItems`.

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

Syntaxe
-------


```js
browser.clipboard.setImageData(imageData, imageType);
```

### Paramètres

`imageData`

`ArrayBuffer`. Les données de l'image codées.

`imageType`

Un `DOMString` indiquant le type d'image contenue dans le fichier `imageData`: `"png"` ou `"jpeg"`.

### Valeur de retour

Une `Promise` qui sera remplie sans arguments si l'opération a réussi, ou rejetée, s'il y a une erreur (par exemple parce que les données ne représentaient pas une image valide).

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

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

Exemples
--------

Copiez une image distante :


```js
// requires:
// \* the host permission for "https://cdn.mdn.mozilla.net/\*"
// \* the API permission "clipboardWrite"

fetch("https://cdn.mdn.mozilla.net/static/img/favicon144.png")
  .then((response) => response.arrayBuffer())
  .then((buffer) => browser.clipboard.setImageData(buffer, "png"));
```


Copiez une image fournie avec l'extension :


```js
// requires the API permission "clipboardWrite"

fetch(browser.runtime.getURL("image.png"))
  .then((response) => response.arrayBuffer())
  .then((buffer) => browser.clipboard.setImageData(buffer, "png"));
```


**Note :**

Cette API est basée sur l'API Chromium `chrome.clipboard`.
dns.resolve()
=============

Résout le nom d'hôte donné en un enregistrement DNS.

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

Syntaxe
-------


```js
var resolving = browser.dns.resolve(
  hostname, // string
  flags, // array of string
);
```

### Paramètres

`hostname`

`string`. Le nom d'hôte à résoudre.

`flags` Facultatif

`array` de `string`. Drapeaux pour modifier la façon dont le nom d'hôte est résolu. Tous les indicateurs omis sont par défaut à `false`. Vous pouvez passer zéro ou plusieurs des indicateurs suivants :

* `"allow_name_collisions"`: autorise les résultats de collision de noms qui sont normalement filtrés.
* `"bypass_cache"`: Supprime le cache de recherche DNS interne.
* `"canonical_name"`: Le nom canonique de l'hôte spécifié sera interrogé.
* `"disable_ipv4"`: Seules les adresses IPv6 seront renvoyées.
* `"disable_ipv6"`: Seules les adresses IPv4 seront renvoyées.
* `"disable_trr"`: n'utilisez pas le TRR (Trusted Recursive Resolver) pour résoudre le nom d'hôte. Un TRR permet la résolution des noms d'hôtes à l'aide d'un serveur DNS-over-HTTPS dédié.
* `"offline"`: seuls les littéraux et les entrées mises en cache seront renvoyés.
* `"priority_low"`: La priorité est donnée à la requête. Si "priority\_medium" est également donné, la requête est prioritaire.
* `"priority_medium"`: La priorité est donnée à la requête. Si "priority\_low" est également donné, la requête est prioritaire
* `"speculate"`: Indique que la requête est spéculative. Les demandes spéculatives renvoient des erreurs si la prélecture est désactivée par la configuration du navigateur.

### Valeur retournée

A `Promise` qui sera remplie avec un objet `DNSRecord` object. Cet objet peut contenir les propriétés suivantes :

`addresses`

`array` of `string`. Les adresses IP associées à cet enregistrement DNS.

`canonicalName`

`string`. Le nom canonique de cet enregistrement. Ceci n'est inclus dans la réponse que si le drapeau `"canonical_name"`a été passé à `resolve()`.

`isTRR`

`boolean`: `true` si l'enregistrement a été récupéré à l'aide d'un TRR (Trusted Recursive Resolver).

Exemples
--------


```js
function resolved(record) {
  console.log(record.addresses);
}

let resolving = browser.dns.resolve("example.com");
resolving.then(resolved);

// > e.g. Array [ "73.284.240.12" ]
```


Contournez le cache et demandez le nom canonique:


```js
function resolved(record) {
  console.log(record.canonicalName);
  console.log(record.addresses);
}

let resolving = browser.dns.resolve("developer.mozilla.org", [
  "bypass\_cache",
  "canonical\_name",
]);
resolving.then(resolved);

// > e.g. xyz.us-west-2.elb.amazonaws.com
// > e.g. Array [ "78.18.187.134", "34.79.135.234" ]
```

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

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

La fonction **`search()`** de l'API `downloads` interroge les `DownloadItems` disponibles dans le gestionnaire de téléchargements du navigateur, et renvoie celles qui correspondent aux spécifications critères de recherche.

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

Syntaxe
-------


```js
var searching = browser.downloads.search(query);
```

### Paramètres

`query`

Un objet `downloads.DownloadQuery`.

### Return value

Une `Promise`. La promise est remplie avec un `tableau d'objets` ``downloads.DownloadItem`` qui correspondent aux critères donnés.

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

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

Exemples
--------

En général, vous restreignez les éléments récupérés à l'aide du paramètre de `requête`.

### Obtenez les téléchargements correspondant à "query"


```js
function logDownloads(downloads) {
  for (let download of downloads) {
    console.log(download.id);
    console.log(download.url);
  }
}

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

var searching = browser.downloads.search({
  query: ["imgur"],
});

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

### Obtenez un article spécifique

Pour obtenir un `DownloadItem`, la méthode la plus simple consiste à définir uniquement le champ `id`, comme indiqué dans l'extrait ci-dessous :


```js
function logDownloads(downloads) {
  for (let download of downloads) {
    console.log(download.id);
    console.log(download.url);
  }
}

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

var id = 13;

var searching = browser.downloads.search({ id });
searching.then(logDownloads, onError);
```

### Obtenez tous les téléchargements

Si vous voulez renvoyer tout `DownloadItems`, définissez la `query` sur un objet vide.


```js
function logDownloads(downloads) {
  for (let download of downloads) {
    console.log(download.id);
    console.log(download.url);
  }
}

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

var searching = browser.downloads.search({});
searching.then(logDownloads, onError);
```

### Obtenez le téléchargement le plus récent

Vous pouvez obtenir le téléchargement le plus récent en spécifiant les paramètres de recherche suivants :


```js
function logDownloads(downloads) {
  for (let download of downloads) {
    console.log(download.id);
    console.log(download.url);
  }
}

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

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


Vous pouvez voir ce code en action par exemple dans notre dernier téléchargement.

### 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.StringDelta
=====================

Le type `StringDelta` de l'API `downloads` représente la différence entre deux chaînes.

Type
----

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

`current`Facultatif

Un `string` représentant la valeur de chaîne actuelle.

`previous`Facultatif

Un `string` représentant la valeur de chaîne 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.showDefaultFolder()
=============================

La fonction **`showDefaultFolder()`** de l'API `downloads` ouvre le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme.

Syntaxe
-------


```js
browser.downloads.showDefaultFolder();
```

### Paramètres

Aucun

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

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

Exemples
--------

L'extrait suivant contient un bouton d'affichage qui, lorsqu'il est cliqué, appelle `showDefaultFolder()` pour ouvrir le dossier de téléchargement par défaut dans le gestionnaire de fichiers de la plateforme :


```js
var showBtn = document.querySelector(".show");

showBtn.onclick = function () {
  browser.downloads.showDefaultFolder();
};
```


**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.InterruptReason
=========================

Le type `InteruptReason` de l'API `downloads` définit un ensemble de raisons possibles pour lesquelles un téléchargement a été interrompu.

Une propriété `downloads.DownloadItem` d'`erreur` 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 divisées en catégories, chaque ensemble ayant la même sous-chaîne au début:

Erreurs liées au fichier :

* `"FILE_FAILED"`
* `"FILE_ACCESS_DENIED"`
* `"FILE_NO_SPACE"`
* `"FILE_NAME_TOO_LONG"`
* `"FILE_TOO_LARGE"`
* `"FILE_VIRUS_INFECTED"`
* `"FILE_TRANSIENT_ERROR"`
* `"FILE_BLOCKED"`
* `"FILE_SECURITY_CHECK_FAILED"`
* `"FILE_TOO_SHORT"`

Erreurs liées au réseau :

* `"NETWORK_FAILED"`
* `"NETWORK_TIMEOUT"`
* `"NETWORK_DISCONNECTED"`
* `"NETWORK_SERVER_DOWN"`
* `"NETWORK_INVALID_REQUEST"`

Erreurs liées au serveur :

* `"SERVER_FAILED"`
* `"SERVER_NO_RANGE"`
* `"SERVER_BAD_CONTENT"`
* `"SERVER_UNAUTHORIZED"`
* `"SERVER_CERT_PROBLEM"`
* `"SERVER_FORBIDDEN"`

Erreurs liées à l'utilisateur :

* `"USER_CANCELED"`
* `"USER_SHUTDOWN"`

Divers :

* `"CRASH"`
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.BooleanDelta
======================

Le type `BooleanDelta` de l'API `downloads` représente la différence entre deux booléens.

Type
----

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

`current`Facultatif

Un `boolean` représentant la valeur booléenne actuelle.

`previous`Facultatif

Un `boolean` représentant la valeur booléenne 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.DownloadTime
======================

Le type `DownloadTime` de l'API `downloads` représente le temps nécessaire au téléchargement.

Type
----

Un `DownloadTime` peut être l'un de trois types différents :

* Un objet JavaScript `Date`.
* a string:
    + Si cela ne contient que des chiffres, il est interprété comme le nombre de millisecondes écoulées depuis l'époque UNI.
    + inon, il est interprété comme une chaîne ISO 8601.
* un nombre : ceci est interprété comme le nombre de millisecondes écoulées depuis l'époque UNIX.
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.onCreated
===================

L'événement **`onCreated()`** de l'API `downloads` se déclenche lorsqu'un téléchargement commence, c'est à dire lorsque quand `downloads.download()` est appelé avec succès.

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

Syntaxe
-------


```js
browser.downloads.onCreated.addListener(listener);
browser.downloads.onCreated.removeListener(listener);
browser.downloads.onCreated.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érifiez si un `listener` donné est enregistré pour cet événement. Renvoie `true` s'il écoute, sinon `false`.

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

### Paramètres

`function`

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

`downloadItem`

L'objet `downloads.DownloadItem` en question.


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

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

Exemples
--------

Consignez l'URL des éléments au fur et à mesure qu'ils sont téléchargés :


```js
function handleCreated(item) {
  console.log(item.url);
}

browser.downloads.onCreated.addListener(handleCreated);
```


**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.DangerType
====================

Le type `DangerType` de l'API `downloads` définit un ensemble de raisons possibles pour lesquelles un fichier téléchargeable peut être considéré comme dangereux..

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

**Note :** Ces constantes de chaîne ne changeront jamais, mais l'ensemble de DangerTypes peut changer.

Type
----

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

`file`

Le nom de fichier du téléchargement est suspect.

`url`

L'URL du téléchargement est connue pour être malveillante.

`content`

Le fichier téléchargé est connu pour être malveillant.

`uncommon`

L'URL du téléchargement n'est pas généralement téléchargée.

`host`

Le téléchargement provenait d'un hôte connu pour distribuer des binaires malveillants.

`unwanted`

Le téléchargement est potentiellement indésirable ou dangereux..

`safe`

Le téléchargement ne présente aucun danger connu pour l'ordinateur de l'utilisateur.

`accepted`

L'utilisateur a accepté le téléchargement dangereux.

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

La fonction **`cancel()`** de l'API de `downloads` annule un téléchargement. L'appel échouera si le téléchargement n'est pas actif : par exemple, parce qu'il a terminé le téléchargement..

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

Syntaxe
-------


```js
var canceling = browser.downloads.cancel(
  downloadId, // integer
);
```

### Paramètres

`downloadId`

`integer`. L'identifiant du téléchargement à annuler.

### 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 = 13;

function onCanceled() {
  console.log(`Canceled download`);
}

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

var canceling = browser.downloads.cancel(downloadId);
canceling.then(onCanceled, 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.pause()
=================

La fonction **`pause()`** de l'API `downloads` interrompt un téléchargement.

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

Syntaxe
-------


```js
var pausing = browser.downloads.pause(
  downloadId, // integer
);
```

### Paramètres

`downloadId`

Un `integer` représetant l'`id` du téléchargement à mettre en pause.

### Valeur retournée

Une `Promise`. Si l'appel a réussi, le téléchargement sera mis en pause et la promesse sera satisfaite sans aucun argument. Si l'appel échoue, la promesse sera rejetée avec un message d'erreur. L'appel échouera si le téléchargement n'est pas actif: par exemple, parce qu'il a fini le téléchargement.

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

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

Exemples
--------


```js
function onPaused() {
  console.log(`Paused download`);
}

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

var pausing = browser.downloads.pause(downloadId);
pausing.then(onPaused, 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.