Firefox 42 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 42 a été publié le 3 novembre 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 :
- Débogage de Firefox pour Android avec Wifi (angl.)
- Configuration de Firefox OS Simulator dans WebIDE
- Préréglages de filtre CSS (angl.)
Tous les bogues des outils de développement corrigés entre Firefox 41 et Firefox 42 (angl.).
CSS
- Le mode d'écriture vertical de
writing-modeest maintenant pris en charge avec les scriptsrtl(de droite à gauche) (bogue Firefox 1131451 (angl.)). - Les valeurs de
caption-sidesont désormais relatives à la table, et changent de signification réelle en fonction de sa valeurwriting-modebogue Firefox 1202993 (angl.). - Les propriétés non standard comme
-moz-margin-startsont maintenant des alias de leur homologue standard (margin-inline-start, …). Auparavant, c'était le contraire. Cela affecte la valeur renvoyée parCSSStyleDeclaration.cssTextet l'itération des propriétés dans une règle de style et l'itération des propriétés dans une règle de style, qui utilisent toutes deux la forme canonique (bogue Firefox 1118103 (angl.)). - La version préfixée ds dégradés CSS peut être désactivée en définissant la préférence
layout.css.prefixes.gradientssurfalse. - Plusieurs anciens bogues avec
floatet le comportement de réduction des marges ont été corrigés (bogue Firefox 478834 (angl.), bogue Firefox 538194 (angl.), et bogue Firefox 451791 (angl.)).
HTML
- Prise en charge expérimentale de l'attribut
referrerde<img>(bogue Firefox 1166910 (angl.)),<iframe>(bogue Firefox 1175736 (angl.)),<a>et<area>ont été ajoutés (bogue Firefox 1174913 (angl.)). Il n'y a aucun effet par défaut, lenetwork.http.enablePerElementReferrerétantfalsepar défaut.
JavaScript
- L'objet
Reflecta été ajouté (bogue Firefox 987514 (angl.)). - La mise en œuvre de l'interruption
Proxyhandler.ownKeys()a été mise à jour pour correspondre à la spécification finale ES2015 (bogue Firefox 1049662 (angl.)). - Appel de
Map,Set, ouWeakMapsansnew, va maintenant lancer unTypeError(bogue Firefox 1083752 (angl.)).
Interfaces/APIs/DOM
DOM & HTML DOM
-
Les images avec une
idne sont plus répertoriées comme propriété de l'interfaceWindow:<img id="login">n'est plus accessible en tant quewindow.login. Ce comportement a été introduit dans Firefox 26 et a été supprimé pour correspondre à une modification ultérieure de la spécification (bogue Firefox 959992 (angl.)). -
MouseEvent.offsetXetMouseEvent.offsetYont été ajoutés (bogue Firefox 69787 (angl.)). -
L'interface
HTMLInputElementa été étendue expérimentalement pour gérer le téléchargement des répertoires (bogue Firefox 1164310 (angl.)). Ces quatre membres peuvent être exposés en définissant la préférencedom.input.dirpickersurtrue:HTMLInputElement.directoryHTMLInputElement.isFilesAndDirectoriesSupportedHTMLInputElement.getFilesAndDirectories()HTMLInputElement.chooseDirectory()
-
L'interface
Directorya été étendue expérimentalement (bogue Firefox 1177688 (angl.)). Les deux membresDirectory.pathetDirectory.getContentspeuvent être exposés en définissant la préférencedom.input.dirpickersurtrue. -
Le
HTMLMediaElement.mozSrcObjecta été renommé dansHTMLMediaElement.srcObject(bogue Firefox 1175523 (angl.)).
Service Workers
Request.contexta été supprimé (bogue Firefox 1188062 (angl.)).- L'API Push a été activée par défaut sur Firefox pour bureau (bogue Firefox 1153499 (angl.)), mais uniquement sur les canaux Nightly/Dev Edition/Beta. Elle est désactivée par défaut dans le canal Release jusqu'à ce que l'UX grand public et les fonctionnalités de débogage aient été correctement ajoutées (bogue Firefox 1207875 (angl.)). Vous pouvez toujours l'activer en activant la préférence
dom.push.enableddans about:config. - La méthode
PushManager.hasPermission()a été désapprouvée dans la spécification et remplacée par la méthodePushManager.permissionState(). Firefox a mis à jour son implémentation pour refléter cela (bogue Firefox 1183853 (angl.)). - Des ajouts liés au service worker de l'API Notifications ont été mis en œuvre (bogue Firefox 1114554 (angl.)), mais sont désactivés dans cette version.
L'API Web Animations
Notre implémentation expérimentale de l'API Web Animations a été étendue pour prendre en charge :
- La propriété
AnimationPlayer.playbackRate(bogue Firefox 1127380 (angl.)). - Les interface
CSSAnimationetCSSTransition(bogue Firefox 1178186 (angl.)). - La méthode
Animation.reverse()(bogue Firefox 1150808 (angl.)). - L'interface
AnimationPlaybackEventa été ajoutée etcanceletfinishsont maintenant déclenchés surAnimation(bogue Firefox 1178664 (angl.)).
Composants Web
Notre implémentation expérimentale du DOM d'ombre a été modifiée :
- Lorsque vous essayez d'appeler
Node.cloneNode()sur unShadowRoot, lance une exceptionDataCloneError(bogue Firefox 1176757 (angl.)). - En invoquant
Document.importNode()avec unShadowRootcomme argument, nous lançons maintenant une exceptionNotSupportedError(bogue Firefox 1177914 (angl.)). - En invoquant
Document.adoptNode()avec unShadowRootcomme argument, nous lançons maintenant une exceptionHierarchyRequestError(bogue Firefox 1177991 (angl.)).
WebGL
- WebGL2
WebGLTransformFeedbacka été ajouté (bogue Firefox 1048724 (angl.)). - Pour obtenir un contexte WebGL2,
HTMLCanvasElement.getContext()prend maintenantwebgl2au lieu deexperimental-webgl2(bogue Firefox 1187174 (angl.)).
WebRTC
- Le type de données des options de
RTCPeerConnection.createOffer(),RTCOfferOptions, a été mis à jour pour correspondre plus étroitement à la spécification. Parmi d'autres changements, il est maintenant basé sur le dictionnaireRTCOfferAnswerOptions, qui fournit l'optionvoiceActivityDetection. - Le dictionnaire
RTCAnswerOptionsa été ajouté. C'est le type utilisé pour le paramètreoptionsdecreateAnswer(). - Le
RTCICECandidatePairStats.mozPrioritya été renomméRTCICECandidatePairStats.priority(bogue Firefox 1184426 (angl.)).
Nouvelles API
- L'interface
ImageBitmapet la méthodecreateImageBitmap()ont été ajoutées. Ils sont disponibles sur les scripts de fenêtre standard et dans les Web workers et permettent un affichage efficace des images entre les contextes fenêtre et worker (bogue Firefox 1044102 (angl.)).
Divers
- L'interface
IDBCursorWithValueest désormais disponible dans les Web workers (bogue Firefox 1188115 (angl.)). - Les évènements d'erreur envoyés dans les Web workers ne bouillonnent plus (bogue Firefox 1188141 (angl.)).
- Media Source Extensions (MSE) a été activé pour tous les sites Web, et pas plus pour une liste blanche de sites (bogue Firefox 1185611 (angl.)).
- Le
Window.mozRequestAnimationFrame()non standard et obsolète a été supprimé (bogue Firefox 909154 (angl.)). Utilisez plutôt le standardWindow.requestAnimationFrame(). - La synthèse vocale (text-to-speech) a été ajoutée dans Firefox Desktop pour Windows, cachée derrière l'indicateur
media.webspeech.synth.enableddansabout:config(bogue Firefox 1003457 (angl.)). Voir l'API Web Speech pour plus d'informations.
MathML
Pas de changement.
SVG
Pas de changement.
Audio/Video
Pas de changement.
HTTP
- Firefox 41 et les versions antérieures acceptaient à tord les champs de pseudo-en-tête non définis ou non valides dans les réponses HTTP/2 . Ceci est maintenant corrigé et le seul champ pseudo-en-tête accepté depuis Firefox 42 est le : statut selon la spécification. Les en-têtes de réponse contenant des champs arbitraires sont considérés comme mal formés. (bogue Firefox 1136727 (angl.))
La mise en réseau
- La directive
upgrade-insecure-requestsdu CSP a été ajoutée (bogue Firefox 1139297 (angl.)).
Sécurité
- Les certificats EV d'une validité supérieure à 39 mois sont désormais considérés et traités comme des certificats DV (bogue Firefox 1145679 (angl.)).
Changements pour les développeur·euse·s de Mozilla et d'extensions
>Interfaces
nsIContentPolicy
- La constante
TYPE_EMBEDa été ajoutée ànsIContentPolicypour permettre aux internes de Gecko et au code add-on de mieux différencier les différents types de requêtes. Auparavant,TYPE_OBJECTétait utilisé pour ces cas (bogue Firefox 1148030 (angl.)). - De même, les constantes
TYPE_SUBDOCUMENTont été divisées enTYPE_FRAMEetTYPE_IFRAME(bogue Firefox 1148044 (angl.)).
XUL
Pas de changement.
Modules de code JavaScript
Pas de changement.
XPCOM
Pas de changement.
Autre
Pas de changement.