Firefox 32 note de version pour les développeurs
Firefox 32 a été publié le 2 septembre 2014. Cet article répertorie les principaux changements utiles non seulement pour les développeur·euse·s web, mais aussi pour les développeur·euse·s Firefox et Gecko ainsi que pour les développeur·euse·s d'extensions.
Changements pour les développeur·euse·s web
>Outils de développement
Points forts :
- Éditeur Web Audio (angl.)
- Complétion de code et documentation en ligne dans le Bloc-notes
- Styles de l'agent utilisateur dans la vue des règles de l'Inspecteur (angl.)
- Le bouton de sélection d'élément a été déplacé (angl.)
- Dimensions des nœuds ajoutées à la barre d'informations de l'Inspecteur (angl.)
- Bouton de capture d'écran de la page complète ajouté (angl.)
- Images HiDPI ajoutées aux outils
- Les nœuds ayant
display:nonesont affichés différemment dans l'Inspecteur
Tous les bogues des outils de développement corrigés entre Firefox 31 et Firefox 32 (angl.).
CSS
mix-blend-modeest activé par défaut (bogue Firefox 952643 (angl.)).position:stickyest activé par défaut dans les versions stables (activé uniquement sur Nightly et Aurora auparavant) (bogue Firefox 916315 (angl.)).- Implémentation de
box-decoration-breaket suppression de la propriété non standard-moz-background-inline-policy(bogue Firefox 613659 (angl.)). - Autorisation de la transition de
flex-growetflex-shrinkentre des valeurs nulles et non nulles, commeflex-grow: 0.6(bogue Firefox 996945 (angl.)).
HTML
- Expérimentalement implémenté, derrière une préférence, la propriété
<img>srcset. Pour l'activer, définissezdom.image.srcset.enablesurtrue(bogue Firefox 870021 (angl.)). - id et class sont désormais de vrais attributs universels et s'appliquent également aux éléments XML, qu'ils soient dans un espace de noms ou non (bogue Firefox 741295 (angl.)).
JavaScript
- Les nouvelles méthodes intégrées d'ECMAScript 2015 suivantes ont été implémentées :
Interfaces/APIs/DOM
- La propriété
Navigator.languageset l'évènementlanguagechangeont été ajoutés (bogue Firefox 889335 (angl.)). - Le comportement de la méthode
Navigator.vibrate()a été adapté à la dernière spécification : les vibrations trop longues sont désormais tronquées (bogue Firefox 1014581 (angl.)). - Les méthodes
KeyboardEvent.getModifierState()etMouseEvent.getModifierState()ont été étendues pour prendre en charge le modificateur virtuelAccel(bogue Firefox 1009388 (angl.)). - La propriété
KeyboardEvent.codea été implémentée expérimentalement : elle est désactivée dans la version de production (bogue Firefox 865649 (angl.)). - Les sélecteurs avec une portée pour
Document.querySelector()etDocument.querySelectorAll(), par exemplequerySelector(":scope > li"), ont été ajoutés (bogue Firefox 528456 (angl.)). - L'implémentation expérimentale de l'interface
Document.timeline, liée à l'API Web Animations, a été ajoutée (bogue Firefox 998246 (angl.)). Elle est contrôlée par la préférencelayout.web-animations.api.enabled, activée uniquement sur Nightly et Aurora pour le moment. - L'API Data Store (angl.) a été rendue disponible pour les Web Workers (bogue Firefox 949325 (angl.)). Elle n'est toujours activée que pour les applications certifiées.
- L'API ServiceWorker
InstallPhaseEventet les interfacesInstallEventont été implémentées (bogue Firefox 967264 (angl.)). - L'API de vérification MSISDN, uniquement activée pour les applications privilégiées, a été ajoutée (bogue Firefox 988469 (angl.)).
- L'API Gamepad est désormais prise en charge sur Firefox pour Android (bogue Firefox 852935 (angl.)).
- Pour correspondre à la spécification et à l'évolution de la syntaxe CSS, des modifications mineures ont été apportées à
CSS.escape(). L'identifiant peut désormais commencer par'--'et le deuxième tiret ne doit pas être échappé. De plus, les identifiants de fournisseur ne sont plus échappés. (bogue Firefox 1008719 (angl.)) - Pour compléter notre implémentation des Hit Regions,
MouseEvent.regiona été implémenté (bogue Firefox 979692 (angl.)). - La méthode
CanvasRenderingContext2D.drawFocusIfNeeded()est désormais activée par défaut (bogue Firefox 1004579 (angl.)). - Les propriétés
Navigator.doNotTrackretournent désormais'1'ou'0', reflétant la valeur HTTP, au lieu de'yes'ou'no'(bogue Firefox 887703 (angl.)). - XMLHttpRequest.responseURL a été implémenté (bogue Firefox 998076 (angl.)).
MathML
- Ajout de la prise en charge de la notation
phasoranglepour l'élément<menclose>.
SVG
Pas de changement.
WebRTC
-
De nouvelles contraintes pour WebRTC et
getUserMedia(),width,heightetframerate, ont été ajoutées pour limiter les dimensions du flux et le taux d'images (bogue Firefox 907352 (angl.)) :jsconst constraints = { mandatory: { width: { min: 640 }, height: { min: 480 }, }, optional: [ { width: 650 }, { width: { min: 650 } }, { frameRate: 60 }, { width: { max: 800 } }, ], }; -
Les méthodes WebRTC qui utilisaient auparavant des fonctions de rappel comme paramètres d'entrée sont désormais également disponibles en utilisant des promesses JavaScript.
Audio/Video
Pas de changement.
Sécurité
Changements pour les développeur·euse·s de Mozilla et d'extensions
La vision Xray est désormais appliquée aux objets JavaScript qui ne sont pas eux-mêmes des objets DOM : Xrays pour les objets JavaScript (angl.).
Une méthode getDataDirectory() a été ajoutée aux instances Addon. Cette méthode retourne l'emplacement préféré, dans le profil actuel, pour que les extensions y stockent des données.
SDK d'extension
Points forts
- Ajout de l'option
exclude(angl.) àPageMod. - Ajout de l'option
anonymous(angl.) àRequest. - Débogueur d'extensions (angl.) inclut désormais une console et un bloc-notes.
Détails
Les instantanés GitHub faits entre Firefox 31 et Firefox 32 (angl.). Cela n'inclut pas les mises à jour effectuées après l'entrée de cette version dans Aurora.
Bogues corrigés entre Firefox 31 et Firefox 32 (angl.). Cela n'inclut pas les mises à jour effectuées après l'entrée de cette version dans Aurora.
XPCOM
- L'interface
nsIUDPSocketfournit désormais la prise en charge du multicast grâce à l'ajout des nouveaux attributsnsIUDPSocket.multicastLoopback,nsIUDPSocket.multicastInterfaceetnsIUDPSocket.multicastInterfaceAddr, ainsi que des méthodesnsIUDPSocket.joinMulticast()etnsIUDPSocket.leaveMulticast().