Firefox 43 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 43 a été publié le 15 décembre 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 :
- Journalisation côté serveur dans la console Web (angl.)
- Trouver rapidement la règle qui a remplacé une déclaration CSS (angl.)
- Élément de menu contextuel « Utiliser dans la console » dans l'inspecteur (angl.)
- Option "Strict" pour le filtrage dans la vue des règles (angl.)
- Les entrées réseau dans la console renvoient maintenant au moniteur réseau (angl.)
- La vue du balisage affiche des indicateurs pour les pseudo-classes verrouillées pour les éléments (angl.)
- Nouvelle interface de la barre latérale pour WebIDE
Tous les bogues des outils de développement corrigés entre Firefox 42 et Firefox 43 (angl.)
CSS
- La prise en charge de la version standard, non préfixée de
hyphenset arrivée (bogue Firefox 953408 (angl.)). - La propriété raccourcie
fonta été mise à jour pour accepter les valeurs defont-stretch(bogue Firefox 1057680 (angl.)). - Pour correspondre à la dernière évolution de la spécification, la pseudo-classe
:fullscreensélectionne désormais l'ensemble de la pile d'éléments en plein écran, et pas seulement celui de niveau supérieur (bogue Firefox 1199522 (angl.)). - Les valeurs SVG obsolètes pour
writing-mode,lr,lr-tb,rl,tbettb-rl, ont été ajoutées en CSS comme alias des propriétés standard (bogue Firefox 1205787 (angl.)).
HTML
- Pour
<img>avec une image ICO contenant plusieurs cadres, la dimension intrinsèque de l'image est définie sur celle de la plus grande frame, et non plus sur celle de la plus petite frame (bogue Firefox 1201796 (angl.)). - La valeur de la fenêtre d'affichage du document (définie avec
<meta name="viewport>) peut désormais être modifiée dynamiquement avec JavaScript (bogue Firefox 976616 (angl.)).
JavaScript
Nouvelles API
- Les nouvelles méthodes ES2016
Array.prototype.includes()etTypedArray.prototype.includes()sont désormais activées par défaut (bogue Firefox 1070767).
Changements concernant l'objet arguments
- Pour correspondre à la spécification ES2015, les fonctions fléchées n'ont plus leur propre objet
arguments. L'objetargumentsest désormais lié lexicalement (hérité de la fonction externe). Dans la plupart des cas, les paramètres rest sont une bonne alternative(...args) => args[i], voir bogue Firefox 889158 (angl.). - L'objet arguments est désormais autorisé en conjonction avec les paramètres rest (bogue Firefox 1133298 (angl.)).
- Dorénavant, un objet
argumentsmappé dans les fonctions non strictes n'est fourni que si la fonction ne contient aucun paramètre rest, aucun paramètre par défaut ou aucun paramètre déstructuré (bogue Firefox 1175394 (angl.)).
Autres changements
- Les générateurs et les méthodes génératrices ne sont plus constructibles conformément à ES2016 (bogue Firefox 1191486 (angl.)).
Interfaces/APIs/DOM
DOM & HTML DOM
Pas de changement.
IndexedDB
- Une nouvelle fonctionnalité appelée tri sensible à la locale a été ajoutée, permettant la création d'index avec une locale définie, qui peut ensuite être utilisée pour trier les données selon les règles de cette locale (bogue Firefox 871846 (angl.)). Il s'agit d'une fonctionnalité spécifique à Firefox et non standard.
Service Workers
- Conformément à la spécification, si
ExtendableEvent.waitUntil()est appelé en dehors du gestionnaireExtendableEvent, Firefox retourne désormais une erreurInvalidStateError; de plus, plusieurs appels àwaitUntil()sont désormais empilés, et les promesses résultantes sont ajoutées à la liste des promesses d'extension de durée de vie (angl.) (bogue Firefox 1180274 (angl.)). - Les méthodes
PushMessageDataont été implémentées (bogue Firefox 1149195 (angl.)).
WebRTC
- La méthode
HTMLCanvasElement.captureStream()a été activée par défaut (bogue Firefox 1177276 (angl.)). - L'option de style de contrainte non standard pour
RTCOfferOptionsa été dépréciée et sera entièrement supprimée dans Firefox 44.
Divers
- L'API Battery Status utilise désormais la nouvelle syntaxe de promesse pour
Navigator.getBattery(), comme défini dans l'évolution récente de la spécification (bogue Firefox 1050749 (angl.)). - L'en-tête
User-Agentne fait plus partie de la liste des en-têtes de requête interdits, il peut donc désormais être défini dans un objet FetchHeaders, avec XHRXMLHttpRequest.setRequestHeader(),… (bogue Firefox 1188932 (angl.)). - Le constructeur
MediaRecorder()peut désormais accepter un dictionnaire d'options en tant que paramètre, ce qui permet de définir des débits binaires personnalisés pour l'audio/vidéo à enregistrer (bogue Firefox 1161276 (angl.)). - L'interface
PerformanceObserver, appartenant aux API de performance, a été implémentée (bogue Firefox 1165796 (angl.)). - L'API Frame Timing a été ajoutée : les interfaces
PerformanceRenderTimingetPerformanceCompositeTimingsont désormais disponibles (bogue Firefox 1191178 (angl.)). - La moderne API d'orientation de l'écran a été implémentée :
Screen.orientationsans préfixe et l'interfaceScreenOrientationsont désormais disponibles (bogue Firefox 1131470 (angl.)). Les méthodes non standardScreen.mozOrientation,Screen.onmozorientationchange,Screen.mozLockOrientation(), etScreen.mozUnlockOrientation()seront supprimées à l'avenir. - Sous Linux, comme sous Windows,
Event.timeStampretourne désormais unDOMHighResTimeStamp(bogue Firefox 1026803(angl.)). - La prise en charge expérimentale des évènements
Selectionselectionchangeetselectstart, ainsi que des propriétés des gestionnaires d'évènementsDocument.onselectionchangeetHTMLInputElement.onselectstart, a été ajoutée (bogue Firefox 571294(angl.)). L'évènementselectionchangeest déclenché sur leDocumentsi l'objetSelectionassocié est concerné, ou sur leHTMLInputElementou leHTMLTextAreaElementspécifique (bogue Firefox 1196479(angl.)). Cette fonctionnalité est contrôlée par la préférencedom.select_events.enabled, qui est par défautfalse, sauf sur Nightly. - La prise en charge de
MouseEvent.offsetXetMouseEvent.offsetYa été activée sur Firefox pour Android et Firefox OS (bogue Firefox 1204841 (angl.)). - La méthode
HTMLCanvasElement.mozFetchAsStream()a été supprimée (bogue Firefox 1206030 (angl.)). - Le constructeur
Request()ainsi quefetch()lèvent désormais une exceptionTypeErrorlorsqu'ils sont utilisés avec une URL contenant un nom d'utilisateur·ice et un mot de passe (bogue Firefox 1195820 (angl.)).
MathML
Pas de changement.
SVG
Pas de changement.
Audio/Vidéo
Pas de changement.
HTTP
Pas de changement.
Réseau
Pas de changement.
Sécurité
- L'accès au stockage Web (c'est-à-dire
localStorageetsessionStorage) à partir des IFrames tiers est désormais refusé si l'utilisateur·ice a désactivé les cookies tiers (angl.) (bogue Firefox 536509 (angl.)). - Cette liste blanche a même été supprimée dans les versions Nightly et Aurora/Dev Edition du navigateur (bogue Firefox 1201023 (angl.)). Il est actuellement prévu que cette suppression se produise également pour les versions Beta et Release pour la prochaine version (Firefox 44).
- L'intégrité des sous-ressources a été mise en œuvre pour
<script>et<link>qui se lient aux feuilles de style (bogue Firefox 992096 (angl.)).
Changements pour les développeur·euse·s de Mozilla et d'extensions
>Interfaces
Pas de changement.
XUL
Pas de changement.
JavaScript code modules
Pas de changement.
XPCOM
Pas de changement.
Modules complémentaires
- En préparation des futures versions pour passer à un contenu multi-processus, les plugins NPAPI ne peuvent plus être exécutés dans le même processus que le contenu de la page. Les préférences commençant par
dom.ipc.pluginsne sont plus utilisées.
Autres
Pas de changement.