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

**`bookmarks.getChildren()`** récupère tous les enfants immédiats d'un dossier de signets donné, identifié comme `BookmarkTreeNode` ID.

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

Syntaxe
-------


```js
var gettingChildren = browser.bookmarks.getChildren(
  id, // string
);
```

### Paramètres

`id`

Un `string` qui spécifie l'ID du dossier dont les enfants doivent être récupérés.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau d'objets `BookmarkTreeNode`. Chaque entrée représente un seul noeud enfant. La liste est triée dans le même ordre dans lequel les signets apparaissent dans l'interface utilisateur. Les séparateurs ne sont actuellement pas inclus dans les résultats. La liste inclut les sous-dossiers, mais n'inclut aucun enfant contenu dans les sous-dossiers.

Si le noeud spécifié n'a pas d'enfants, le tableau est vide.Si le noeud identifié par `id` n'est pas trouvé, la promise est rejetée avec un message d'erreur.

Exemples
--------


```js
function onFulfilled(children) {
  for (child of children) {
    console.log(child.id);
  }
}

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

var gettingChildren = browser.bookmarks.getChildren("unfiled\_\_\_\_\_");
gettingChildren.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.removeTree()
======================

La méthode **`bookmarks.removeTree()`** supprime récursivement un dossier de signets et tout son contenu.

**Attention :** Si votre extension tente de supprimer une arborescence de signets du nœud racine de cette dernière, l'appel déclenche une erreur avec le message suivant: "La racine de 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 removingTree = browser.bookmarks.removeTree(
  id, // string
);
```

### Paramètres

`id`

Un `string` spécifiant l'ID du noeud de dossier à supprimer avec ses descendants.

### Valeur retournée

Une `Promise` qui sera remplie sans arguments lorsque l'arbre a été retiré.Si le noeud correspondant au paramètre `id` ne peut pas être trouvé, la promesse est rejetée avec un message d'erreur.

Exemples
--------

Cet exemple localise un dossier de signets nommé "MDN" et le supprime avec tout son contenu.


```js
function onRemoved() {
  console.log("bookmark item removed!");
}

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

function removeMDN(searchResults) {
  if (searchResults.length) {
    var removing = browser.bookmarks.removeTree(searchResults[0].id);
    removing.then(onRemoved, onRejected);
  }
}

var searchingBookmarks = browser.bookmarks.search({ title: "MDN" });
searchingBookmarks.then(removeMDN, 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.BookmarkTreeNode
==========================

Un objet de type `bookmarks.BookmarkTreeNode` représente un nœud dans l'arborescence de signets, où chaque nœud est un signet, un dossier de signet ou un séparateur. Les noeuds enfants sont classés par `index` dans leurs dossiers parents respectifs.

Type
----

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

`children` Facultatif

Un `array` d'objets `bookmarks.BookmarkTreeNode` qui représentent les enfants du noeud. La liste est classée dans la liste dans laquelle les enfants apparaissent dans l'interface utilisateur. Ce champ est omis si le noeud n'est pas un dossier.

`dateAdded` Facultatif

Un nombre représentant la date de création du noeud en millisecondes depuis l'époque.

`dateGroupModified` Facultatif

Un nombre représentant la date et l'heure de la dernière modification du contenu de ce dossier, en millisecondes depuis l'époque.

`id`

Un `string` qui identifie le nœud de manière unique. Chaque ID est unique dans le profil de l'utilisateur et reste inchangé dans les redémarrages du navigateur.

`index` Facultatif

Un nombre qui représente la position zéro de ce noeud dans son dossier parent, où zéro représente la première entrée.

`parentId` Facultatif

Un `string` qui spécifie l'ID du dossier parent. Cette propriété n'est pas présente dans le noeud racine.

`title`

Un `string` qui contient le texte affiché pour le nœud dans les menus et les listes de signets.

`type`Facultatif

Un objet `bookmarks.BookmarkTreeNodeType` indiquant s'il s'agit d'un signet, d'un dossier ou d'un séparateur. La valeur par défaut est `"bookmark"` sauf si l'`url` est omise, auquel cas elle est par défaut `"folder"`.

`unmodifiable` Facultatif

Un `string` comme décrit par le type `bookmarks.BookmarkTreeNodeUnmodifiable`. Représente la raison pour laquelle le noeud ne peut pas être modifié. Si le nœud peut être changé, ceci est omis.

`url` Facultatif

Un `string` qui représente l'URL du signet. Si le nœud représente un dossier, cette propriété est omise.

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

Le type `CreateDetails` est utilisé pour décrire les propriétés d'un nouveau, d'un signet, d'un dossier de signets ou d'un séparateur lors de l'appel de la méthode `bookmarks.create()`.

Type
----

Un `object` contenant une combinaison des champs suivants :

`index` Facultatif

Un entier `Number` qui spécifie la position à laquelle placer le nouveau signet sous son parent. Une valeur de 0 le placera en haut de la liste.

`parentId` Facultatif

Un `string` qui indique l'ID du dossier parent dans lequel placer le nouveau signet ou dossier de signets. Sur Chrome et Firefox, la valeur par défaut est le dossier "Autres signets" du menu Signets.

`title` Facultatif

Un `string` qui spécifie le titre du signet ou le nom du dossier à créer. Si ce n'est pas spécifié, le titre est `""`.

`type`Facultatif

Un objet `bookmarks.BookmarkTreeNodeType`indiquant s'il s'agit d'un signet, d'un dossier ou d'un séparateur. La valeur par défaut est `"bookmark"` sauf si l'`url` est omise, auquel cas elle est par défaut `"folder"`.

`url` Facultatif

`string`. Un `string` qui spécifie l'URL de la page à mettre en signet. Si ceci est omis ou est `null`, un dossier est créé à la place d'un signet.

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

Lancé lorsqu'un signet ou un dossier est supprimé. Lorsqu'un dossier est supprimé de manière récursive, une seule notification est envoyée pour le dossier et aucune pour son contenu.

Syntaxe
-------


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

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

### Paramètres

`callback`

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

`id`

`string`. ID de l'article qui a été supprimé.


`removeInfo`

`object`. Plus de détails sur l'élément supprimé.


Objets supplémentaires
----------------------

### removeInfo

`parentId`

`string`. ID du parent de l'élément dans l'arborescence.

`index`

`integer`. Position d'index basée sur zéro de cet élément dans son parent.

`node`

`bookmarks.BookmarkTreeNode`. Informations détaillées sur l'élément qui a été supprimé.

Exemples
--------


```js
function handleRemoved(id, removeInfo) {
  console.log("Item: " + id + " removed");
  console.log("Title: " + removeInfo.node.title);
  console.log("Url: " + removeInfo.node.url);
}

