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
DOM
- La propriété
Element.outerHTMLest désormais prise en charge sur les éléments HTML. XMLHttpRequestprend en charge l'analyse HTML.- Suppression de la prise en charge de l'utilisation des attributs
responseTypeetwithCredentialsdeXMLHttpRequestlors de requêtes synchrones. Tenter de le faire déclenche une exceptionNS_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 nommozVibrate()sur Gecko. navigator.mozAppsretourne un objetAppsque vous pouvez utiliser pour installer et gérer des applications web ouvertes.- Les évènements
MozBeforePaintne sont plus émis. Les consommatrices et consommateurs demozRequestAnimationFrame()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,UIEventetMouseEvent) 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,loopetmutedsurHTMLMediaElementa été ajoutée. - Appeler
Document.exitFullscreenrestaure désormais l'élément précédemment en plein écran si un autre élément était en mode plein écran lorsque la méthodeElement.requestFullScreende 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
countryCodede l'interfaceGeoPositionAddressa été supprimée ; voirnsIDOMGeoPositionAddress. - 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 objetnavigatorest créé pour la nouvelle page. Cela rend Firefox conforme au comportement des autres navigateurs.
CSS
- La propriété
text-size-adjustest à présent supportée. - CSS3 Règles conditionnelles sont à présent mieux supportées : les déclarations imbriquées peuvent désormais être ajoutées à
@media,@-moz-document. (Voir Syntaxe CSS et Règles at-rules CSS).
JavaScript
Aucun changement.
SVG
- L'interface DOM
SVGSVGElementsupporte désormais la méthodegetElementById.
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,ArrayetFloat(et pas seulementStringetInteger). -
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 :
jslet 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", puisquetrans2doit s'exécuter aprèstrans1. -
Avant Firefox 11, les compteurs
autoIncrementdes 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
keyPathvide. -
Il est maintenant possible de créer un index avec plusieurs entrées (voir les paramètres de
IDBObjectStore.createIndex.) -
L'évènement
abortse propage désormais ; de plus, un gestionnaireonaborta été ajouté. -
IndexedDBpeut désormais être utilisé pour stocker des fichiers/blobs. -
IndexedDBprend désormais en charge les chemins de clé complexes, par exemple,toto.trucpour accéder à la propriététrucde la propriététoto. -
IndexedDBpeut désormais accepter un tableau commekeyPathlors de la création d'un magasin d'objets ou d'un index (bogue Firefox 694138 (angl.).)
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.
- La chaîne de caractères de l'agent utilisateur dans les en-têtes HTTP inclut désormais un identifiant qui permet au serveur de savoir si le Firefox qui y accède est un téléphone ou une tablette.
Outils de développement
- L'inspecteur de page (angl.) offre désormais une vue 3D (angl.) si votre système supporte WebGL.
- Le nouvel éditeur de styles (angl.) offre un moyen d'éditer et de composer des feuilles de style CSS en temps réel.
- La fonctionnalité Afficher la source (angl.) utilise désormais le nouveau parseur HTML5 au lieu du vieux parseur HTML.
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
mozIAsyncHistorya une nouvelle méthodemozIAsyncHistory.isURIVisited()pour vérifier si une URI a été visitée. - Une nouvelle interface
mozIVisitStatusCallbacka été ajoutée pour fournir une fonctionnalité de traitement des rappels pourmozIAsyncHistory.isURIVisited(). - L'interface
nsIMacDockSupportprend désormais en charge l'ajout de badge textuel à l'icône de l'application dans l'ancrage en utilisant le nouvel attributbadgeText. - Dans l'interface
nsINavHistoryResultObserver, vous devez à présent implémenternsINavHistoryResultObserver.containerStateChanged()au lieu des anciennes méthodescontainerOpened()etcontainerClosed().
Interfaces supprimées
Les interfaces suivantes ont été supprimées, car elles n'étaient plus indispensables :
nsICharsetResolvernsIDOMNSElement, voir bogue Firefox 707576 (angl.) ; utiliseznsIDOMElementà la place.
Changement lié au thème
- Le fichier
omni.jarse nomme désormaisomni.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-tracejita é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.