Firefox 19 note de version pour les développeurs
Firefox 19 est sorti le 19 février 2013. Cet article répertorie les principaux changements utiles non seulement aux développeur·euse·s Web, mais aussi aux développeur·euse·s Firefox et Gecko ainsi qu'aux développeur·euse·s d'extensions.
Changements pour les développeur·euse·s web
>JavaScript
- La méthode
size()des objetsMapetSetdevient la propriétésize(bogue Firefox 807001 (angl.)) - Les objets
MapetSetont maintenant une méthodeclear(). (bogue Firefox 805003 (angl.))
CSS
- Prise ne charge des unités relatives à la zone d'affichage (viewport en anglais)
<length>,vh,vw,vminetvmax. (bogue Firefox 503720 (angl.)) - Les boîtes flexibles sont maintenant non-préfixées, mais restent désactivées par défaut (bogue Firefox 801098 (angl.)).
- La valeur
-moz-initialn'est plus préfixée (bogue Firefox 806068 (angl.)).-moz-initialest conservée pendant quelques temps en tant qu'alias, cependant les auteur·ice·s sont fortement encouragés à utiliserinitial. - La propriété
text-transformsupporte dorénavant le mot-cléfull-widthqui permet une intégration plus discrète des caractères latins dans les textes utilisant des caractères idéographiques à largeur fixe tel que le chinois ou le japonais (bogue Firefox 774560 (angl.)). - La propriété
page-break-insidea été implémentée (bogue Firefox 685012 (angl.)). - La fonction
calc()peut maintenant être utilisée avec<color-stop>(sur<gradient>). - La règle
@pageest maintenant prise en charge (bogue Firefox 115199 (angl.)). Notez que les pseudo-classes:first,:right, et:leftne le sont pas encore. - La pseudo-classe
:-moz-placeholderest remplacée par le pseudo-élément::-moz-placeholder(bogue Firefox 737786 (angl.)). - Les déclarations accompagnées de!importantapparaissant dans@keyframessont maintenant ignorées, conformément à la spécification (bogue Firefox 784466).
DOM / API Web
- Les méthodes
Element.getElementsByTagName(),Element.getElementsByTagNameNS()etElement.getElementsByClassName()retournent maintenant une collection (HTMLCollection) dynamique (bogue Firefox 799464 (angl.)). - La propriété
mozLastModifiedDatedeFilea été implémentée. (bogue Firefox 793955 (angl.)) - La propriété
lastModifiedDatedeFileretourne la date actuelle, si la date de la dernière modification est inconnue (bogue Firefox 793459 (angl.)). - La méthode
isPointInStrokedeCanvasRenderingContext2Da été implémentée (bogue Firefox 803124 (angl.)). - La méthode
toBlobdeHTMLCanvasElementa été implémentée (bogue Firefox 648610 (angl.)). - Les méthodes
Node.isSupportedetDocument.implementation.hasFeature()ont été modifiées pour qu'elles retournent toujourstrue(bogue Firefox 801425 (angl.)). - Lors de l'appel de
document.createElement(null),nullest désormais « rendue en chaîne de caractères » et fonctionne commedocument.createElement("null").
XForms
Le support des XForms a été retiré (angl.) dans Firefox 19.
Changements pour les développeur·euse·s Mozilla et de modules complémentaires
Note :
Un changement clé dans Firefox 19 est que nsresult est maintenant fortement typé. Ça permet de détecter plus facilement les bogues dus à une mauvaise gestion des valeurs de retour, mais risque de rendre le code existant inopérant s'il repose sur des hypothèses erronées à cet égard.
getBrowserSelection()retourne dorénavant le texte sélectionné dans un input de typetext. Ainsi,gContextMenu.isTextSelectedvauttruequand l'utilisateur·ice sélectionne du texte depuis un champ texte qui n'est pas de typepassword. (bogue Firefox 565717 (angl.))- Dict.jsm :
Dict()accepte maintenant les chaînes de caractères JSON.Dict.toJSON()a été ajouté et retourne une chaîne de caractères JSON. (bogue Firefox 727967 (angl.))
Changements dans les interfaces
nsIImgLoadingContent-
Le paramètre (aObserver) de la méthode
addObserver()change deimgIDecoderObserverpourimgINotificationObserver. La méthodenotify()deimgINotificationObservern'est pas scriptable, vous devez donc utilisercreateScriptedObserver()à partir deimgITools. nsIChannel-
La propriété
contentLengtha changée delongàint64_t