recursal/MDN huggingface dataset:
bookmarks.getRecent()
=====================

La méthode `bookmarks.getRecent()` récupère un nombre spécifié de signets ajoutés le plus récemment en tant que tableau d'objets `BookmarkTreeNode`.

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

Syntaxe
-------


```js
var gettingRecent = browser.bookmarks.getRecent(
  numberOfItems, // integer
);
```

### Paramètres

`numberOfItems`

Un nombre représentant le nombre maximum d'éléments à renvoyer. La liste renvoyée contiendra jusqu'à ce nombre des éléments les plus récemment ajoutés. La valeur minimale autorisée ici est 1. Si vous transmettez 0 ou moins, la fonction génère une erreur.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau d'objets `BookmarkTreeNode`.

Exemples
--------

Cet exemple enregistre l'URL du dernier signet ajouté :


```js
function onFulfilled(bookmarks) {
  for (bookmark of bookmarks) {
    console.log(bookmark.url);
  }
}

function onRejected(error) {
  console.log(`An error: ${error}`);
}

var gettingRecent = browser.bookmarks.getRecent(1);
gettingRecent.then(onFulfilled, onRejected);
```

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.bookmarks`. Cette documentation provient de `bookmarks.json` dans le code Chromium.

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

La méthode **`bookmarks.remove()`** supprime un seul signet ou un dossier de signets vide.

**Attention :** Si votre extension tente de supprimer un signet du nœud racine de l'arborescence de signets, l'appel déclenche une erreur avec le message suivant: "*La racine du signet ne peut pas être modifiée*" et le signet ne sera pas supprimé.

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

Syntaxe
-------


```js
var removingBookmark = browser.bookmarks.remove(
  id, // string
);
```

### Paramètres

`id`

Un `string` spécifiant l'ID du signet ou du dossier vide à supprimer.

### Valeur retournée

Une `Promise` qui sera accomplie sans arguments..Si le nœud correspondant au paramètre `id` ne peut être trouvé ou s'il s'agit d'un dossier non vide, la promesse est rejetée avec un message d'erreur.

Exemples
--------


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

function onRejected(error) {
  console.log(`An error: ${error}`);
}

var bookmarkId = "abcdefghijkl";

var removingBookmark = browser.bookmarks.remove(bookmarkId);
removingBookmark.then(onRemoved, onRejected);
```

### Example extensions

* bookmark-it
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.bookmarks`. Cette documentation provient de `bookmarks.json` dans le code Chromium.

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

**`bookmarks.getTree()`** renvoie un tableau contenant la racine de l'arborescence des signets en tant qu'objet `bookmarks.BookmarkTreeNode`.

Vous pouvez accéder à l'intégralité de l'arborescence de manière récursive en utilisant sa propriété `children` et la propriété `children` de ses descendants, s'ils sont eux-mêmes des dossiers.

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

Syntaxe
-------


```js
var gettingTree = browser.bookmarks.getTree();
```

### Paramètres

None.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau contenant un objet, un objet `bookmarks.BookmarkTreeNode` le noeud racine.

Exemples
--------

Cet exemple imprime l'intégralité de l'arborescence des signets :


```js
function makeIndent(indentLength) {
  return ".".repeat(indentLength);
}

function logItems(bookmarkItem, indent) {
  if (bookmarkItem.url) {
    console.log(makeIndent(indent) + bookmarkItem.url);
  } else {
    console.log(makeIndent(indent) + "Folder");
    indent++;
  }
  if (bookmarkItem.children) {
    for (child of bookmarkItem.children) {
      logItems(child, indent);
    }
  }
  indent--;
}

function logTree(bookmarkItems) {
  logItems(bookmarkItems[0], 0);
}

function onRejected(error) {
  console.log(`An error: ${error}`);
}

var gettingTree = browser.bookmarks.getTree();
gettingTree.then(logTree, onRejected);
```

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.bookmarks`. Cette documentation provient de `bookmarks.json` dans le code Chromium.

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.
privacy.services
================

La propriété `privacy.services` contient des paramètres liés à la vie privée contrôlant les services offerts par le navigateur ou par des tiers. Chaque propriété est un objet `types.BrowserSetting`.

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

`passwordSavingEnabled`

Un objet `types.BrowserSetting` dont la valeur contenue est un booléen. Si il est défini à `true`, le gestionnaire de mot de passe du navigateur proposera de stocker des mots de passe lorsque l'utilisateur les entrera. La valeur par défaut est : `true`.

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

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

