diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.html')
-rw-r--r-- | files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.html | 90 |
1 files changed, 90 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.html b/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.html new file mode 100644 index 0000000000..71e7e947f3 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/permissions/request/index.html @@ -0,0 +1,90 @@ +--- +title: permissions.request() +slug: Mozilla/Add-ons/WebExtensions/API/permissions/request +tags: + - API + - Add-ons + - Method + - Permissions + - Reference + - WebExtensions + - request +translation_of: Mozilla/Add-ons/WebExtensions/API/permissions/request +--- +<div>{{AddonSidebar()}}</div> + +<p>Demandez l'ensemble des permissions répertoriées dans l'objet {{WebExtAPIRef("permissions.Permissions")}}.</p> + +<p>L'argument <code>Permissions</code> peut contenir soit une propriété <code>origins</code> , qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#Host_permissions">permissions d'hôte</a>, soit une propriété <code>permissions</code> , qui est un tableau de <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions#API_permissions">permissions d'API</a>, ou les deux. Les permissions doivent provenir de l'ensemble des permissions définies dans la clé <code><a href="/fr/Add-ons/WebExtensions/manifest.json/optional_permissions">optional_permissions</a></code> du manifest.json. La propriété <code>origins</code> qui correspondent à un sous-ensemble des hôtes correspondant à une permission facultative : par exemple, si optional_permissions inclut "*://mozilla.org/", alors <code>permissions.origins</code> peut inclure "https://developer.mozilla.org/".</p> + +<p>La demande ne peut être faite qu'à l'intérieur du gestionnaire pour une <a href="/fr/Add-ons/WebExtensions/User_actions">action utilisateur</a>.</p> + +<p>Selon les circonstances, le navigateur traitera probablement la demande en demandant à l'utilisateur s'il doit accorder les permissions demandées. Une seule requête est faite pour toutes les permissions demandées: donc toutes les permissions sont accordées ou aucune d'entre elles ne l'est.</p> + +<p>Toutes les autorisations accordées sont conservées par l'extension, même en cas de mise à niveau et de désactivation / activation du cycle.</p> + +<p>Il s'agit d'une fonction asynchrone qui renvoie une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">var requesting = browser.permissions.request( + permissions // Permissions object +) +</pre> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>permissions</code></dt> + <dd>Un objet {{WebExtAPIRef("permissions.Permissions")}}</dd> +</dl> + +<h3 id="Return_value">Return value</h3> + +<p>Une <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code> qui sera remplie avec <code>true</code> si l'extension a reçu toutes les permissions répertoriées dans l'argument des <code>permissions</code> , ou <code>false</code> dans le cas contraire.</p> + +<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> + +<p class="hidden">The compatibility table in this page is generated from structured data. If you'd like to contribute to the data, please check out <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a> and send us a pull request.</p> + +<p>{{Compat("webextensions.api.permissions.request")}}</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Ce code ajoute un gestionnaire de clics qui demande diverses permissions, puis enregistre le résultat de la demande et les permissions de l'extension une fois la requête terminée.</p> + +<pre class="brush: js">const permissionsToRequest = { + permissions: ["bookmarks", "history"], + origins: ["https://developer.mozilla.org/"] +} + +function requestPermissions() { + + function onResponse(response) { + if (response) { + console.log("Permission was granted"); + } else { + console.log("Permission was refused"); + } + return browser.permissions.getAll(); + } + + browser.permissions.request(permissionsToRequest) + .then(onResponse) + .then((currentPermissions) => { + console.log(`Current permissions:`, currentPermissions); + }); +} + +document.querySelector("#request").addEventListener("click", requestPermissions);</pre> + +<p>{{WebExtExamples}}</p> + +<div class="note"><strong>Remerciements :</strong> + +<p>Actuellement un <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1411873">bug avec la demande d'origines</a> et la <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1382953">demande des permissions sur la page about:addons</a>.</p> + +<p>Cette API est basée sur l'API Chromium <a href="https://developer.chrome.com/extensions/permissions"><code>chrome.permissions</code></a>.</p> + +<p>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.</p> +</div> |