Firefox 40 note de version pour les développeurs
Pour tester les dernières fonctionnalités pour les développeur·euse·s de Firefox, installez Firefox Developer Edition (angl.) Firefox 40 est sorti le 11 août 2015. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeur·euse·s Web, mais également pour les développeur·euse·s Firefox et Gecko ainsi que pour les développeur·euse·s d'add-on.
Changements pour les développeur·euse·s Web
>Outils de développement
Points forts :
- Améliorations de la vue Animations (angl.)
- Obtenez de l'aide sur la syntaxe des propriétés CSS depuis MDN (angl.)
- Modifier les filtres dans l'inspecteur de page (angl.)
- La console Web affiche désormais les messages des workers (angl.)
- Filtrer les requêtes par URL dans le moniteur réseau (angl.)
- De nombreuses nouvelles options de menu contextuel dans le moniteur réseau (angl.)
- Afficher quand les ressources réseau sont récupérées depuis le cache du navigateur (angl.)
- Filtrer les règles dans l'inspecteur de page (angl.)
Plus de changements :
- Les « Break » dans le débogueur ; instructions dans les sources d'évaluation non nommées (angl.)
- Copier l'URL/Ouvrir dans un nouvel onglet dans le menu contextuel pour le volet de la liste des sources du débogueur (angl.)
- Support de console.dirxml dans la console Web (angl.)
- Éditeur de style : élément "Ouvrir le lien dans un nouvel onglet" ajouté à la liste des feuilles de style (angl.)
- La recherche de sélecteurs dans l'inspecteur inclut désormais les résultats de classe/id même sans préfixe CSS (angl.)
- Info-bulles dans la vue du modèle de boîte indiquant quelle règle CSS a causé la valeur (angl.)
- Changer le format de l'unité de couleur dans l'inspecteur en utilisant Shift+click (angl.)
- Implémenter l'élément de menu « Défiler dans la vue » pour l'inspecteur (angl.)
- Lier les attributs url/id/resource dans l'inspecteur (angl.)
- Info-bulle pour l'adresse IP dans le moniteur réseau (angl.)
Tous les changements : tous les bogues des outils de développement corrigés entre Firefox 39 et Firefox 40 (angl.).
CSS
- Les règles avec un préfixe (
-moz-) pourtext-decoration-color,text-decoration-lineettext-decoration-styleont été supprimées (bogue Firefox 1097922 (angl.)). - La propriété
text-alignprend désormais en charge la valeurmatch-parent(bogue Firefox 645642 (angl.)). - En mode Quirks,
empty-cellsest désormais par défaut àshow, comme en mode standard (bogue Firefox 1020400 (angl.)). - La propriété non standard
-moz-orient, utilisée pour mettre en forme les éléments<meter>et<progress>, a été adaptée pour les modes d'écriture verticale : la valeurautoa été supprimée et les valeursinlineetblockont été ajoutées,inlineétant la nouvelle valeur par défaut (bogue Firefox 1028716 (angl.)). - La propriété
font-size-adjusta été corrigée afin que0soit traité comme un multiplicateur (ce qui entraîne une hauteur de police de0, donc la cache) au lieu de la valeurnone(ce qui entraîne aucune ajustement, ou une valeur de1.0) (bogue Firefox 1144885 (angl.)). - Correction du problème où
text-overflowne fonctionnait pas en mode d'écriture verticale (bogue Firefox 1117227 (angl.)).
HTML
Pas de changement.
JavaScript
- Le code inatteignable après une instruction
return(comprenant les expressions inatteignables après les instructions return sans point-virgule) affiche désormais un avertissement dans la console (bogue Firefox 1005110 (angl.), bogue Firefox 1151931 (angl.)). Symbol.matcha été ajouté (bogue Firefox 1054755 (angl.)).- Passer un objet qui a une propriété nommée
Symbol.matchavec une valeur équivalente à vrai àString.prototype.startsWith,String.prototype.endsWithetString.prototype.containslance désormais uneTypeError(bogue Firefox 1054755 (angl.)). - La fonction
RegExpretourne le motif lui-même si elle est appelée sansnewet que l'objet motif a une propriété nomméeSymbol.matchavec une valeur équivalente à vrai, et que la propriétéconstructorde l'objet motif est égale à la fonctionRegExp. (bogue Firefox 1147817 (angl.)). - La prise en charge de la déstructuration non standard JS1.7 pour-in a été supprimée (bogue Firefox 1083498 (angl.)).
- Les expressions d'initialisation non standard dans les boucles
for...insont désormais ignorées et affichent un avertissement dans la console. (bogue Firefox 748550 (angl.) et bogue Firefox 1164741 (angl.)). - Les échappements de points de code Unicode
\u{xxxxxx}ont été ajoutés (bogue Firefox 320500 (angl.)). String.prototype.containsa été remplacé parString.prototype.includes,String.prototype.containsétant conservé comme alias (bogue Firefox 1102219 (angl.)).- Si le constructeur
DataViewest appelé comme une fonction sans l'opérateurnew, uneTypeErrorest désormais levée conformément à la spécification ES2015. - Un problème régressé dans Firefox 21, où les tableaux mandataires sans le piège
getne fonctionnaient pas correctement, a été corrigé. Si le piègegetdans unProxyn'était pas défini,Array.lengthretournait0et le piègesetn'était pas appelé. Une solution consistait à ajouter le piègegetmême s'il n'était pas nécessaire dans votre code. Ce problème est désormais corrigé (bogue Firefox 895223 (angl.)). WeakMap.prototypeetWeakSet.prototypeont été mis à jour pour être de simples objets ordinaires, conformément à la spécification ES2015 (bogue Firefox 1055473 (angl.)).
Interfaces/APIs/DOM
Nouvelles API
- L'API Push a été mise en œuvre de manière expérimentale (bogue Firefox 1038811 (angl.)). Contrôlée par la préférence
services.push.enabled, elle est désactivée par défaut.
API Web Animations
Amélioration de notre implémentation expérimentale des animations Web, principalement pour correspondre aux dernières modifications de la spécification :
AnimationPlayer.currentTimepeut désormais également être défini (bogue Firefox 1072037 (angl.)).Animatable.getAnimationPlayers(), disponible surElement, a été renommé enElement.getAnimations()(bogue Firefox 1145246 (angl.)).AnimationetAnimationEffectont été fusionnés dans le nouveauKeyframeEffectReadOnly(bogue Firefox 1153734 (angl.)).AnimationPlayera été renommé enAnimation(bogue Firefox 1154615 (angl.)).AnimationTimelineest désormais une classe abstraite, avecDocumentTimelinecomme seule implémentation (bogue Firefox 1152171 (angl.)).
CSSOM
- L'API CSS Font Loading est désormais activée par défaut dans les versions Nightly et Developer Edition (bogue Firefox 1088437 (angl.)). Elle reste désactivée par défaut dans les navigateurs Beta et Release.
- L'interface
CSSCharsetRulea été supprimée et de tels objets ne sont plus disponibles dans CSSOM (bogue Firefox 1148694 (angl.)). Cela correspond à la spécification (récemment adaptée) et au comportement de Chrome.
WebRTC
- WebRT : l'évènement
negotiationneededest désormais également envoyé pour les négociations initiales, et pas seulement pour les renégociations (bogue Firefox 1149838 (angl.)).
DOM et HTML DOM
- Lorsque le
srcsetne peut pas être analysé, la méthodeHTMLImageElement.currentSrcne retourne plusnullmais"", comme demandé par la dernière spécification (bogue Firefox 1139560 (angl.)). - Comme pour les images, Firefox limite désormais
Window.requestAnimationFrame()pour les<iframe>non visibles (bogue Firefox 1145439 (angl.)). Navigator.taintEnabledn'est plus disponible pour les Web workers (bogue Firefox 1154878 (angl.)).
API Web Audio
Nouvelles extensions à l'API Web Audio :
- Les propriétés
AudioContext.stateetAudioContext.onstatechange, ainsi que les méthodesAudioContext.suspend(),AudioContext.resume()etAudioContext.close()ont été ajoutées (bogue Firefox 1094764 (angl.)). AudioBufferSourceNodeimplémente désormais l'attributAudioBufferSourceNode.detunek-rate (bogue Firefox 1153783 (angl.)).
Web Workers
- Légère amélioration de notre API Service Worker : la méthode
update()a été déplacée deServiceWorkerGlobalScopeversServiceWorkerRegistration(bogue Firefox 1131350 (angl.)). ServiceWorkerRegistrationest désormais disponible dans les Web workers (bogue Firefox 1131327 (angl.)).DataStoreest désormais disponible dans les Web workers (bogue Firefox 916196 (angl.)).
IndexedDB
IDBTransactionsont désormais non durables par défaut (bogue Firefox 1112702 (angl.)). Cela favorise les performances par rapport à la fiabilité et correspond à ce que font les autres navigateurs. Pour plus d'informations, consultez notre définition de la durabilité.
Outils de développement
- La propriété
console.timeStamp()a été ajoutée (bogue Firefox 922221 (angl.)).
MathML
Pas de changement.
SVG
Pas de changement.
Audio/Video
Pas de changement.
Réseau
Pas de changement.
Sécurité
- L'utilisation d'un astérisque (
*) dans une CSP n'inclut plus les schémasdata:,blob:ou:filesystemlors de la correspondance des expressions source. Ces schémas doivent désormais être définis explicitement dans l'en-tête correspondant pour correspondre à la CSP (bogue Firefox 1086999 (angl.)).
Changements pour les développeur·euse·s de Mozilla et d'extensions
>XUL
- Il n'est plus possible de créer des fenêtres de niveau supérieur transparentes (bogue Firefox 1162649 (angl.)).
Modules de code JavaScript
- Dict.jsm a été supprimé (bogue Firefox 1123309 (angl.)). Utilisez
Mapà la place.
XPCOM
- L'attribut
nsIClassInfo.implementationLanguagea été supprimé, ainsi que la fonctionnsClassInfo::GetImplementationLanguage(). - Les interfaces XPCOM suivantes ont été supprimées ; vous devez utiliser les interfaces HTML standard à la place :
nsIDOMHTMLBRElementnsIDOMDivElementnsIDOMHTMLHeadingElementnsIDOMHTMLTableCaptionElementnsIDOMHTMLTableElementnsIDOMHTMLTitleElement
Autres
- L'API Places Keywords a été dépréciée et sera bientôt supprimée (bogue Firefox 1140395 (angl.)).
- Le système de test automatisé prend désormais en charge l'ignorance des fonctions de test individuelles. Voir exécution de tests conditionnels (angl.) dans les tests XPCShell.