Firefox 11 pour les développeurs

  • Raccourci de la révision : Mozilla/Firefox/Versions/11
  • Titre de la révision : Firefox 11 pour les développeurs
  • ID de la révision : 434239
  • Créé :
  • Créateur : tregagnon
  • Version actuelle ? Oui
  • Commentaire

Contenu de la révision

Firefox 11, basé sur Gecko 11.0, est sorti le 13 mars 2012. Cet article fournit des informations sur les nouvelles fonctionnalités et les principaux bugs corrigés, ainsi que des liens vers une documentation plus détaillée pour les développeurs web et d'extensions.

Changements pour les développeurs Web

HTML

  • Les attributs muted et loop pour les éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}} ont été implémentés.

DOM

  • La propriété {{domxref("element.outerHTML")}} supporte maintenant les éléments HTML.
  • XMLHttpRequest supporte l'analyse HTML.
  • Suppression du support des attributs responseType et withCredentials {{domxref("XMLHttpRequest")}} lors de requêtes synchrones. Si vous tentez de le faire l'exception NS_ERROR_DOM_INVALID_ACCESS_ERR est envoyée. Ce changement a été proposé au W3C pour être normalisé.
  • la nouvelle méthode {{domxref("window.navigator.mozVibrate()")}} vous permet de faire vibrer le périphérique supporté, c'est implémenté dans Gecko en tant que mozVibrate().
  • {{domxref("window.navigator.mozApps")}} retourne un objet Apps, vous pouvez l'utiliser pour installer et gérer des applications Web ouvertes.
  • Les évènements MozBeforePaint ne sont plus exploités. Ceux qui ont utilisé {{domxref("window.requestAnimationFrame", "mozRequestAnimationFrame()")}} devraient transmettre une fonction de rappel à la place.
  • La prise en charge de l'annulation des demandes d'animation de trame a été ajouté, {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} retourne désormais la valeur ID de la demande, que vous pouvez passer à {{domxref("window.cancelAnimationFrame", "window.mozCancelAnimationFrame()")}} pour annuler la demande.
  • Plusieurs constructeurs {{domxref("Event")}} (Event, HTML events, UIEvent et MouseEvent) introduits dans les spécifications DOM4 sont à présent supportés.
  • {{domxref("window.navigator.mozBattery", "Battery API")}} est désormais activée par défaut.
  • Le support des propriétés defaultMuted, loop et muted de HTMLMediaElement a été ajouté.
  • L'appel {{domxref("document.mozCancelFullScreen()")}} restaure à présent l'élément précédemment en plein-écran, si un autre élément était en mode plein-écran lorsque la méthode {{domxref("element.mozRequestFullScreen()")}} a été appelée.
  • La méthode {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} ne supporte plus une forme sans argument. Cela n'est pas beaucoup utilisé et il est peu probable que ça fasse partie de la norme.
  • Les images SVG peuvent à présent être dessinées dans un canvas sans entacher le canvas.
  • La propriété non-standard countryCode de l'interface GeoPositionAddress a été supprimée, voir {{interface("nsIDOMGeoPositionAddress")}}.
  • Les évènements Server-sent supportent désormais CORS.
  • Dans le passé, lorsque l'utilisateur suivait un lien, les valeurs définies sur l'objet {{domxref("window.navigator")}} été retenus par la nouvelle page. Maintenant un nouvel objet navigator est crée pour la nouvelle page. Cela rend le comportement de Firefox identique aux autres navigateurs.

CSS

SVG

  • L'interface DOM {{domxref("SVGSVGElement")}} supporte désormais la méthode getElementById.

