diff options
Diffstat (limited to 'files/fr/mozilla/add-ons/webextensions/api/theme')
6 files changed, 392 insertions, 0 deletions
diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.html b/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.html new file mode 100644 index 0000000000..8e79c32bc7 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/getcurrent/index.html @@ -0,0 +1,66 @@ +--- +title: theme.getCurrent() +slug: Mozilla/Add-ons/WebExtensions/API/theme/getCurrent +tags: + - API + - Add-ons + - Extensions + - Method + - Reference + - Theme + - WebExtensions + - getCurrent +translation_of: Mozilla/Add-ons/WebExtensions/API/theme/getCurrent +--- +<div>{{AddonSidebar()}}</div> + +<p>Retourne le theme utilisé actuellement sous la forme d'un objet {{WebExtAPIRef("theme.Theme", "Theme")}}. Les arguments disponible dans l'objet couleur sont listés dans les <a href="/fr/Add-ons/WebExtensions/manifest.json/theme#colors">propriétés de la couleur</a>.</p> + +<p>Il s'agit d'une fonction asynchrone qui renvoie un objet <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 getting = browser.theme.getCurrent( + <em>windowId</em> // integer +) +</pre> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>windowId</code> {{optional_inline}}</dt> + <dd><code>integer</code>. L'ID d'une fenêtre. Si cela est indiqué, le thème appliqué sur cette fenêtre sera retourné. Sinon le thème appliqué sur la dernière fenêtre active sera retourné.</dd> +</dl> + +<h3 id="Valeur_retournée">Valeur retournée</h3> + +<p>Un objet <code><a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Promise">Promise</a></code>. L'objet Promise sera résolu avec un objet {{WebExtAPIRef("theme.Theme")}} représentant le thème appliqué à la fenêtre spécifiée. Si aucun thème provenant d'une extension a été appliqué, l'objet Promise sera résolu avec un objet vide.</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.theme.getCurrent", 10)}}</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Obtient les propriétés des couleurs <code>accentcolor</code> et <code>toolbar</code> dans le thème actuel.</p> + +<pre class="brush: js">function getStyle(themeInfo) +{ + if (themeInfo.colors) + { + console.log("accent color : " + themeInfo.colors.accentcolor); + console.log("toolbar : " + themeInfo.colors.toolbar); + } +} + +async function getCurrentThemeInfo() +{ + var themeInfo = await browser.theme.getCurrent(); + getStyle(themeInfo); +} + +getCurrentThemeInfo();</pre> + +<p>{{WebExtExamples}}</p> diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/index.html b/files/fr/mozilla/add-ons/webextensions/api/theme/index.html new file mode 100644 index 0000000000..9e7cd40392 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/index.html @@ -0,0 +1,50 @@ +--- +title: theme +slug: Mozilla/Add-ons/WebExtensions/API/theme +tags: + - Extensions + - Themes + - WebExtensions + - add-on +translation_of: Mozilla/Add-ons/WebExtensions/API/theme +--- +<div>{{AddonSidebar}}</div> + +<p>Permet aux extensions du navigateur de mettre à jour le thème du navigateur.</p> + +<p>Pour utiliser cette API, une extension doit demander la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> "theme" dans son fichier <a href="/fr/Add-ons/WebExtensions/manifest.json">manifest.json</a>.</p> + +<div class="note"> +<p>Note: quand on met un thème en arrière plan, on doit déclarer la <a href="/fr/Add-ons/WebExtensions/manifest.json/permissions">permission</a> 'theme' et on ne peut pas utiliser la fonction <a href="/fr/Add-ons/WebExtensions/manifest.json/theme">theme</a> du manifest, puisque ce n'est pas compatible.</p> +</div> + +<h2 id="Types">Types</h2> + +<dl> + <dt>{{WebExtAPIRef("theme.Theme")}}</dt> + <dd>Représente le contenu d'un thème.</dd> +</dl> + +<h2 id="Fonctions">Fonctions</h2> + +<dl> + <dt>{{WebExtAPIRef("theme.getCurrent()")}}</dt> + <dd>Retourne le thème actuel du navigateur.</dd> + <dt>{{WebExtAPIRef("theme.update()")}}</dt> + <dd>Met à jour à le thème du navigateur.</dd> + <dt>{{WebExtAPIRef("theme.reset()")}}</dt> + <dd>Supprime les mises à jour de thèmes effectuées lors d'un appel à {{WebExtAPIRef("theme.update()")}}.</dd> +</dl> + +<h2 id="Evénements">Evénements</h2> + +<dl> + <dt>{{WebExtAPIRef("theme.onUpdated")}}</dt> + <dd>Emis quand le thème du navigateur change.</dd> +</dl> + +<h2 id="Compatibilité_du_navigateur">Compatibilité du navigateur</h2> + +<p>{{Compat("webextensions.api.theme")}}</p> + +<p>{{WebExtExamples("h2")}}</p> diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.html b/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.html new file mode 100644 index 0000000000..6e06fbf0d6 --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/onupdated/index.html @@ -0,0 +1,85 @@ +--- +title: theme.onUpdated +slug: Mozilla/Add-ons/WebExtensions/API/theme/onUpdated +tags: + - Add-ons + - Event + - Extensions + - Theme + - WebExtensions; +translation_of: Mozilla/Add-ons/WebExtensions/API/theme/onUpdated +--- +<div>{{AddonSidebar()}}</div> + +<p>L'événement se déclenche lorsqu'un thème fourni en tant qu'extension de navigateur est appliqué ou supprimé, plus précisément :</p> + +<ul> + <li>Quand un <a href="/fr/Add-ons/Themes/Theme_concepts#Static_themes">thème statique</a> est installé</li> + <li>Quand un <a href="/fr/Add-ons/WebExtensions/API/theme">thème dynamique </a>appelle <code><a href="/fr/Add-ons/WebExtensions/API/theme/update">theme.update()</a></code> ou <code><a href="/fr/Add-ons/WebExtensions/API/theme/update">theme.reset()</a></code></li> + <li>Quand un thème est désinstallé</li> +</ul> + +<p>Notez que cet événement n'est pas déclenché pour les thèmes intégrés.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">browser.theme.onUpdated.addListener(listener) +browser.theme.onUpdated.removeListener(listener) +browser.theme.onUpdated.hasListener(listener) +</pre> + +<p>Les événements ont trois fonctions :</p> + +<dl> + <dt><code>addListener(listener)</code></dt> + <dd>Ajoute un écouteur à cet événement.</dd> + <dt><code>removeListener(listener)</code></dt> + <dd>Arrête d'écouter cet événement. L'argument de <code>listener</code> est l'écouteur à supprimer.</dd> + <dt><code>hasListener(listener)</code></dt> + <dd>Vérifie si <code>listener</code> est enregistré pour cet événement. Retourne <code>true</code> s'il écoute, sinon <code>false</code>.</dd> +</dl> + +<h2 id="Syntaxe_addListener">Syntaxe addListener</h2> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>callback</code></dt> + <dd> + <p>Fonction qui sera appelée lorsque cet événement se produit. La fonction recevra les paramètres suivants :</p> + + <dl class="reference-values"> + <dt><code>updateInfo</code></dt> + <dd> + <p><code>object</code>. Un objet contenant deux propriétés :</p> + + <dl class="reference-values"> + <dt><code>theme</code></dt> + <dd><code>object</code>. Si l'événement a été déclenché parce qu'un thème fourni par une extension a été supprimé, il s'agira d'un objet vide. Si il a été déclenché parce qu'un thème fourni par une extension a été appliqué, ce sera un objet {{WebExtAPIRef("theme.Theme")}} représentant le thème qui a été appliqué.</dd> + <dt><code>windowId</code>{{optional_inline}}</dt> + <dd><code>integer</code>. L'ID de la fenêtre pour laquelle le thème a été mis à jour. Si cette propriété n'est pas présente, cela signifie que le thème a été mise à jour globalement.</dd> + </dl> + </dd> + </dl> + </dd> +</dl> + +<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.theme.onUpdated", 10)}}</p> + +<h2 id="Exemples">Exemples</h2> + +<pre class="brush: js">function handleUpdated(updateInfo) { + if (updateInfo.theme.colors) { + console.log(`Theme was applied: ${updateInfo.theme}`); + } else { + console.log(`Theme was removed`); + } +} + +browser.theme.onUpdated.addListener(handleUpdated);</pre> + +<p>{{WebExtExamples}}</p> diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.html b/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.html new file mode 100644 index 0000000000..e4504afb4f --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/reset/index.html @@ -0,0 +1,80 @@ +--- +title: theme.reset() +slug: Mozilla/Add-ons/WebExtensions/API/theme/reset +tags: + - API + - Add-ons + - Extensions + - Method + - Reference + - Theme + - WebExtensions + - reset +translation_of: Mozilla/Add-ons/WebExtensions/API/theme/reset +--- +<div>{{AddonSidebar()}}</div> + +<p>Réinitialise tout thème appliqué à l'aide de la méthode {{WebExtAPIRef("theme.update()")}}</p> + +<p>Notez que cela réinitialisera toujours le thème au thème par défaut d'origine, même si l'utilisateur a sélectionné un thème différent avant que le thème de cette extension ait été appliqué (voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=1415267">bug 1415267</a>).</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">browser.theme.reset( windowsId // integer ) +</pre> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>windowId</code> {{optional_inline}}</dt> + <dd><code>integer</code>. L'ID d'une fenêtre. Si cela est indiqué, le thème appliqué sur cette fenêtre sera réinitialisé. Sinon le thème sera réinitialisé sur toutes les fenêtres.</dd> +</dl> + +<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.theme.reset")}}</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Ce code applique un thème, puis le supprime lorsque l'utilisateur clique sur une action du navigateur:</p> + +<pre class="brush: js">browser.theme.update(themes.night); + +browser.browserAction.onClicked.addListener(() => { + browser.theme.reset(); +});</pre> + +<p>{{WebExtExamples}}</p> + +<div class="hidden"> +<pre>// Copyright 2015 The Chromium Authors. All rights reserved. +// +// Redistribution and use in source and binary forms, with or without +// modification, are permitted provided that the following conditions are +// met: +// +// * Redistributions of source code must retain the above copyright +// notice, this list of conditions and the following disclaimer. +// * Redistributions in binary form must reproduce the above +// copyright notice, this list of conditions and the following disclaimer +// in the documentation and/or other materials provided with the +// distribution. +// * Neither the name of Google Inc. nor the names of its +// contributors may be used to endorse or promote products derived from +// this software without specific prior written permission. +// +// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +// OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +</pre> +</div> diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.html b/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.html new file mode 100644 index 0000000000..f411c5af7f --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/theme/index.html @@ -0,0 +1,25 @@ +--- +title: Theme +slug: Mozilla/Add-ons/WebExtensions/API/theme/Theme +tags: + - Extension + - Theme + - WebExtensions + - add-on +translation_of: Mozilla/Add-ons/WebExtensions/API/theme/Theme +--- +<div>{{AddonSidebar()}}</div> + +<p>Un objet thème représente la spécification d'un thème.</p> + +<h2 id="Type">Type</h2> + +<p>Un <a href="/fr/docs/Web/JavaScript/Reference/Objets_globaux/Object">object</a> JSON qui prend les mêmes propriétés que la clé du manifest <a href="/fr/docs/Mozilla/Add-ons/WebExtensions/manifest.json/theme">"theme"</a>.</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.theme.Theme")}}</p> + +<p>{{WebExtExamples}}</p> diff --git a/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.html b/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.html new file mode 100644 index 0000000000..d935f69cad --- /dev/null +++ b/files/fr/mozilla/add-ons/webextensions/api/theme/update/index.html @@ -0,0 +1,86 @@ +--- +title: update +slug: Mozilla/Add-ons/WebExtensions/API/theme/update +tags: + - API + - Add-ons + - Extensions + - Method + - Refernce + - Theme + - Update + - WebExtensions +translation_of: Mozilla/Add-ons/WebExtensions/API/theme/update +--- +<div>{{AddonSidebar()}}</div> + +<p>Met à jour le thème du navigateur en fonction du contenu de l'objet {{WebExtAPIRef("theme.Theme", "Theme")}} donné.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox brush:js">browser.theme.update( + windowId, // integer + theme // object +) +</pre> + +<h3 id="Paramètres">Paramètres</h3> + +<dl> + <dt><code>windowId</code> {{optional_inline}}</dt> + <dd><code>integer</code>. L'ID d'une fenêtre. Si cela est prévu, le thème est appliqué uniquement à cette fenêtre. S'il est omis, le thème est appliqué à toutes les fenêtres.</dd> +</dl> + +<dl> + <dt><code>theme</code></dt> + <dd><code>object</code>. Un objet {{WebExtAPIRef("theme.Theme", "Theme")}} spécifiant des valeurs pour les éléments de l'interface utilisateur que vous voulez modifier</dd> +</dl> + +<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.theme.update", 10)}}</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Définit le thème du navigateur pour utiliser un graphique solaire avec une couleur de fond complémentaire:</p> + +<pre class="brush: js" dir="ltr">const suntheme = { + images: { + headerURL: 'sun.jpg', + }, + colors: { + accentcolor: '#CF723F', + textcolor: '#111', + } +}; + +browser.theme.update(suntheme);</pre> + +<p dir="ltr">Définissez le thème uniquement pour la fenêtre actuellement ciblée:</p> + +<pre class="brush: js">const day = { + images: { + headerURL: 'sun.jpg', + }, + colors: { + accentcolor: '#CF723F', + textcolor: '#111', + } +}; + +browser.menus.create({ + id: "set-theme", + title: "set theme", + contexts: ["all"] +}); + +async function updateThemeForCurrentWindow() { + let currentWindow = await browser.windows.getLastFocused(); + browser.theme.update(currentWindow.id, day); +} + +browser.menus.onClicked.addListener(updateThemeForCurrentWindow);</pre> + +<p>{{WebExtExamples}}</p> |