Exemples
--------

Désactivation, si possible, du gestionnaire de mot de passe.


```js
function onSet(result) {
  if (result) {
    console.log("success");
  } else {
    console.log("failure");
  }
}

var getting = browser.privacy.services.passwordSavingEnabled.get({});
getting.then((got) => {
  console.log(got.value);
  if (
    got.levelOfControl === "controlled\_by\_this\_extension" ||
    got.levelOfControl === "controllable\_by\_this\_extension"
  ) {
    var setting = browser.privacy.services.passwordSavingEnabled.set({
      value: false,
    });
    setting.then(onSet);
  } else {
    console.log("Not able to set passwordSavingEnabled");
  }
});
```


**Note :**

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

La propriété `privacy.network` contient des paramètres de configuration du réseau liés à la vie privée. Chaque propriété est un objet `types.BrowserSetting`.

Les valeurs par défaut de ces propriétés peuvent varier selon les navigateurs.

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

`networkPredictionEnabled`

Un objet `types.BrowserSetting` dont la valeur contenue est un booléen. Si il est défini à `true`, le navigateur tente d'accélérer la navigation Web avec la pré-résolution des entrées DNS, le pré-chargement des sites (en utilisant, par exemple, `<link rel='prefetch' ...>`), et en ouvrant de manière préemptive les connexions TCP et SSL aux serveurs.

`peerConnectionEnabled`

Un objet `types.BrowserSetting` dont la valeur contenue est un booléen. Si il est défini à `false`, l'interface`RTCPeerConnection` est désactivée. Notez que `getUserMedia()` n'est pas affectée par ce paramètre.

`webRTCIPHandlingPolicy`

 Un objet `types.BrowserSetting` dont la valeur contenue est une chaîne de caractères. Ce paramètre permet aux utilisateurs de spécifier les compromissions de performance / confidentialité des médias qui affectent la façon dont le trafic WebRTC sera acheminé et la quantité d'informations d'adresse locale exposées. Il peut prendre l'une des valeurs suivantes :
 `"default" "default_public_and_private_interfaces" "default_public_interface_only" "disable_non_proxied_udp"`

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

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

Exemples
--------

Définissez la propriété `webRTCIPHandlingPolicy` :


```js
function onSet(result) {
  if (result) {
    console.log("success");
  } else {
    console.log("failure");
  }
}

browser.browserAction.onClicked.addListener(() => {
  var getting = browser.privacy.network.webRTCIPHandlingPolicy.get({});
  getting.then((got) => {
    console.log(got.value);
    if (
      got.levelOfControl === "controlled\_by\_this\_extension" ||
      got.levelOfControl === "controllable\_by\_this\_extension"
    ) {
      var setting = browser.privacy.network.webRTCIPHandlingPolicy.set({
        value: "default\_public\_interface\_only",
      });
      setting.then(onSet);
    } else {
      console.log("Not able to set webRTCIPHandlingPolicy");
    }
  });
});
```


**Note :**

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

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

Supprimer toute mise en évidence d'une recherche précédente qui a été appliquée par un appel précédent à `highlightResults()`, ou par l'interface utilisateur native du navigateur.

Syntaxe
-------


```js
browser.find.removeHighlighting();
```

### Paramètres

Aucun

### Valeur retournée

Aucune.

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

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

Exemples
--------


```js
browser.find.removeHighlighting();
```
find.highlightResults()
=======================

Souligne les résultats d'un précédent appel à `find.find()`.

Lorsqu'une extension appelle `find()`, les correspondances ne sont pas automatiquement mises en surbrillance, mais elles sont stockées par le navigateur. Appelez `highlightResults()` pour les mettre en surbrillance.

Notez que les résultats stockés sont globaux pour toutes les extensions, par exemple, si l'extension appelle `find("apple")`, alors si l'extensions B appelle `find("banana")`, alors si l'extensions A appelle `highlightResults()`, le résultat pour "banana" sera mis en évidence.

Syntaxe
-------


```js
browser.find.highlightResults();
```

### Paramètres

Aucun.

### Valeur retournée

Aucune.

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

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

Exemples
--------

Recherchez "banana" dans l'onglet actif, notez le nombre de correspondances et mettez-les en surbrillance :


