Firefox 38 note de version pour les développeurs
Firefox 38 a été publié le 12 mai 2015. 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 :
- Contourner les nœuds audio dans l'éditeur Web Audio (angl.)
- Commande « copy » dans la console Web (angl.)
- Mettre en évidence et filtrer les XmlHttpRequests dans la console Web (angl.)
- Voir les variables optimisées dans le débogueur (angl.)
- Voir les avertissements de sécurité dans le moniteur réseau (angl.)
- Voir les tailles transférées dans le moniteur réseau (angl.)
- Lire/mettre en pause toutes les animations de la page (angl.)
Tous les bogues des outils de développement corrigés entre Firefox 37 et Firefox 38 (angl.).
CSS
-
La prise en charge pour
ruby-positionetruby-aligna été ajoutée et est disponible par défaut (bogue Firefox 1055676 (angl.), bogue Firefox 1123917 (angl.) et bogue Firefox 1039006 (angl.)). -
La pseudo-classe
:unresolveda été implémentée pour les éléments personnalisés (bogue Firefox 1111633 (angl.)). -
Le style prédéfini
ethiopic-numericutilise désormais un espace, au lieu d'un point, comme suffixe pour correspondre à un changement récent de la spécification (bogue Firefox 1120721 (angl.)). -
Les transitions CSS sur le contenu généré (avec
::beforeet::after) sur à la fois un élément en ligne et le bloc qui les sépare commencent désormais comme prévu par la spécification (bogue Firefox 1110277 (angl.)). -
La mise en œuvre des propriétés logiques CSS a fait de grands progrès. Les propriétés suivantes sont disponibles derrière le drapeau
layout.css.vertical-text.enabled(falsepar défaut):- Équivalents indépendants de la direction de
widthetheight:block-sizeetinline-size(bogue Firefox 1117983 (angl.)). - Équivalents indépendants de la direction de
min-widthetmin-height:min-block-sizeetmin-inline-size(bogue Firefox 1117983 (angl.)). - Équivalents indépendants de la direction de
max-widthetmax-height:max-block-sizeetmax-block-size(bogue Firefox 1117983 (angl.)). - Équivalents indépendants de la direction de
margin-top,margin-right,margin-bottometmargin-left:margin-block-start,margin-block-end,margin-inline-startetmargin-inline-end(bogue Firefox 649142 (angl.)). - Équivalents indépendants de la direction de
padding-top,padding-right,padding-bottometpadding-left:padding-block-start,padding-block-end,padding-inline-startetpadding-inline-end(bogue Firefox 649142 (angl.)). - Équivalents indépendants de la direction de
border-top,border-right,border-bottometborder-leftet leur versions longues pour la largeur, le style et la couleur :border-block-start,border-block-start-width,border-block-start-style,border-block-start-color,border-block-end,border-block-end-width,border-block-end-style,border-block-end-color,border-inline-start,border-inline-start-width,border-inline-start-style,border-inline-start-color,border-inline-end,border-inline-end-width,border-inline-end-styleetborder-inline-end-color(bogue Firefox 649142 (angl.)). - Équivalents indépendants de la direction de
top,right,bottometleft:inset-block-start,offset-block-end,offset-inline-startetoffset-inline-end(bogue Firefox 1120283 (angl.)).
- Équivalents indépendants de la direction de
-
La façon dont les transitions CSS commencent a été modifiée pour correspondre à un changement récent des spécifications, visant à avoir un comportement interopérable entre les navigateurs (bogue Firefox 960465 (angl.)).
HTML
- L'élément
<label>ne déclenche plus d'évènements vers l'élément cible de l'étiquette si du contenu interactif est trouvé entre l'élément cible de l'évènement et l'étiquette (bogue Firefox 229925 (angl.)). - L'élément
<picture>a été activé par défaut (bogue Firefox 1017875 (angl.)). - Le
<meta name="referrer">est pris en charge pour les navigations depuis le menu contextuel ou avec un clic du milieu (bogue Firefox 1113431 (angl.)).
JavaScript
-
Generator.prototype.return()est ajouté (bogue Firefox 1115868 (angl.)). -
Setteravec un paramètre rest est désormais uneSyntaxError(bogue Firefox 1089632 (angl.)). -
La propriété
namedes fonctions est désormais configurable (bogue Firefox 1084019 (angl.)). -
Plusieurs méthodes
Arrayont également été ajoutées pour les tableaux typés :- Les méthodes
of()etfrom()(bogue Firefox 896608 (angl.)). - La méthode
forEach()(bogue Firefox 1107645 (angl.)). - Les méthodes
filter()etmap()(bogue Firefox 1121936 (angl.)). - La méthode
slice()(bogue Firefox 1121935 (angl.)).
- Les méthodes
-
Le nom de paramètre dupliqué n'est plus autorisé lorsqu'un paramètre rest est présent (bogue Firefox 1096376 (angl.)).
-
Le nom de paramètre dupliqué n'est plus autorisé dans les fonctions fléchées (bogue Firefox 1096377 (angl.)).
-
Le nom de paramètre dupliqué n'est plus autorisé dans les définitions de méthodes concises (bogue Firefox 1096378 (angl.)).
-
Un avertissement est affiché lorsque le constructeur
Map/Set/WeakMapest appelé sansnew(bogue Firefox 1108930 (angl.)). -
Les méthodes
get,hasetdeletedes objetsWeakMapne lèvent plus d'exception lorsque le paramètrekeyn'est pas un objet (bogue Firefox 1127827 (angl.)). -
Le second paramètre optionnel et non standard
fallbackpourWeakMap.prototype.get()a été supprimé (bogue Firefox 1127827 (angl.)). -
Lors de la définition d'une méthode génératrice,
setetgetne sont plus des noms invalides (bogue Firefox 1073809 (angl.)). -
RegExp.prototype.sourceretourne désormais « (?:) » au lieu d'une chaîne de caractères vide pour les expressions régulières vides (bogue Firefox 1130798 (angl.)). -
RegExp.prototype.sourceetRegExp.prototype.toString()échappent désormais correctement les motifs d'expressions régulières (par exemple, les terminaisons de ligne, « \n ») (bogue Firefox 1130860 (angl.)). -
Les propriétés
global,ignoreCase,multilineetstickysont désormais des propriétés d'accès prototype plutôt que des propriétés de données propres aux instances deRegExp(bogue Firefox 1120169 (angl.)). -
La propriété
RegExp.prototype.sourceest désormais une propriété d'accès prototype plutôt qu'une propriété de données propre aux instances deRegExp(bogue Firefox 1120169 (angl.)). Disponible uniquement dans la version non finale, en raison du bogue Firefox 1150297. -
Function.prototype.toString()lève désormais une exception pour les objetsProxy(bogue Firefox 1100936 (angl.)).
Interfaces/APIs/DOM
- La méthode de l'API Fetch
fetch()a été ajoutée (bogue Firefox 1039846 (angl.)). - L'API
BroadcastChannela été implémentée et est disponible dans les Web Workers (bogue Firefox 966439 (angl.) et bogue Firefox 1121420 (angl.)). - L'API Console est désormais disponible dans les Web Workers.
CanvasRenderingContext2D.clearHitRegions()a été implémentée (bogue Firefox 1119527 (angl.)).- Les constantes de
KeyboardEvent.location,DOM_KEY_LOCATION_MOBILEetDOM_KEY_LOCATION_JOYSTICK, ont été supprimées, car elles ont été retirées de la spécification DOM Level 3 (bogue Firefox 936313 (angl.)). KeyboardEvent.codeest désormais disponible ; auparavant, elle n'était disponible que dans les versions préliminaires. (bogue Firefox 1126673 (angl.))KeyboardEvent.codeprend désormais en charge les touches spéciales des claviers Sun sous Linux, Android et Firefox OS. (bogue Firefox 1020139 (angl.))- Le constructeur
TextEncoder()a été modifié pour correspondre à la spécification : lorsqu'un paramètre invalide est passé, uneDOMExceptionRangeErrorest désormais levée, plutôt qu'uneTypeErrorerronée (bogue Firefox 1125766 (angl.)). - L'API User Timing, ajoutant
Performance.mark(),Performance.clearMarks(),Performance.measure()etPerformance.clearMeasures(), a été implémentée (bogue Firefox 782751 (angl.)). - La version préfixée de
Window.indexedDB,mozIndexedDB, a été supprimée (bogue Firefox 975699 (angl.)). - L'évènement
DOMContentLoadedn'est plus annulable (bogue Firefox 1134559 (angl.)). - Vous pouvez désormais utiliser les WebSockets dans les Workers (bogue Firefox 504553 (angl.)).
- Les propriétés
XMLHttpRequest.responseTypeetXMLHttpRequest.withCredentialspeuvent désormais être définies avant d'appelerXMLHttpRequest.open()(bogue Firefox 707484 (angl.)).
MathML
Pas de changement.
SVG
Pas de changement.
Audio/Vidéo
Pas de changement.
Réseau
Pas de changement.
Sécurité
- Dans Firefox, l'attribut
autocomplete=falseest désormais ignoré lorsqu'il s'agit d'un formulaire de connexion (bogue Firefox 1025703 (angl.)). Cela vise à encourager l'utilisation de mots de passe plus sécurisés en permettant aux outils de gestion de mots de passe de fonctionner de manière plus fiable. - RC4 est désormais désactivé lors de l'utilisation de TLS, sauf pour quelques sites Web spécifiquement autorisés. Cette liste blanche est une mesure provisoire jusqu'à ce que ces sites soient corrigés (bogue Firefox 1124039 (angl.)). Ce repli est contrôlé par la préférence
security.tls.unrestricted_rc4_fallback,truepar défaut pour le moment (bogue Firefox 1138882 (angl.)). - Les sites Web nécessitant un retour à une version non sécurisée de TLS pour fonctionner sont désormais dans une liste blanche codée en dur qui diminue avec le temps (bogue Firefox 1114816 (angl.)). La liste blanche peut être désactivée en définissant
security.tls.insecure_fallback_hosts.use_static_listsurfalse.
Changements pour les développeur·euse·s de Mozilla et d'extensions
>SDK d'extension
Points forts
sdk/context-menu@2a été ajouté (bogue Firefox 1070952 (angl.)).sdk/addon/bootstrapa été ajouté (bogue Firefox 1075541 (angl.)).sdk/windows/loadera été supprimé (bogue Firefox 970135 (angl.)).- Correction de la détection de la langue par défaut sur Linux (bogue Firefox 1114712 (angl.)).
toolkit/loaderdispose désormais d'une vérification de compatibilité des modules sur option, activée pour toutes les extensions jpm (bogue Firefox 1037235 (angl.)).
Mises à jour d'Electrolysis (E10s)
sdk/page-workermises à jour e10s (bogue Firefox 1116004 (angl.)).sdk/content/workermises à jour e10s (bogue Firefox 1116544 (angl.)).sdk/tabsmises à jour e10s (bogue Firefox 1033838 (angl.)).
Détails
XUL
Pas de changement.
Modules de code JavaScript
Downloads.jsm
- Les objets
DownloadTarget(angl.) disposent désormais des propriétésexistsetsize, permettant de déterminer l'existence et la taille du fichier cible du téléchargement sur le disque, ainsi qu'une nouvelle méthoderefresh(), qui demande la mise à jour de ces valeurs.
XPCOM
"@mozilla.org/network/atomic-file-output-stream;1"et"@mozilla.org/network/safe-file-output-stream;1"lancent désormais une exception siPR_APPENDest passé sansPR_TRUNCATE(bogue Firefox 1117580 (angl.)).nsICompositionStringSynthesizeretnsIDOMWindowUtils.sendCompositionEvent()ont été supprimés. Utilisez plutôtnsITextInputProcessor. (bogue Firefox 917322 (angl.))nsIDOMWindowUtils.sendKeyEvent()est désormais obsolète. Utilisez plutôtnsITextInputProcessor(bogue Firefox 1119609 (angl.)).