function handleClick() {
  browser.bookmarks.onRemoved.addListener(handleRemoved);
}

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

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

La méthode **`bookmarks.getSubTree()`** récupère de façon asynchrone un `bookmarks.BookmarkTreeNode`, étant donné son ID.

Si l'élément est un dossier, vous pouvez accéder à tous ses descendants 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 gettingSubTree = browser.bookmarks.getSubTree(
  id, // string
);
```

### Paramètres

`id`

Un `string` spécifiant l'ID de la racine du sous-arbre à récupérer.

### Valeur retournée

Une `Promise` qui sera remplie avec un tableau contenant un objet unique, un objet `bookmarks.BookmarkTreeNode`, représentant l'élément avec l'ID donné.Si un nœud correspondant à `id` n'a pas pu être trouvé, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Cet exemple imprime récursivement le sous-arbre sous un noeud donné :


```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: " + bookmarkItem.id);
    indent++;
  }
  if (bookmarkItem.children) {
    for (var child of bookmarkItem.children) {
      logItems(child, indent);
    }
  }
}

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

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

var subTreeID = "root\_\_\_\_\_";

var gettingSubTree = browser.bookmarks.getSubTree(subTreeID);
gettingSubTree.then(logSubTree, 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.onChildrenReordered
=============================

Lancé lorsque les enfants d'un dossier ont changé leur commande en raison de la commande triée dans l'interface utilisateur. Cela n'est pas appelé à la suite d'un appel à `bookmarks.move()` ou une opération glisser dans l'interface utilisateur.

Syntaxe
-------


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

Synatxe addListener
-------------------

### Paramètres

`callback`

Fonction qui sera très semblable à cet événement. La fonction suivante les arguments suivants :

`id`

`string`. ID du dossier dont les enfants ont été réorganisés.


`reorderInfo`

`object`. Objet contenant des objets supplémentaires.


Objets supplémentaires
----------------------

### reorderInfo

`childIds`

`array` de `string`. Tableau contenant les ID de tous les éléments de signets de ce dossier, dans l'ordre où ils apparaissent maintenant dans l'interface utilisateur.

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

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

Exemples
--------


```js
function handleChildrenReordered(id, reorderInfo) {
  console.log("Item: " + id + " children reordered");
  console.log("Children: " + reorderInfo.childIds);
}

function handleClick() {
  browser.bookmarks.onChildrenReordered.addListener(handleChildrenReordered);
}

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


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

Crée un signet ou un dossier en tant qu'enfant de `BookmarkTreeNode` avec `parentId` spécifié. Pour créer un dossier, omettez ou laissez vide le paramètre `CreateDetails.url`.

**Attention :** Si votre extension tente de créer un nouveau signet dans le nœud racine de l'arborescence du signet, une erreur est générée: "*La racine du signet ne peut pas être modifiée*" et le signet ne sera pas créé.

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

Syntaxe
-------


```js
var createBookmark = browser.bookmarks.create(
  bookmark, // CreateDetails object
);
```

### Paramètres

`bookmark`

Un objet `bookmarks.CreateDetails`.

### Valeur retournée

Une `Promise` qui sera remplie avec un `BookmarkTreeNode` qui décrit le nouveau noeud de marque pages.

Exemples
--------

Cet exemple crée un signet pour cette page, en le plaçant dans le dossier par défaut ("Autres signets" dans Firefox et Chrome).


```js
function onCreated(node) {
  console.log(node);
}

var createBookmark = browser.bookmarks.create({
  title: "bookmarks.create() on MDN",
  url: "https://developer.mozilla.org/Add-ons/WebExtensions/API/bookmarks/create",
});

createBookmark.then(onCreated);
```

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

Le type **`bookmarks.BookmarkTreeNodeType`** est utilisé pour décrire si un nœud de l'arborescence de signets est un signet, un dossier ou un séparateur.

Type
----

`bookmarks.BookmarkTreeNodeType` est un `string`qui peut avoir l'une des trois valeurs suivantes :

* `"bookmark"`: le noeud est un signet.
* `"folder"`: le noeud est un dossier.
* `"separator"`: le noeud est un séparateur.
Compatibilité des navigateurs
-----------------------------

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

**`bookmarks.update()`** met à jour le titre et / ou l'URL d'un signet ou le nom d'un dossier de signets.

**Attention :** Si votre extension tente de mettre à jour un signet dans le 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 mis à jour.

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

Syntaxe
-------


```js
var updating = browser.bookmarks.update(
  id, // string
  changes, // object
);
```

### Paramètres

`id`

Un `string` spécifiant l'ID du dossier de signet ou de dossier de signets à mettre à jour.

`changes`

Un `object` spécifiant les changements à appliquer, avec une combinaison des champs suivants. Tous les éléments non spécifiés ne sont pas modifiés dans le signet ou le dossier référencé :

`title` Facultatif

Un `string` contenant le nouveau titre du signet, ou le nouveau nom du dossier si l'`id` fait référence à un dossier.

`url` Facultatif

Un `string` fournissant une nouvelle URL pour le signet.


### Valeur retournée

Une `Promise` qui sera satisfaite avec un seul objet `bookmarks.BookmarkTreeNode` représentant le signet mis à jour. Si l'élément de signet correspondant au paramètre `id` ne peut pas être trouvé, la promesse est rejetée.

Exemples
--------

Cet exemple renomme tous les dossiers nommés "MDN" en "Mozilla Developer Network (MDN)".


```js
function onFulfilled(bookmarkItem) {
  console.log(bookmarkItem.title);
}

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

function updateFolders(items) {
  for (item of items) {
    // only folders, so skip items with a `url`
    if (!item.url) {
      var updating = browser.bookmarks.update(item.id, {
        title: "Mozilla Developer Network (MDN)",
      });
      updating.then(onFulfilled, onRejected);
    }
  }
}

var searching = browser.bookmarks.search({ title: "MDN" });
searching.then(updateFolders, 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.get()
===============

Étant donné l'ID d'un `bookmarks.BookmarkTreeNode` ou d'un tableau de ces ID, la méthode **`bookmarks.get()`** récupère les nœuds correspondants.

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

Syntaxe
-------


```js
var getBookmarks = browser.bookmarks.get(
  idOrIdList, // string or string array
);
```

### Paramètres

`idOrIdList`

`string` Une `string` ou un `array` de chaînes spécifiant les ID d'un ou plusieurs objets `BookmarkTreeNode` à récupérer.

### Valeur retournée

Une `promise` qui sera remplie avec un tableau de `BookmarkTreeNode`, un pour chaque nœud correspondant. Les séparateurs ne sont pas inclus dans les résultats. Si aucun noeud n'a pu être trouvé, la promesse sera rejetée avec un message d'erreur.

Exemples
--------

Cet exemple essaie d'obtenir le signet dont l'ID est `bookmarkAAAA`. Si aucun signet avec cet ID n'existe, `onRejected` est appelé :


```js
function onFulfilled(bookmarks) {
  console.log(bookmarks);
}

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

var gettingBookmarks = browser.bookmarks.get("bookmarkAAAA");
gettingBookmarks.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.onCreated
===================

Lancé lorsqu'un élément de signet (un signet ou un dossier) est créé.

Syntaxe
-------


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

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

### Paramètres

`callback`

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

`id`

`string`. L'ID du nouvel élément de favori.


`bookmark`

`bookmarks.BookmarkTreeNode`. Informations sur le nouvel élément de favori.


Exemples
--------


```js
function handleCreated(id, bookmarkInfo) {
  console.log(`New bookmark ID: ${id}`);
  console.log(`New bookmark URL: ${bookmarkInfo.url}`);
}

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

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

Un type **`bookmarks.BookmarkTreeNodeUnmodifiable`** est utilisé pour indiquer la raison pour laquelle un nœud de l'arborescence de signets (où chaque nœud est un signet ou un dossier de signets) ne peut pas être modifié. Ceci est utilisé comme valeur du champ `bookmarks.BookmarkTreeNode.unmodifiable.unmodifiable` sur les nœuds de signets.

Type
----

`bookmarks.BookmarkTreeNodeUnmodifiable` est un `string` qui ne peut actuellement avoir qu'une seule valeur : `"managed"`. Cela indique que le nœud de signet a été configuré par un administrateur ou par le dépositaire d'un utilisateur supervisé (tel qu'un parent, dans le cas des contrôles parentaux).

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.