Firefox 11 pour les développeurs
================================

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 `<audio>` et `<video>` ont été implémentés.
### DOM

* La propriété `element.outerHTML` supporte maintenant les éléments HTML.
* `XMLHttpRequest` supporte l'analyse HTML (en-US).
* Suppression du support des attributs `responseType` et `withCredentials` `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 `window.navigator.mozVibrate()` vous permet de faire vibrer le périphérique supporté, c'est implémenté dans Gecko en tant que `mozVibrate()`.
* `window.navigator.mozApps` retourne un objet Apps, vous pouvez l'utiliser pour installer et gérer des applications Web ouvertes (en-US).
* Les évènements `MozBeforePaint` ne sont plus exploités. Ceux qui ont utilisé `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é, `window.mozRequestAnimationFrame()` retourne désormais la valeur ID de la demande, que vous pouvez passer à `window.mozCancelAnimationFrame()` pour annuler la demande.
* Plusieurs constructeurs `Event` (`Event`, HTML events, `UIEvent` et `MouseEvent`) introduits dans les spécifications DOM4 sont à présent supportés.
* `Battery API` est désormais activée par défaut.
* Le support des propriétés `defaultMuted` (en-US), `loop` (en-US) et `muted` (en-US) de `HTMLMediaElement` (en-US) a été ajouté.
* L'appel `document.mozCancelFullScreen()` (en-US) 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 `element.mozRequestFullScreen()` (en-US) a été appelée.
* La méthode `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 (en-US).
* La propriété non-standard `countryCode` de l'interface `GeoPositionAddress` a été supprimée, voir `nsIDOMGeoPositionAddress`.
* Les évènements Server-sent supportent désormais CORS (en-US).
* Dans le passé, lorsque l'utilisateur suivait un lien, les valeurs définies sur l'objet `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

* La propriété `text-size-adjust` (en-US) est à présent supportée.
* Les Règles Conditionnelles CSS3 sont à présent mieux supportées : les déclarations imbriquées peuvent désormais être ajoutées à @media, @-moz-document (en-US). (Voir CSS Syntax (en-US) et CSS at-rules (en-US)).
### SVG

* L'interface DOM `SVGSVGElement` (en-US) supporte désormais la méthode `getElementById`.
### WebSocket

* L'API WebSocket supporte désormais les messages binaires (voir bug Firefox 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 Firefox 666349 et bug Firefox 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() (en-US) 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

* L'Inspecteur de page offre désormais une vue 3D (en-US) si votre système supporte WebGL.
* Le nouvel Editeur de styles offre un moyen d'éditer et de composer des feuilles de style CSS en temps réel.
* La fonctionnalité Afficher la source (en-US) utilise désormais le nouveau parseur HTML5 au lieu du vieux parseur HTML.
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 `mozIAsyncHistory` a une nouvelle méthode `mozIAsyncHistory.isURIVisited()` pour vérifier si une URI a été visitée.
* Une nouvelle interface `mozIVisitStatusCallback` a été ajoutée pour fournir une fonctionnalité de traitement des rappels pour `mozIAsyncHistory.isURIVisited()`.
* L'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 `nsINavHistoryResultObserver`, vous devez à présent implémenter `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 :

* `nsICharsetResolver`
* `nsIDOMNSElement`, voir bug Firefox 707576 ; utilisez `nsIDOMElement` à la place.
### Changement lié au thème

* Le fichier `omni.jar` se nomme désormais `omni.ja`.
### Changement dans les préférences

`"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 aussi
----------

* Firefox 10 pour les développeurs
* Firefox 9 pour les développeurs
* Firefox 8 pour les développeurs
* Firefox 7 pour les développeurs
* Firefox 6 pour les développeurs
* Firefox 5 pour les développeurs
* Firefox 4 pour les développeurs
* Firefox 3.6 pour les développeurs
* Firefox 3.5 pour les développeurs
* Firefox 3 pour les développeurs
* Firefox 2 pour les développeurs
* Firefox 1.5 pour les développeurs