Firefox 12 note de version pour les développeurs
Firefox 12 a été publié le 24 avril 2012. Cette page résume les changements dans Firefox 12 qui affectent les développeur·euse·s. 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 les développeur·euse·s de modules complémentaires.
Changements pour les développeur·euse·s Web
>HTML
- L'attribut
titlesupporte désormais les caractères de saut de ligne pour permettre de multiples lignes dans les info-bulles. - Si JavaScript est désactivé, l'élément
<canvas>était rendu au lieu d'afficher le contenu de secours selon la spécification (angl.). Désormais, c'est le contenu de secours qui est rendu. - L'attribut
crossoriginest à présent supporté par<video>.
CSS
- Le support de la propriété
text-align-lasta été ajouté (préfixée).
JavaScript
- Le support des variables sharp (extension non-standard de Netscape) a été abandonné.
ArrayBuffer.prototype.slice()a été implémenté.
DOM
DOMParsersupporte désormais l'analyse de fragments de documents HTML.XMLHttpRequestsupporte désormais des délais d'attente en utilisant la propriététimeoutet l'évènement « de délais dépassé », ainsi que le gestionnaire d'évènementsontimeoutde l'interfaceXMLHttpRequestEventTarget.XMLHttpRequestpeut désormais se charger à partir des URIsdata:.- Lors du téléchargement de grandes quantités de données, les gestionnaires d'évènements
XMLHttpRequestde progression sont désormais appelés régulièrement avec l'ensembleresponseTypevers "moz-blob" et la réponse étant unBlobcontenant toutes les données reçues jusqu'ici. Cela permet aux gestionnaires de progression de commencer le traitement des données sans avoir à tout attendre. - Gecko supporte désormais l'appui multiple (au lieu d'une touche à la fois) sur Android.
- Lorsque vous éditez du texte à l'aide d'un IME, l'évènement
inputest à présent envoyé chaque fois que le contenu de l'élément en cours d'édition a été changé, ce qui se passe après l'évènementcompositionupdateest envoyé pour indiquer que le texte de l'IME a été modifié. Vous pouvez donc utiliser le gestionnaire d'évènementsinput, pour suivre l'évolution du contenu réel de l'élément. DOMErrora été implémenté selon la spécification DOM 4.- La méthode
Document.createNodeIterator()a été mise à jour suivant la spécification DOM4. Cela rend les paramètreswhatToShowetfilterfacultatifs et supprime le quatrième paramètre non-standard,entityReferenceExpansion. - La méthode
slice()de l'interfaceBloba été touché par un bogue qui l'empêchait d'accepter correctement le début et la fin des valeurs hors de la portée d'un entier de 64 bits signé, cela a été corrigé. - La méthode
Element.getBoundingClientRect()considère désormais l'effet des transformations CSS lors du calcul des délimitations du rectangle de l'élément. - La propriété
crossOriginest à présent supportée parHTMLMediaElement.
Nouvelles API Web
- L'API Information Réseau : Ajout de la prise en charge expérimentale de
window.navigator.connection(préfixé). - L'API WebTelephony :
window.navigator.mozTelephonya été implémenté et fournit un support pour composer, répondre, et gérer les appels téléphoniques sur un appareil. - L'API WebSMS :
window.navigator.mozSmsest à présent disponible pour les appareils mobiles pour envoyer des SMS. - L'API Screen brightness :
window.screen.mozEnabledetwindow.screen.mozBrightnessont été ajoutés pour contrôler l'écran de l'appareil.
SVG
- Firefox implémente désormais l'API DOM
SVGTests, voir bogue Firefox 607854 (angl.) - L'interface DOM
SVGStringListsupporte la propriété non standardlength, voir bogue Firefox 711958 (angl.)
MathML
- Pour contrôler la direction des formules de MathML, l'attribut
direst désormais supporté par les éléments<math>,<mrow>et<mstyle>ainsi que par les éléments MathML Token. C'est particulièrement important pour certaines notations mathématiques Arabes (angl.). - L'attribut d'alignement
aligndéfinit dans MathML3 a été implémenté pour<munder>,<mover>et<munderover>.
Réseau
- Auparavant, Gecko rapportait le code de fermeture
CLOSE_NORMALquand un canal WebSocket était fermé en raison d'une erreur inattendue ou d'une condition d'erreur que la spécification ne couvre pas. Désormais,CLOSE_GOING_AWAYest rapporté à la place.
Outils de développement
- La console Web (angl.) met à présent en cache les message d'erreurs et les entrées du journal ajoutés grâce à
console.log()si la console n'est pas ouverte actuellement, et les affichent lorsque qu'elle s'ouvre. - Vous pouvez désormais réinitialiser le niveau de zoom, panoramique et de rotation dans la vue 3D (angl.) en appuyant sur la touche "r".
- Vous pouvez désormais masquer les nœuds dans la vue 3D (angl.) en appuyant sur la touche "x" après les avoir sélectionnés.
- L'éditeur de source (angl.) a plusieurs nouvelles fonctionnalités d'édition et de raccourcis clavier, voir Utilisation de l'éditeur de source (angl.) pour plus de détails
Mozilla travaille sur l'intégration des ses propres outils de développement Web qui complètent l'add-on populaire Firebug (angl.). Vous pouvez obtenir plus d'informations sur ces outils et également voir une liste de ressources externes à Firefox qui vous aident dans le développement Web. La liste se trouve dans les outils de développement Web (angl.).
Changements divers
- Le jeu de caractères GEOSTD8, qui n'a jamais été entièrement supporté, n'est plus du tout pris en charge.
Changements pour les développeur·euse·s de Mozilla et de modules complémentaires
>Modules de code JavaScript
source-editor.jsm
- La méthode
resetUndo()a été ajoutée, elle vous permet d'effacer la pile d'annulation. - L'éditeur de source offre à présent des méthodes pour apporter des capacités de recherche :
find(),findNext()etfindPrevious().
XUL
- La définition des valeurs pour l'attribut
chromemargina été légèrement modifié, pour que ce soit plus facile de faire du code XUL multi-plateforme qui rend bien sur les plateformes avec des largeurs par défaut des bordures de fenêtres différentes.
XPCOM
- Les mandataires
nsISupportsne sont plus pris en charge. A la place, vous devez utiliser des exécutables. - Firefox 11 a changé le comportement de
Components.utils.getWeakReference()pour générer une exception lorsque la référence de l'objet est nulle, l'ancien comportement qui était silencieux a été rétabli.
XPConnect
- Le type de données
PRUint64été mal utilisé puisqu'il est sensiblement identique àPRint64lorsqu'il est utilisé avec XPConnect. Cela a été corrigé.
Changements dans les interfaces
- L'interface
nsIScreen_MOZILLA_2_0_BRANCHa été intégré dansnsIScreen. Les API définies dans cette interface (pour contrôler la luminosité de l'écran) n'avaient pas encore été documentées, mais désormais elles le sont. - L'interface
nsIScriptError2a été intégré dansnsIScriptError. nsIDownloadManager.addDownload()est à présent géré de manière asynchrone plutôt que de façon synchrone.- La méthode
imgIContainerObserver.frameChanged()reçoit désormais le premier paramètre d'un objetimgIRequestqui identifie la demande correspondante. - La méthode
nsIDOMWindowUtils.sendTouchEvent()a été ajoutée pour permettre de synthétiser les évènements tactiles. - Vous pouvez désormais faire défiler le contenu défini verticalement au centre de la vue en définissant
SCROLL_CENTER_VERTICALLYlors de l'appel de la constante de défilementnsISelectionController.scrollSelectionIntoView(). - Le nouvel attribut
nsIMemoryMultiReporter.explicitNonHeapa été ajouté ; C'est un moyen plus efficace d'obtenir la somme de toutes les mesures du multi-rapporteur qui mesure ceux qui ont un chemin commençant par"explicit"et qui sont de typeKIND_NONHEAP. - L'attribut
nsIDOMWindowUtils.paintingSuppresseda été ajouté ; cette valeur booléenne indique si oui ou non la toile est en train d'être supprimée de la fenêtre. C'est utilisé sur mobile pour éviter le rendu sautillant qui se produit lorsque les tentatives pour dessiner la page commencent avant que le contenu disponible soit insuffisant pour le faire. - Les interfaces
nsIDocCharsetetnsIDocumentCharsetInfoont été intégrées dansnsIDocShell. Dans le cadre de ce travail, le vieil attributforcedDetectora été enlevé, il n'a jamais rien fait.
SpiderMonkey
JSThreada été supprimé.JSThreadDataa été intégré dansJSRuntime.
Compilation
- Lors de la compilation sous Windows, vous devez avoir le SDK de Windows 7 installé.
Autres changements
- Le composant d'édition (appelé Midas) n'accepte désormais que les évènements provenant du code privilégié.