WebSocket

  • L'API WebSocket supporte désormais les messages binaires (voir {{bug("676439")}}).
  • Le protocole et l'API ont été mis à jour suivant la dernière version de la spécification et l'API n'a plus de préfixe (voir {{bug("666349")}} et {{bug("695635")}}).
  • Auparavant, les messages envoyés et reçus à l'aide de WebSockets dans Firefox été limités à 16 Mo en taille, désormais ils peuvent aller jusqu'à 2 Go (bien que les limitations de capacité de mémoire peut les empêcher d'être plus grand, Firefox le supporte).

IndexedDB

  • Le support de IDBFactory.cmp() a été ajouté.
  • Une clé IndexedDB peut également être de l'un des types suivants : Date, Arrays et Float (et pas seulement String et Integer).

Réseau

  • La modification dans Firefox 8 concernant la suppression des guillemets comme délimiteurs pour {{rfc(2231)}} et {{rfc(5987)}} a été annulée, car cela a cassé certains sites, y compris Outlook Web Access.

Outils de développement

Changements pour les développeurs de Mozilla et de modules complémentaires

Module de code JavaScript

NetUtil.jsm

  • readInputStreamToString() a un nouveau paramètre (optionnel) à configurer pour l'interprétation du jeu de caractères lors de la lecture du flux d'entrée.

Nouveau module de code JavaScript

source-editor.jsm
Offre un moyen pratique facile d'éditeur de code source que vous pouvez utiliser dans vos add-ons. C'est le même éditeur utilisé par l'Ardoise et les autres outils de développement intégrés dans Firefox.

Changements dans les interfaces

  • L'interface {{interface("mozIAsyncHistory")}} a une nouvelle méthode {{ifmethod("mozIAsyncHistory","isURIVisited")}} pour vérifier si une URI a été visitée.
  • Une nouvelle interface {{interface("mozIVisitStatusCallback")}} a été ajoutée pour fournir une fonctionnalité de traitement des rappels pour {{ifmethod("mozIAsyncHistory","isURIVisited")}}.
  • L'interface {{interface("nsIMacDockSupport")}} interface now supports adding a text badge to the application's icon in the Dock using its new badgeText attribute.
  • Dans l'interface {{interface("nsINavHistoryResultObserver")}}, vous devez à présent implémenter {{ifmethod("nsINavHistoryResultObserver", "containerStateChanged")}} au lieu des anciennes méthodes containerOpened() et containerClosed().

Interface supprimées

Les interfaces suivantes ont été supprimées car elles n'étaient plus indispensables :

  • {{interface("nsICharsetResolver")}}
  • {{interface("nsIDOMNSElement")}}, voir {{bug("707576")}} ; utilisez {{interface("nsIDOMElement")}} à la place.

Changement lié au thème

  • Le fichier omni.jar se nomme désormais omni.ja.

Changement dans les préférences

{{Pref("ui.tooltipDelay")}}
Définit le délai, en millisecondes, entre le moment où le curseur de la souris s'arrête et l'affichage d'une info-bulle.

Changement dans le système de compilation

  • L'option de compilation --enable-tracejit a été supprimée.

Autre changement

  • Les extensions qui n'ont pas été mises à jour depuis longtemps sont supposées ne plus être compatible par défaut, ce qui concerne actuellement les add-ons qui indiquent 4.0 pour maxVersion.

Voir également

{{Firefox_for_developers('10')}}

Source de la révision

<p>Firefox 11, basé sur Gecko 11.0, est sorti le 13 mars 2012. Cet article fournit des informations sur les nouvelles fonctionnalités et les principaux bugs corrigés, ainsi que des liens vers une documentation plus détaillée pour les développeurs web et d'extensions.</p>
<h2 id="Changements_pour_les_d.C3.A9veloppeurs_Web">Changements pour les développeurs Web</h2>
<h3 id="HTML">HTML</h3>
<ul>
  <li>Les attributs <code>muted</code> et <code>loop</code> pour les éléments {{HTMLElement("audio")}} et {{HTMLElement("video")}} ont été implémentés.</li>
</ul>
<h3 id="DOM">DOM</h3>
<ul>
  <li>La propriété {{domxref("element.outerHTML")}} supporte maintenant les éléments HTML.</li>
  <li><a class="internal" href="https://developer.mozilla.org/en-US/docs/HTML_in_XMLHttpRequest" title="HTML in XMLHttpRequest"><code>XMLHttpRequest</code> supporte l'analyse HTML</a>.</li>
  <li>Suppression du support des attributs <code>responseType</code> et <code>withCredentials</code> {{domxref("XMLHttpRequest")}} lors de requêtes synchrones. Si vous tentez de le faire l'exception <code>NS_ERROR_DOM_INVALID_ACCESS_ERR</code> est envoyée. Ce changement a été proposé au W3C pour être normalisé.</li>
  <li>la nouvelle méthode {{domxref("window.navigator.mozVibrate()")}} vous permet de faire vibrer le périphérique supporté, c'est implémenté dans Gecko en tant que <code>mozVibrate()</code>.</li>
  <li>{{domxref("window.navigator.mozApps")}} retourne un objet <a class="internal" href="https://developer.mozilla.org/en-US/docs/DOM/Apps" title="DOM/Apps">Apps</a>, vous pouvez l'utiliser pour installer et gérer des <a class="internal" href="https://developer.mozilla.org/fr/docs/Applications" title="Applications">applications Web ouvertes</a>.</li>
  <li>Les évènements <code>MozBeforePaint</code> ne sont plus exploités. Ceux qui ont utilisé {{domxref("window.requestAnimationFrame", "mozRequestAnimationFrame()")}} devraient transmettre une fonction de rappel à la place.</li>
  <li>La prise en charge de l'annulation des demandes d'animation de trame a été ajouté, {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} retourne désormais la valeur ID de la demande, que vous pouvez passer à {{domxref("window.cancelAnimationFrame", "window.mozCancelAnimationFrame()")}} pour annuler la demande.</li>
  <li>Plusieurs constructeurs {{domxref("Event")}} (<code>Event</code>, HTML events, <code>UIEvent</code> et <code>MouseEvent</code>) introduits dans les spécifications DOM4 sont à présent supportés.</li>
  <li>{{domxref("window.navigator.mozBattery", "Battery API")}} est désormais activée par défaut.</li>
  <li>Le support des propriétés <a class="internal" href="https://developer.mozilla.org/en-US/docs/DOM/HTMLMediaElement" title="HTMLMediaElement"><code>defaultMuted</code></a>, <code><a class="internal" href="https://developer.mozilla.org/en-US/docs/DOM/HTMLMediaElement" title="HTMLMediaElement">loop</a></code> et <a class="internal" href="https://developer.mozilla.org/en-US/docs/DOM/HTMLMediaElement" title="HTMLMediaElement"><code>muted</code></a> de <a class="internal" href="https://developer.mozilla.org/en-US/docs/DOM/HTMLMediaElement" title="HTMLMediaElement"><code>HTMLMediaElement</code></a> a été ajouté.</li>
  <li>L'appel {{domxref("document.mozCancelFullScreen()")}} restaure à présent l'élément précédemment en plein-écran, si un autre élément était en mode plein-écran lorsque la méthode {{domxref("element.mozRequestFullScreen()")}} a été appelée.</li>
  <li>La méthode {{domxref("window.requestAnimationFrame", "window.mozRequestAnimationFrame()")}} ne supporte plus une forme sans argument. Cela n'est pas beaucoup utilisé et il est peu probable que ça fasse partie de la norme.</li>
  <li>Les images SVG peuvent à présent être dessinées dans un canvas sans <a class="internal" href="https://developer.mozilla.org/en-US/docs/CORS_Enabled_Image#What_is_a_.22tainted.22_canvas.3F" title="CORS Enabled Image#What is a tainted canvas ?">entacher le canvas</a>.</li>
  <li>La propriété non-standard <code>countryCode</code> de l'interface <code>GeoPositionAddress</code> a été supprimée, voir {{interface("nsIDOMGeoPositionAddress")}}.</li>
  <li><a class="internal" href="https://developer.mozilla.org/en-US/docs/Server-sent_events" title="Server-sent events">Les évènements Server-sent</a> supportent désormais <a class="internal" href="https://developer.mozilla.org/en-US/docs/HTTP_access_control" title="HTTP access control (CORS)">CORS</a>.</li>
  <li>Dans le passé, lorsque l'utilisateur suivait un lien, les valeurs définies sur l'objet {{domxref("window.navigator")}} été retenus par la nouvelle page. Maintenant un nouvel objet <code>navigator</code> est crée pour la nouvelle page. Cela rend le comportement de Firefox identique aux autres navigateurs.</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
  <li>La propriété <a class="internal" href="https://developer.mozilla.org/en-US/docs/CSS/text-size-adjust" title="text-size-adjust"><code>text-size-adjust</code></a> est à présent supportée.</li>
  <li>Les <a class="internal" href="https://developer.mozilla.org/en-US/docs/CSS/CSS3#Conditional_Rules" title="Règles Conditionnelles CSS3">Règles Conditionnelles</a> <a class="internal" href="https://developer.mozilla.org/en-US/docs/CSS/CSS3" title="CSS3">CSS3</a> sont à présent mieux supportées : les déclarations imbriquées peuvent désormais être ajoutées à <a class="internal" href="https://developer.mozilla.org/fr/docs/CSS/@media" title="@media">@media</a>, <a class="internal" href="https://developer.mozilla.org/fr/docs/CSS/@-moz-document" title="@document">@-moz-document</a>. (Voir <a class="internal" href="https://developer.mozilla.org/en-US/docs/CSS/Syntax" title="Syntax">CSS Syntax</a> et <a class="internal" href="https://developer.mozilla.org/en-US/docs/CSS/At-rule" title="At-rule">CSS at-rules</a>).</li>
</ul>
<h3 id="SVG">SVG</h3>
<ul>
  <li>L'interface DOM {{domxref("SVGSVGElement")}} supporte désormais la méthode <code>getElementById</code>.</li>
</ul>
<h3 id="WebSocket">WebSocket</h3>
<ul>
  <li>L'API <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets" title="WebSockets">WebSocket</a> supporte désormais les messages binaires (voir {{bug("676439")}}).</li>
  <li>Le protocole et l'API ont été mis à jour suivant la dernière version de la spécification et l'API n'a plus de préfixe (voir {{bug("666349")}} et {{bug("695635")}}).</li>
  <li>Auparavant, les messages envoyés et reçus à l'aide de WebSockets dans Firefox été limités à 16 Mo en taille, désormais ils peuvent aller jusqu'à 2 Go (bien que les limitations de capacité de mémoire peut les empêcher d'être plus grand, Firefox le supporte).</li>
</ul>
<h3 id="IndexedDB">IndexedDB</h3>
<ul>
  <li>Le support de <a class="internal" href="https://developer.mozilla.org/en-US/docs/IndexedDB/IDBFactory#cmp%28%29" title="IDBFactory#cmp()">IDBFactory.cmp()</a> a été ajouté.</li>
  <li>Une <a class="internal" href="https://developer.mozilla.org/en-US/docs/IndexedDB/Basic_Concepts_Behind_IndexedDB#section_6" title="Basic Concepts Behind IndexedDB#section_6">clé IndexedDB</a> peut également être de l'un des types suivants : Date, Arrays et Float (et pas seulement String et Integer).</li>
</ul>
<h3 id="R.C3.A9seau">Réseau</h3>
<ul>
  <li>La modification dans Firefox 8 concernant la suppression des guillemets comme délimiteurs pour {{rfc(2231)}} et {{rfc(5987)}} a été annulée, car cela a cassé certains sites, y compris Outlook Web Access.</li>
</ul>
<h3 id="Outils_de_d.C3.A9veloppement">Outils de développement</h3>
<ul>
  <li>L'<a class="internal" href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector" title="Page Inspector">Inspecteur de page</a> offre désormais une <a class="internal" href="https://developer.mozilla.org/en-US/docs/Tools/Page_Inspector/3D_view" title="3D view">vue 3D</a> si votre système supporte <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebGL" title="WebGL">WebGL</a>.</li>
  <li>Le nouvel <a class="internal" href="https://developer.mozilla.org/en-US/docs/Tools/Style_Editor" title="Style Editor">Editeur de styles</a> offre un moyen d'éditer et de composer des feuilles de style CSS en temps réel.</li>
  <li>La <a class="internal" href="https://developer.mozilla.org/en-US/docs/View_source" title="View source">fonctionnalité Afficher la source</a> utilise désormais le nouveau parseur HTML5 au lieu du vieux parseur HTML.</li>
</ul>
<h2 id="Changements_pour_les_d.C3.A9veloppeurs_de_Mozilla_et_de_modules_compl.C3.A9mentaires">Changements pour les développeurs de Mozilla et de modules complémentaires</h2>
<h3 id="Module_de_code_JavaScript">Module de code JavaScript</h3>
<h4 id="NetUtil.jsm">NetUtil.jsm</h4>
<ul>
  <li><a class="internal" href="https://developer.mozilla.org/en-US/docs/JavaScript_code_modules/NetUtil.jsm#readInputStreamToString()" title="NetUtil.jsm#readInputStreamToString()"><code>readInputStreamToString()</code></a> a un nouveau paramètre (optionnel) à configurer pour l'interprétation du jeu de caractères lors de la lecture du flux d'entrée.</li>
</ul>
<h4 id="Nouveau_module_de_code_JavaScript">Nouveau module de code JavaScript</h4>
<dl>
  <dt>
    <a class="internal" href="https://developer.mozilla.org/en-US/docs/JavaScript_code_modules/source-editor.jsm" title="source-editor.jsm"><code>source-editor.jsm</code></a></dt>
  <dd>
    Offre un moyen pratique facile d'éditeur de code source que vous pouvez utiliser dans vos add-ons. C'est le même éditeur utilisé par l'<a class="internal" href="https://developer.mozilla.org/fr/docs/Outils/Ardoise" title="Ardoise">Ardoise</a> et les autres outils de développement intégrés dans Firefox.</dd>
</dl>
<h3 id="Changements_dans_les_interfaces">Changements dans les interfaces</h3>
<ul>
  <li>L'interface {{interface("mozIAsyncHistory")}} a une nouvelle méthode {{ifmethod("mozIAsyncHistory","isURIVisited")}} pour vérifier si une URI a été visitée.</li>
  <li>Une nouvelle interface {{interface("mozIVisitStatusCallback")}} a été ajoutée pour fournir une fonctionnalité de traitement des rappels pour {{ifmethod("mozIAsyncHistory","isURIVisited")}}.</li>
  <li>L'interface {{interface("nsIMacDockSupport")}} interface now supports adding a text badge to the application's icon in the Dock using its new <code>badgeText</code> attribute.</li>
  <li>Dans l'interface {{interface("nsINavHistoryResultObserver")}}, vous devez à présent implémenter {{ifmethod("nsINavHistoryResultObserver", "containerStateChanged")}} au lieu des anciennes méthodes <code>containerOpened()</code> et <code>containerClosed()</code>.</li>
</ul>
<h4 id="Interface_supprim.C3.A9es">Interface supprimées</h4>
<p>Les interfaces suivantes ont été supprimées car elles n'étaient plus indispensables :</p>
<ul>
  <li>{{interface("nsICharsetResolver")}}</li>
  <li>{{interface("nsIDOMNSElement")}}, voir {{bug("707576")}} ; utilisez {{interface("nsIDOMElement")}} à la place.</li>
</ul>
<h3 id="Changement_li.C3.A9_au_th.C3.A8me">Changement lié au thème</h3>
<ul>
  <li>Le fichier <code>omni.jar</code> se nomme désormais <a class="internal" href="https://developer.mozilla.org/en-US/docs/Mozilla/About_omni.ja_(formerly_omni.jar)" title="About omni.ja(formerly_omni.jar)"><code>omni.ja</code></a>.</li>
</ul>
<h3 id="Changement_dans_les_pr.C3.A9f.C3.A9rences">Changement dans les préférences</h3>
<dl>
  <dt>
    {{Pref("ui.tooltipDelay")}}</dt>
  <dd>
    Définit le délai, en millisecondes, entre le moment où le curseur de la souris s'arrête et l'affichage d'une info-bulle.</dd>
</dl>
<h3 id="Changement_dans_le_syst.C3.A8me_de_compilation">Changement dans le système de compilation</h3>
<ul>
  <li>L'option de compilation <code>--enable-tracejit</code> a été supprimée.</li>
</ul>
<h3 id="Autre_changement">Autre changement</h3>
<ul>
  <li>Les extensions qui n'ont pas été mises à jour depuis longtemps sont supposées ne plus être compatible par défaut, ce qui concerne actuellement les add-ons qui indiquent 4.0 pour <code>maxVersion</code>.</li>
</ul>
<h2 id="Voir_.C3.A9galement">Voir également</h2>
<p>{{Firefox_for_developers('10')}}</p>
Revenir à cette révision