```js
function found(results) {
  console.log(`There were: ${results.count} matches.`);
  if (results.count > 0) {
    browser.find.highlightResults();
  }
}

browser.find.find("banana").then(found);
```
idle.IdleState
==============

Chaîne d'écrivant l'état d'inactivité du périphérique.

Type
----

Les valeurs de ce type sont des chaînes. Les valeurs possibles sont : `"active"`, `"idle"`, `"locked"`.

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.idle`. Cette documentation est dérivée de `idle.json` dans le code Chromium.

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

Renvoie `"locked"` si le système est vérouillé, `"inactif"` si l'utilisation n'a généré aucune entrée pendant un nombre de secondes spécifié, ou `"actif"` dans le cas contraire.

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

Syntaxe
-------


```js
var querying = browser.idle.queryState(
  detectionIntervalInSeconds, // integer
);
```

### Paramètres

`detectionIntervalInSeconds`

`integer`. Le système est considéré inactif si `detectionIntervalInSeconds` secondes s'est écoulé depuis la dernière entrée utilisateur détectée.

### Valeur renvoyée

Une `Promise` qui sera remplie avec une chaîne `idle.IdleState`, indiquant l'état actuel.

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

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

Exemples
--------

Dans cet extrait simple, nous appelons `queryState()` et vérifions si le `newState` est `inactif` ou `active`, en enregistrant un message selon le cas. Comme nous avons spécifié une valeur de `detectionIntervalInSeconds` de 15, un état `inactif` ne sera signalé que s'il n'y a pas eu d'activité de l'utilisateur depuis au moins 15 secondes


```js
function onGot(newState) {
  if (newState === "idle") {
    console.log("Please come back — we miss you!");
  } else if (newState === "active") {
    console.log("Glad to still have you with us!");
  }
}

var querying = browser.idle.queryState(15);
querying.then(onGot);
```


**Note :**

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

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

Définit l'intervalle, en secondes, utilisé pour déterminer quand le système est dans un état inactif pour les événements `idle.onStateChanged` . L'intervalle par défaut est de 60 secondes.

L'intervalle de détection est spécifique à l'extension qui appelle la méthode. La modification de l'intervalle dans une extension n'affecte pas l'intervalle de détection dans une autre extension.

Syntaxe
-------


```js
browser.idle.setDetectionInterval(
  intervalInSeconds, // integer
);
```

### Paramètres

`intervalInSeconds`

`integer`. Seuil, en secondes, utilisé pour déterminer quand le système est dans un état inactif. La valeur minimum que vous pouvez fournir ici est 15.

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

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

Exemples
--------


```js
browser.idle.setDetectionInterval(15);
```


**Note :**

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

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.
idle.onStateChanged
===================

Lancé lorsque le système change passe à l'état actif, inactif ou vérouillé. L'écouteur d'événement reçoit une chaîne qui a l'une des trois valeurs suivantes :

* "vérouillé" si l'écran est vérouillé ou si l'économisateur d'écran s'active
* "inactif" si le système est vérouillé ou si l'économisateur n'a généré aucune entrée pendant un nombre de secondes spécifié. Ce nombre est défini par défaut sur 60, mais peut-être défini à l'aide de `idle.setDetectionInterval()`.
* "actif" quand l'utilisateur génère une entrée sur un système inactif.
Syntaxe
-------


```js
browser.idle.onStateChanged.addListener(listener);
browser.idle.onStateChanged.removeListener(listener);
browser.idle.onStateChanged.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 l' `écouteur` est enregistré pour cet événement. Retourne `true` s'il écoute, `false` sinon.

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

### Paramètres

`callback`

Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les arguments suivants :

`newState`

`idle.IdleState`. Le nouvel état est inactif.


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

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

Exemples
--------


```js
function newState(state) {
  console.log(`New state: ${state}`);
}

browser.idle.onStateChanged.addListener(newState);
```


**Note :**

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

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.
short\_name
===========

|  |  |
| --- | --- |
| Type | `Chaîne` |
| Obligatoire | Non |
| Exemple | 
```json
"short\_name": "MonExtension"
```
 |

Nom abrégé de l'extension. S'il est donné, il sera utilisé dans des contextes où le champ name est trop long. Il est recommandé que le nom court ne dépasse pas 12 caractères. Si le champ du nom court n'est pas inclus dans manifest.json, le nom sera utilisé à la place et peut être tronqué.

C'est une propriété localisable.

Exemple
-------


```json
"short\_name": "MonExtension"
```

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
manifest\_version
=================

