Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

Firefox 11 note de version pour les développeurs

Firefox 11 est sorti le 13 mars 2012. Cet article fournit des informations sur les nouvelles fonctionnalités et les principaux bugs corrigés dans cette version, ainsi que des liens vers une documentation plus détaillée pour les développeur·euse·s web et d'extensions.

Changements pour les développeur·euse·s 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 est désormais prise en charge sur les éléments HTML.
  • XMLHttpRequest prend en charge l'analyse HTML.
  • Suppression de la prise en charge de l'utilisation des attributs responseType et withCredentials de XMLHttpRequest lors de requêtes synchrones. Tenter de le faire déclenche une exception NS_ERROR_DOM_INVALID_ACCESS_ERR. Ce changement a été proposé au W3C pour standardisation.
  • La nouvelle méthode navigator.mozVibrate() permet de faire vibrer l'appareil lorsque c'est pris en charge ; c'est implémenté sous le nom mozVibrate() sur Gecko.
  • navigator.mozApps retourne un objet Apps que vous pouvez utiliser pour installer et gérer des applications web ouvertes.
  • Les évènements MozBeforePaint ne sont plus émis. Les consommatrices et consommateurs de mozRequestAnimationFrame() doivent désormais passer une fonction de rappel à la place.
  • La prise en charge de l'annulation des requêtes d'animation frame a été ajoutée ; window.mozRequestAnimationFrame() retourne désormais un identifiant de requête, que vous pouvez passer à window.mozCancelAnimationFrame() pour annuler la requête.
  • Plusieurs constructeurs Event (Event, évènements HTML, UIEvent et MouseEvent) introduits dans les spécifications DOM4 sont désormais pris en charge.
  • L'API Battery est désormais activée par défaut.
  • La prise en charge des propriétés defaultMuted, loop et muted sur HTMLMediaElement a été ajoutée.
  • Appeler Document.exitFullscreen restaure désormais l'élément précédemment en plein écran si un autre élément était en mode plein écran lorsque la méthode Element.requestFullScreen de l'élément courant a été appelée.
  • La méthode window.mozRequestAnimationFrame() ne prend plus en charge la forme sans argument. Cette forme était peu utilisée et il est peu probable qu'elle fasse partie du standard.
  • Un SVG utilisé comme image peut désormais être dessiné dans un canvas sans polluer le canvas.
  • La propriété non standard countryCode de l'interface GeoPositionAddress a été supprimée ; voir nsIDOMGeoPositionAddress.
  • Les évènements envoyés par le serveur prennent désormais en charge CORS.
  • Auparavant, lorsque l'utilisateur·ice suivait un lien, les valeurs définies sur l'objet Window.navigator étaient conservées par la nouvelle page. Désormais, un nouvel objet navigator est créé pour la nouvelle page. Cela rend Firefox conforme au comportement des autres navigateurs.

CSS

JavaScript

Aucun changement.

SVG

  • L'interface DOM SVGSVGElement supporte désormais la méthode getElementById.

WebSocket

  • L'API WebSocket supporte désormais les messages binaires (voir bogue Firefox 676439 (angl.)).
  • 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 bogue Firefox 666349 (angl.) et bogue Firefox 695635 (angl.)).
  • 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

  • La prise en charge de IDBFactory.cmp() a été ajoutée.

  • Une clé IndexedDB peut également être de l'un des types suivants : Date, Array et Float (et pas seulement String et Integer).

  • Désormais, les transactions sont démarrées lorsque la transaction est créée, et non lorsque la première requête est placée ; par exemple, considérez ceci :

    js
    let trans1 = db.transaction("toto", READ_WRITE);
    let trans2 = db.transaction("toto", READ_WRITE);
    
    trans2.put("2", "clé");
    trans1.put("1", "clé");
    

    Après l'exécution du code, le magasin d'objets doit contenir la valeur "2", puisque trans2 doit s'exécuter après trans1.

  • Avant Firefox 11, les compteurs autoIncrement des magasins d'objets étaient partagés entre tous les magasins d'objets d'une base de données donnée, alors que selon la spécification, chaque magasin d'objets doit avoir un compteur séparé. C'est maintenant corrigé.

  • Il est maintenant possible de créer un index avec un keyPath vide.

  • Il est maintenant possible de créer un index avec plusieurs entrées (voir les paramètres de IDBObjectStore.createIndex.)

  • L'évènement abort se propage désormais ; de plus, un gestionnaire onabort a été ajouté.

  • IndexedDB peut désormais être utilisé pour stocker des fichiers/blobs.

  • IndexedDB prend désormais en charge les chemins de clé complexes, par exemple, toto.truc pour accéder à la propriété truc de la propriété toto.

  • IndexedDB peut désormais accepter un tableau comme keyPath lors de la création d'un magasin d'objets ou d'un index (bogue Firefox 694138 (angl.).)

Réseau

Outils de développement

Changements pour les développeur·euse·s 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 (angl.)

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 prend désormais en charge l'ajout de badge textuel à l'icône de l'application dans l'ancrage en utilisant le nouvel attribut badgeText.
  • Dans l'interface nsINavHistoryResultObserver, vous devez à présent implémenter nsINavHistoryResultObserver.containerStateChanged() au lieu des anciennes méthodes containerOpened() et containerClosed().

Interfaces supprimées

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

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.