---
title: Firefox 39 for developers
slug: Mozilla/Firefox/Releases/39
tags:
- Firefox
- Releases
- TopicStub
translation_of: Mozilla/Firefox/Releases/39
---
{{FirefoxSidebar}}
Firefox 39 est sorti le 2 juillet 2015. Cet article répertorie les modifications clés qui sont utiles non seulement pour les développeurs Web, mais également pour les développeurs Firefox et Gecko ainsi que pour les développeurs d'add-on.
Changements pour les développeurs Web
Outils de développement
Points forts:
Tous les bogues de devtools corrigés entre Firefox 38 et Firefox 39.
CSS
- Prise en charge du type {{cssxref("<string>")}} sur {{cssxref("list-style-type")}}, ainsi que sa propriété abrégée {{cssxref("list-style")}} a été implémenté ({{bug(1144607)}}).
- CSS Scroll Snapping a été implémenté ({{bug(945584)}} et {{bug(1138658)}}).
- La cascade des animations CSS et des transitions CSS a été réécrite pour correspondre à la dernière spécification ({{bug(1125455)}}).
- La prise en charge des scripts verticaux, avec le {{cssxref("writing-mode")}} est maintenant activée par défaut sur Nightly et Developer Edition, mais pas sur Firefox Beta et Firefox Release ({{bug(1099032)}}). Notez que l'implémentation n'est pas encore terminée et que certains widgets, comme les tables, n'obéiront pas à toutes les valeurs.
HTML
- Un nouveau rôle {{glossary("ARIA")}},
switch
, est maintenant supporté ({{bug(1136563)}}).
- Le support de
<link rel="preconnect">
permettant d'anticiper une future connexion sans révéler aucune information a été implémenté ({{bug(1135160)}}).
JavaScript
- Le constructeur
RegExp
ne se lance plus lorsque le premier argument est un RegExp
et que le second argument flags
est présent ({{bug(1108949)}}).
- La propriété {{jsxref("Object.noSuchMethod", "Object.prototype.__noSuchMethod__")}} est désormais obsolète et émet un avertissement de console (voir {{bug(1140428)}} et cette annonce de plate-forme).
- L'implémentation de l'objet {{jsxref("Proxy")}} a été mise à jour pour se conformer davantage à la spécification ES6 :
- Les gestionnaires {{jsxref("Global_Objects/Proxy/handler/defineProperty", "defineProperty")}} et {{jsxref("Global_Objects/Proxy/handler/set", "set")}} doivent maintenant renvoyer explicitement
true
pour réussir, sinon une exception {{jsxref("TypeError")}} sera lancée en mode strict ({{bug(1132522)}}).
- Si l'objet {{domxref("window")}} est défini comme cible, ces gestionnaires lancent désormais une
TypeError
({{bug(828137)}}).
- Lors de l'utilisation des fonctions fléchées (
=>
), un terminateur de ligne (\n
) n'est plus autorisé après les arguments de fonction fléchée (() \n => {}
) ({{bug(1141392)}}).
- {{jsxref("RegExp.prototype.toString")}} est maintenant une fonction générique ({{bug(1079919)}}).
- L'argument de
flags
non standard de {{jsxref("String.prototype.match()")}}, {{jsxref("String.prototype.search()")}}, et {{jsxref("String.prototype.replace()")}} est désormais obsolètee et émet un avertissement de console ({{bug(1142351)}}).
- Le comportement try/catch de {{jsxref("Object.assign()")}} a été supprimé pour se conformer au dernier projet ES6 ({{bug(1103344)}}).
Interfaces/APIs/DOM
- La méthode expérimentale {{domxref("CanvasRenderingContext2D.addHitRegion()")}} accepte désormais une option de
path
, qui vous permet d'ajouter des régions hit aux objets {{domxref("Path2D")}} ({{bug(1129147)}}).
- De nouvelles méthodes ont été ajoutées pour manipuler les objets {{domxref("FormData")}} ({{bug(1085283)}}) et
FormData
est désormais supporté par les workers Web ({{bug(739173)}}).
- La méthode non standard {{domxref("XMLHttpRequest.sendAsBinary()")}} a été supprimée ({{bug(853162)}}).
- Progression dans notre implémentation expérimentale des animations Web : {{domxref("AnimationPlayer.startTime")}} est désormais accessible en écriture ({{bug(1073379)}}).
- Progression de notre implémentation expérimentale de Service Workers: les interfaces {{domxref("Cache")}} et {{domxref("CacheStorage")}} sont désormais implémentées ({{bug(940273)}}).
- L'API Fetch expérimentale a été activée par défaut ({{bug(1133861)}}).
- Progression de notre implémentation expérimentale de WebGL2: {{domxref("WebGLSync")}} est maintenant implémenté ({{bug(1048721)}}).
- La prise en charge de {{domxref("MouseEvent.offsetX")}} et {{domxref("MouseEvent.offsetY")}} a été ajoutée sur le desktop ({{bug(69787)}}, mais pas sur Firefox pour Android ou Firefox OS (ils seront ajoutés dans Firefox 43).
MathML
Pas de changement.
SVG
Pas de changement.
Audio/Video
Pas de changement.
Miscelleanous
La mise en réseau
- La prise en charge de SSLv3 a été complètement supprimée ({{bug(1106470)}}).
Sécurité
Pas de changement.
Changements pour les développeurs d'add-on et de Mozilla
Pas de changement.
Anciennes versions
{{Firefox_for_developers('38')}}