|  |  |
| --- | --- |
| Type | `Numérique` |
| Obligatoire | Oui |
| Exemple | 
```json
"manifest\_version": 2
```
 |

Cette clé spécifie la version de manifest.json utilisée par cette extension.

Actuellement, cela doit toujours être 2.

Exemple
-------


```json
"manifest\_version": 2
```

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

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

|  |  |
| --- | --- |
| Type | `Objet` |
| Obligatoire | Non |
| Exemple | 
```json
"omnibox": {
  "keyword": "mdn"
}
```
 |

Utilisez la clé `omnibox` pour définir un mot-clé omnibox pour votre extension.

Lorsque l'utilisateur tape ce mot-clé dans la barre d'adresse du navigateur, suivi d'un espace, les caractères suivants seront envoyés à l'extension à l'aide de l'API `omnibox`. L'extension pourra ensuite remplir la liste de suggestions de la liste déroulante de la barre d'adresse avec ses propres suggestions.

Si deux ou plusieurs extensions définissent le même mot-clé, l'extension qui a été installée la dernière permet de contrôler le mot-clé. Toute extension précédemment installée qui définit le même mot-clé ne pourra plus utiliser l'API omnibox.

Exemple
-------


```json
"omnibox": {
  "keyword": "mdn"
}
```

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
options\_page
=============

|  |  |
| --- | --- |
| Type | `String` |
| Mandatory | No |
| Example | 
```json
"options\_page": "options/options.html"
```
 |

**Obsolète:** Cette fonctionnalité a été supprimée des standards du Web. Bien que quelques navigateurs puissent encore la supporter, elle est en cours d'éradication. Ne l'utilisez ni dans d'anciens projets, ni dans de nouveaux. Les pages et applications Web l'utilisant peuvent cesser de fonctionner à tout moment.

**Attention :** Cette clé du manifest a été dépréciée. Utilisez `options_ui`à la place.

Utilisez la clé d'`options_page` pour définir une page d'options pour votre extension.

La page des options contient les paramètres de l'extension. L'utilisateur peut y accéder depuis le gestionnaire d'add-ons du navigateur, et vous pouvez l'ouvrir depuis votre extension en utilisant `runtime.openOptionsPage()`.

Contrairement aux pages d'options spécifiées à l'aide de la nouvelle clé `options_ui`, les pages d'options spécifiées à l'aide de la clé `options_page` obsolète ne reçoivent pas les styles de navigateur et s'ouvrent toujours dans un onglet normal du navigateur.

Exemple
-------


```json
"options\_page": "options/options.html"
```

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

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

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

* `options_ui`
* Options pages
version
=======

|  |  |
| --- | --- |
| Type | `Chaîne` |
| Obligatoire | Oui |
| Exemple | 
```json
"version": "0.1"
```
 |

Version de l'extension, sous forme de nombres et de caractères ASCII séparés par des points. Pour connaître les détails du format de version, consultez la page Format de la version.

Vous pouvez inspecter le code de linter des modules complémentaires pour voir comment les versions d'extension pour Firefox sont validées.

Notez que la syntaxe définie pour la version de Chrome est plus restrictive que celle utilisée par Firefox :

* Les valeurs d'une `version` valide pour Chrome seront toujours valables pour Firefox
* Les valeurs d'une `version` valide pour Firefox peuvent ne pas être valides pour Chrome

Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :


```js
console.log(browser.runtime.getManifest().version);
```

Exemple
-------

Si le manifest contient :


```js
"version": "0.1"
```


Pour obtenir votre version d'extension dans votre code JavaScript, utilisez :


```js
console.log(browser.runtime.getManifest().version);
// expected output: "0.1"
```

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

BCD tables only load in the browser with JavaScript enabled. Enable JavaScript to view data.
default\_locale
===============

|  |  |
| --- | --- |
| Type | chaîne |
| Obligatoire | 
 Il doit être présent si le sous-répertoire \_locales est présent, sinon
 il doit être absent.
  |
| Exemple | 
```json
"default\_locale": "fr"
```
 |

Cette clé doit être présente si l'extension contient le répertoire \_locales, et doit être absente sinon. Il identifie un sous-répertoire de \_locales, et ce sous-répertoire sera utilisé pour trouver les chaînes par défaut pour votre extension.

Voir Internationalisation.

Exemple
-------


```json
"default\_locale": "fr"
```

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

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