Firefox 35 note de version pour les développeurs
Firefox 35 a été publié le 13 janvier 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.
Changement concernant les développeur·euse·s
>Outils de développement
Points forts :
- Voir les pseudo-éléments
::beforeet::afterdans l'Inspecteur de page (angl.) - Les correspondances de source CSS sont désormais disponibles par défaut (angl.)
- « Afficher les propriétés DOM » depuis l'Inspecteur de page (angl.)
Tous les bogues des outils de développement corrigés entre Firefox 34 et Firefox 35 (angl.).
CSS
- La propriété
mask-typea été activée par défaut (bogue Firefox 1058519 (angl.)). - La propriété
filterest maintenant activée par défaut (bogue Firefox 1057180 (angl.)). - La règle @font-face
@font-faceprend désormais en charge les polices WOFF2 (bogue Firefox 1064737 (angl.)). - La notation fonctionnelle
symbols()est maintenant prise en charge (bogue Firefox 966168 (angl.)). - L'API CSS Font Loading a été implémentée (bogue Firefox 1028497 (angl.)).
- L'utilisation de
-moz-appearanceavec la valeurnonesur une boîte combinée supprime désormais le bouton déroulant (bogue Firefox 649849 (angl.)). - L'accesseur de propriété
element.style["css-property-name"]a été ajouté pour correspondre aux autres navigateurs (bogue Firefox 958887 (angl.)).
HTML
- Les obsolètes et non conformes
bottommargin,leftmargin,rightmarginettopmarginattributs de l'élément<body>ont été activés en mode non-quirks (bogue Firefox 95530 (angl.)).
JavaScript
-
La « zone temporelle morte » pour les déclarations
leta été implémentée. Conformément à la sémantique ES2015 delet, les situations suivantes génèrent désormais des erreurs. Voir également cette annonce de groupe de discussion (angl.) et bogue Firefox 1001090 (angl.).- Redéclarer des variables ou des arguments existants en utilisant
letdans le même scope dans les corps de fonction est désormais une erreur de syntaxe. - Utiliser une variable déclarée avec
letdans les corps de fonction avant que la déclaration ne soit atteinte et évaluée est désormais une erreur d'exécution.
- Redéclarer des variables ou des arguments existants en utilisant
-
Les
SymbolsES2015 (seulement disponibles dans le canal Nightly) ont été mis à jour pour se conformer aux récents changements de spécification :String(Symbol("1"))ne génère plus deTypeError; à la place, une chaîne de caractères ("Symbol(1)") est retournée (bogue Firefox 1058396 (angl.)).
-
Les différents constructeurs TypedArray ont désormais pour
[[Prototype]]une seule fonction, notée%TypedArray%dans ES2015 (mais autrement non exposée directement). Chaque prototype de tableau typé hérite désormais de%TypedArray%.prototype. (%TypedArray%et%TypedArray%.prototypehéritent respectivement deFunction.prototypeetObject.prototype, de sorte que les constructeurs et instances de tableaux typés conservent les propriétés trouvées sur ces objets.) Les propriétés des fonctions de tableau typé résident désormais sur%TypedArray%.prototypeet fonctionnent sur n'importe quel tableau typé. Voir TypedArray et bogue Firefox 896116 (angl.) pour plus d'informations. -
La sémantique ES2015 pour les mutations de prototype utilisant des littéraux d'objet a été implémentée (bogue Firefox 1061853 (angl.)).
- Désormais, un seul membre noté
__proto__:valuemodifie le[[Prototype]]dans la syntaxe de littéral d'objet. - Les membres de méthode comme
__proto__() {}ne remplacent plus le[[Prototype]].
- Désormais, un seul membre noté
Interfaces/APIs/DOM
navigator.languageetnavigator.languagessont désormais disponibles pour les workers surWorkerNavigator(bogue Firefox 925849 (angl.)).- La méthode
Element.closest()retourne l'ancêtre le plus proche de l'élément actuel (bogue Firefox 1055533 (angl.)). - La prise en charge expérimentale de la propriété
CanvasRenderingContext2D.filtera été ajoutée derrière le drapeaucanvas.filters.enabled(bogue Firefox 927892 (angl.)). - Notre implémentation expérimentale des animations Web progresse avec l'ajout de la propriété
Animation.target. Cela reste toujours derrière la préférencedom.animations-api.core.enabled, désactivée par défaut (bogue Firefox 1067701 (angl.)). - La méthode
hasAttributes()a été déplacée deNodeàElementcomme requis par la spécification (bogue Firefox 1055773 (angl.)). - L'attribut réfléchi
crossOrigindeHTMLImageElement,HTMLLinkElement,HTMLMediaElement,HTMLScriptElementetSVGScriptElementn'accepte que des valeurs valides, et""ne l'est pas,nulldoit être utilisé à la place (bogue Firefox 880997 (angl.)). - L'API Resource Timing a été activée par défaut (bogue Firefox 1002855 (angl.)).
- Pour correspondre à la spécification, le premier argument de
Selection.containsNode()ne peut plus êtrenull(bogue Firefox 1068058 (angl.)). - La nouvelle API
ImageCapturea été implémentée :ImageCapture.takePhoto()est disponible (bogue Firefox 916643 (angl.)). - Les requêtes
XMLHttpRequestnon HTTP retournent désormais200en cas de succès (au lieu de0erroné) (bogue Firefox 716491 (angl.)). XMLHttpRequest.responseURLa été adapté à la dernière spécification et n'inclut pas le fragment ('#xyz') de l'URL, le cas échéant (bogue Firefox 1073882 (angl.)).- La propriété interne non standard
File.mozFullPathn'est plus visible depuis le contenu (bogue Firefox 1048293 (angl.)). - Le constructeur de
Filea été étendu pour correspondre à la spécification (bogue Firefox 1047483 (angl.)). - Une implémentation expérimentale de
AbortablePromise, une promesse qui peut être annulée par une entité différente de celle qui l'a créée, a été ajoutée. Elle est préfixée parMozet contrôlée par la propriétédom.abortablepromise.enabled, désactivée par défaut (bogue Firefox 1035060 (angl.)). - La propriété non standard
Navigator.mozIsLocallyAvailablea été supprimée (bogue Firefox 1066826 (angl.)). - La préférence
network.websocket.enabled, activée par défaut, a été supprimée ; l'API WebSocket ne peut plus être désactivée (bogue Firefox 1091016 (angl.)). - Les méthodes et propriétés non standard de
Cryptoont été supprimées (bogue Firefox 1030963 (angl.)). Seules les méthodes et propriétés définies dans l'API WebCrypto standard sont conservées. - Notre implémentation expérimentale de WebGL 2.0 progresse !
- La méthode
WebGL2RenderingContext.copyBufferSubData()a été implémentée (bogue Firefox 1048668 (angl.)).
- La méthode
MathML
- La fonction
dtlsOpenType (avec les CSSfont-feature-settingssur la feuille de styles par défaut) est maintenant appliquée automatiquement aux éléments MathML lors du positionnement des scripts au-dessus (par exemple, i sans point avec chapeau mathématique).
SVG
Pas de changement.
Audio/Vidéo
Pas de changement.
Réseau & Sécurité
- Le HTTP/2 a été implémenté et activé, avec uniquement des chiffrements AEAD (bogue Firefox 1027720 (angl.) et bogue Firefox 1047594 (angl.)).
- L'en-tête HTTP/2
alt-svcest maintenant pris en charge (bogue Firefox 1003448 (angl.)). - L'extension Public Key Pinning pour HTTP (HPKP) a été implémentée (bogue Firefox 787133 (angl.)).
- La directive
base-uride la CSP 1.1 est maintenant prise en charge (bogue Firefox 1045897 (angl.)). - Le chemin de la source est maintenant également pris en compte lors de la correspondance des sources hôtes dans la CSP (bogue Firefox 808292 (angl.)).
Changements pour les développeur·euse·s Mozilla et d'extensions
>XUL & Modules
- La méthode privée
_getTabForBrowser()sur l'élément<xul:tabbrowser>a été remplacée. À la place, nous avons ajouté une nouvelle méthode publique appeléegetTabForBrowser. Elle retourne assez prévisiblement l'élément<xul:tab>qui contient le spécifique<xul:browser>. Components.utils.now(), correspondant àPerformance.now()a été implémenté pour les codes Chrome sans fenêtre ouverte (bogue Firefox 969490 (angl.)).
SDK d'extension
Points forts
- Ajout des clés d'accès pour le menu contextuel.
- Suppression de
isPrivateBrowsingdeBrowserWindow. - Ajout de la méthode
toJSONaux instances deURL.
Détails
Instantanés GitHub faits entre Firefox 34 et Firefox 35. Cela n'inclut pas les mises à jour effectuées après l'entrée de cette version dans Aurora.
Bugs corrigés entre Firefox 34 et Firefox 35. Cela n'inclut pas les mises à jour effectuées après l'entrée de cette version dans Aurora.