Firefox 15 note de version pour les développeurs
Firefox 15 est sorti le 28 août 2012. Cet article répertorie les principaux changements qui sont 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
>HTML
- L'attribut
sizede l'élément<font>est à présent géré selon la spécification HTML5. Cela signifie que toutes les valeurs entières supérieures à 10 ou inférieure à -10 sont désormais considérées, respectivement, comme équivalentes à 10 et -10. - La prise en charge des attributs
font-weightetpoint-sizede l'élément<font>a été supprimée ; ils n'étaient pas standards et Gecko était le seul moteur à les prendre en charge. - Le codec Opus (angl.) est à présent pris en charge pour l'audio dans les conteneurs Ogg pour les éléments HTML
<audio>et<video>. - L'élément
<source>supporte désormais l'attributmedia. - Les éléments
<audio>et<video>prend désormais en charge l'attributplayed, qui fournit l'objetTimeRangeslistant les plages de temps des médias qui ont été lus jusqu'à présent.
CSS
- La propriété
font-feature-settingsa été mise à jour selon la dernière syntaxe :font-feature-settings: "lnum" 1;. - La propriété CSS
text-transforma été étendue pour gérer correctement les ligatures Unicode (commefi). - La propriété CSS
word-breaka été implémentée. - La propriété
border-imagea été mise à jour selon la dernière spécification et n'a plus de préfixe. (bogue Firefox 713643 (angl.)) - La fonction
skew()detransformretirée dans Firefox 14, a été restaurée pour la compatibilité avec les sites existants. Toutefois, les auteur·ice·s sont invités à utiliser à la place les fonctionsskewX()etskewY().
DOM
- Les méthodes
KeyboardEvent.getModifierState()etMouseEvent.getModifierState()de DOM Events Level 3, qui vous permettent de demander l'état des touches de modification, commeCtrlouShift, ont été implémentées (bogue Firefox 630811 (angl.) et bogue Firefox 731878 (angl.)). Mais le comportement est conforme au dernier brouillon de D3E. Donc, certains noms de touches de modification diffèrent de IE (bogue Firefox 769190 (angl.)). - Sur les évènements de la souris, l'attribut
MouseEvent.buttonspour interroger l'état des boutons de la souris, a été implémenté. - Sur les évènements du clavier, l'attribut
KeyboardEvent.locationpour interroger l'emplacement de la clé (standard, à gauche ou à droite de la touche de modification, dans le pavé numérique), a été implémenté (bogue Firefox 166240 (angl.)). - Le résultat de
KeyboardEvent.keyCodea été calculé à partir de meilleures règles qui étaient presque identiques sous Windows/Linux/Mac. Et désormais elles sont disponibles sur certaines configurations de clavier qui n'ont pas la disposition ASCII sur Linux et Mac, comme l'arabe, le cyrillique, thaï et ainsi de suite. Voir le document des codes pour les touches virtuelles. - La méthode
Range.detach()a été transformée en no-op et sera probablement supprimée dans le futur. - La méthode
HTMLVideoElement.mozHasAudio()a été implémentée. Elle indique si une piste audio est associée à un élément vidéo. (bogue Firefox 480376 (angl.)) - L'API
Performancea une nouvelle méthode,now(), supportant les horloges haute résolution du type deDOMHighResTimeStamp. (bogue Firefox 539095 (angl.)). - L'API WebSMS (angl.) a été mise à jour et supporte à présent l'attribut
readindiquant si un SMS est lu ou non. - L'API FileHandle a été implémentée.
- Le constructeur
Blobprend désormaisArrayBufferViewcomme un membre du paramètreblobPartsen plus deArrayBuffer. (bogue Firefox 752402 (angl.)) DeviceLightEventdéfini dans Ambient Light Events (angl.) a été implémenté.DeviceProximityEventetUserProximityEventde Proximity Events (angl.) ont été implémentés.- La propriété
lastModifiedDatedeFilea été implémentée. (bogue Firefox 673586 (angl.))
JavaScript
- La prise en charge de l'interface
DataViewa été ajoutée à partir de la spécification des tableaux typés. Cela fournit un accès de bas niveau aux données contenues dans unArrayBuffer. - La prise en charge de
Number.isNaN()d'ECMAScript Harmony a été ajoutée. (bogue Firefox 749818 (angl.), bogue Firefox 761495 (angl.), bogue Firefox 761480 (angl.)) - La prise en charge du paramètre default d'ECMAScript Harmony a été ajoutée. (bogue Firefox 757676 (angl.))
- La prise en charge du paramètre rest d'ECMAScript Harmony a été ajoutée. (bogue Firefox 574132 (angl.))
WebGL
- Le support de l'extension
WEBGL_compressed_texture_s3tca été ajouté. Les textures compressées réduisent la quantité de mémoire nécessaire pour stocker une texture sur le GPU, ce qui permet d'utiliser des textures en plus hautes résolutions ou plus de textures de même résolution.
MathML
- Les opérateurs mathématiques peuvent désormais utiliser les polices téléchargeables définies avec
@font-face. Cela permet à l'extension MathML-fonts (angl.) de travailler également avec les opérateurs extensibles. - L'attribut
selectionde<maction>est désormais uniquement pris en compte avec l'actiontypetoggle. - L'obsolète et contraignant namedspace (angl.) a été supprimé (bogue Firefox 673759 (angl.)).
- La prise en charge de la syntaxe des valeurs de Length et
<mpadded>a été améliorée selon la spécification MathML3. - Les nouveaux opérateurs MathML pour les maths arabes ont été ajoutés au dictionnaire opérateur (bogue Firefox 757125 (angl.)).
SVG
- Prise en charge de l'élément
<view>(bogue Firefox 512525 (angl.)).
Réseau
- Prise en charge du protocole SPDY v3 a été lancée. Il est désactivé par défaut et peut être activé en définissant la préférence
network.http.spdy.enabled.v3surtrue. (bogue Firefox 737470 (angl.))
Changements pour les développeur·euse·s de Mozilla et de modules complémentaires
>Changements dans les interfaces
nsIDOMWindowUtils-
aModifiersdesendMouseEvent(),sendTouchEvent(),sendMouseEventToWindow(),sendMouseScrollEvent()etsendKeyEvent()supporte toutes les touches de modification qui sont supportées parKeyboardEvent.getModifierState(). Utiliser les valeursMODIFIER_*. Et désormais le 5ème paramètre desendKeyEvent()est changé d'unbooleanvers ununsigned long. Pour la compatibilité ascendante, si l'appelant passetrueoufalse, le comportement n'est pas changé. Ce changement permet aux appelants d'indiquer l'emplacement de la touche. nsIBrowserHistory-
La méthode
hidePage()n'a jamais été implémentée, et a été entièrement supprimée dans cette version. La méthodeaddPageWithDetails()a également été supprimée dans le cadre des travaux pour faire une « API Places » asynchrone ; à la place, utilisez plutôtmozIAsyncHistory.updatePlaces(). De plus, l'attributcounta été retiré, il ne renvoyé pas un comptage réel à certain moment (à la place, il indiqué simplement si les entrées existées). Vous pouvez utiliser à la placensINavHistoryService.hasHistoryEntries. inIDOMUtils-
La méthode
parseStyleSheet()permet d'ajouter et d'analyser des feuilles de style. nsIINIParserWriter-
La méthode
nsIINIParserWriter.writeFile()accepte désormais une propriétéflags. Cela offre actuellement une seule option : vous pouvez maintenant lui indiquer d'écrire le fichier au format UTF-16 au lieu de UTF-8, pour une meilleure compatibilité avec Windows et certains installateurs.
Nouvelles interfaces
nsISpeculativeConnect-
Fournit un moyen de suggérer la couche réseau que vous allez être susceptibles de demander l'ouverture d'une connexion à un URI donné dans un futur proche. Cela permet à la couche réseau d'entamer le processus, qui a parfois une forte latence, d'ouvrir une nouvelle connexion réseau à l'avance.
Interfaces supprimées
Les interfaces suivantes ont été supprimées :
nsIGlobalHistory