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.
  • 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.
  • 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, loop et muted de HTMLMediaElement a été ajouté.
  • L'appel 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 element.mozRequestFullScreen() 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.
  • 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.
  • 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

SVG

  • L'interface DOM SVGSVGElement 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() 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 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