Firefox 27 for developers
=========================

Firefox 27 est sorti le 4 Février 2014. Cet article répertorie les modofications clés qui sont utiles non seulement pour les développeurs Web, mais aussi 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

* Les points d'arrêt peuvent désormais être définis sur les événements DOM.
* JavaScript dans le panneau du débogueur peut être supprimé à l'aide du bouton { }.
* L'inspecteur a maintenant une fonction "edit-element-html", sans avoir besoin d'un add-on.
* Les URL et les couleurs d'arrière-plan ont un aperçu dans l'inspecteur. Même le survol des éléments du canevas donnera une fenêtre contextuelle avec un aperçu de l'image.
* La journalisation de redistribution a été ajoutée.
* Les styles des éléments SVG sont désormais inspectables (bug Firefox 921191).
* Le fait de ne pas trouver l'image en cliquant sur le lien URL dans l'inspecteur CSS a été corrigé (bug Firefox 921686).

Plus de détails dans cet article.

### CSS

* Les mots-clés `-moz-grab` et `-moz-grabbing` de la propriété CSS `cursor` n'ont pas été préfixés pour `grab` et `grabbing` (bug Firefox 880672).
* Le support des notations fonctionnelles `-moz-hsla()` et `-moz-rgba()` a été abandonné. Seules les versions sans préfixe, `hsla()` et `rgba()` sont désormais supportées (bug Firefox 893319).
* La valeur "`true`" pour `text-align` a été ajoutée (bug Firefox 929991).
* Support expérimental de la `position:sticky` est désormais actif par défaut sur les builds non-release (bug Firefox 902992). Pour les versions builds, la préférence `layout.css.sticky.enabled` doit toujours être définie sur `true.`
* La propriété abrégée `all` a été ajoutée (bug Firefox 842329).
* La valeur globale `unset` a été ajoutée; il permet de réinitialiser n'importe quelle propriété CSS (bug Firefox 921731).
* Les accolades ne sont plus autorisées dans les attributs de `style` HTML: faire `<div style="{ display: none }">` fonctionnait en mode bizarreries, mais ne le sera plus bug Firefox 915053.
* La propriété `overflow` fonctionne désormais sur `<fieldset>` (bug Firefox 261037).
### HTML

* La valeur `color` de l'attribut `<input>` `type` a été implémentée sur les plates-formes de bureau. Il était déjà disponible sur les mobiles.
* La directive `allow-popups` est désormais prise en charge avec l'attribut `sandbox` de l'élément `<iframe>` (bug Firefox 766282).
* Le mélange d'éléments HTML à l'aide de la propriété `mix-blend-mode` a été implémenté. La préférence `layout.css.mix-blend-mode.enabled` doit être définie sur `true` (bug Firefox 902525).
* L'attribut `typemustmatch` de l'élément `<object>` est désormais pris en charge (bug Firefox 827160).
### JavaScript

L'implémentation d'EcmaScript 6 (Harmony) se poursuit!

* L'opérateur de diffusion (en-US) est désormais pris en charge dans les appels de fonction (bug Firefox 762363).
* La fonction mathématique `Math.hypot()` a été implémentée (bug Firefox 896264).
* L'expression `yield*` est maintenant implémentée (bug Firefox 666396).
* Les objets `MapIterator`, `SetIterator` et `ArrayIterator` correspondent désormais à la spécification (bug Firefox 881226).
* for..of boucles s'attendent maintenant à ce que le protocole d'itérateur (en-US) standard ES6 s'éloigne de l'ancien protocole d'itérateur de SpiderMonkey utilisant `StopIteration`.
* `String.match` et `String.replace` sont maintenant réinitialisés `RegExp.lastIndex` (bug Firefox 501739).
### Interfaces/APIs/DOM

* Le support des deux méthodes `setRange()` sur l'interface `HTMLInputElement` a été ajouté (bug Firefox 850364).
* Le support des deux méthodes `setRange()` sur l'interface `HTMLTextAreaElement` (en-US) a été ajouté (bug Firefox 918940).
* Les méthodes `getAllKeys()` et `openKeyCursor()` ont été ajoutées à `IDBObjectStore` (bug Firefox 920633 et bug Firefox 920800).
* L'interface `HTMLFormControlsCollection` a été implémentée (bug Firefox 913920).
* L'interface `CanvasRenderingContext2D` prend désormais en charge les deux méthodes `getLineDash()` (en-US) et `setLineDash()` et la propriété `lineDashOffset` (en-US) (bug Firefox 768067).
* L'attribut `typeMustMatch` a été implémenté sur l'interface `HTMLObjectElement` (en-US) (bug Firefox 827160).
* Les méthodes `copyFromChannel()` et `copyToChannel()` ont été ajoutées à `AudioBuffer` (bug Firefox 915524).
* `Event.isTrusted()` est désormais infalsifiable (bug Firefox 637248).
* La méthode `Navigator.vibrate()` a été adaptée pour correspondre à la spécification finale: elle retourne désormais `false` lorsque la liste est trop longue ou contient des entrées trop volumineuses, au lieu de lancer (bug Firefox 884935).
* Dans le cadre de l'effort continu de normalisation des objets globaux, les interfaces d'événment de changement de feuille de style non standard, notamment `StyleRuleChangeEvent`, `StyleSheetApplicableStateChangeEvent` et `StyleSheetChangeEvent`, ne sont plus disponibles à partir du contenu Web. L'interface `CSSGroupRuleRuleList`, le détail d'implémentation de `CSSRuleList`, a également été supprimée (bug Firefox 872934 et bug Firefox 916871).
* `atob` ignore désormais les espaces (bug Firefox 711180).
* WebGL: les chaînes d'extension avec préfixe `MOZ_` sont obsolètes. Le support pour eux sera supprimé à l'avenir. Utilisez uniquement une chaîne d'extension sans préfixe. Pour obtenir des brouillons d'extensions, définissez les préférences `webgl.enable-draft-extensions` (bug Firefox 924176).
### MathML

*Pas de changement.*

### SVG

* Le mélange d'éléments SVG à l'aide de la propriété `mix-blend-mode` a été implémenté. La préférence `layout.css.mix-blend-mode.enabled` doit être définie sur `true` (bug Firefox 902525).
Changements pour les développeurs d'addon et de Mozilla
-------------------------------------------------------

* Le bouton `downloads-indicator` a disparu. Vous devez maintenant utiliser l'élément `downloads-button`. Si vous devez vérifier qu'il a chargé sa superposition, recherchez l'attribut `indicator` sur ce bouton.
* La feuille de style `chrome://browser/skin/downloads/indicator.css` n'est plus référencée dans Firefox.
Sécurité
--------

* TLS 1.2 a été implémenté pour une sécurité améliorée (bug Firefox 861266).
Voir aussi
----------

* Liste des changements dans Marionette pour Firefox 27.
### Anciennes versions

* Firefox 26 pour les développeurs
* Firefox 25 pour les développeurs
* Firefox 24 pour les développeurs
* Firefox 23 pour les développeurs
* Firefox 22 pour les développeurs
* Firefox 21 pour les développeurs
* Firefox 20 pour les développeurs
* Firefox 19 pour les développeurs
* Firefox 18 pour les développeurs
* Firefox 17 pour les développeurs
* Firefox 16 pour les développeurs
* Firefox 15 pour les développeurs
* Firefox 14 pour les développeurs
* Firefox 13 pour les développeurs
* Firefox 12 pour les développeurs
* Firefox 11 pour les développeurs
* Firefox 10 pour les développeurs
* Firefox 9 pour les développeurs
* Firefox 8 pour les développeurs
* Firefox 7 pour les développeurs
* Firefox 6 pour les développeurs
* Firefox 5 pour les développeurs
* Firefox 4 pour les développeurs
* Firefox 3.6 pour les développeurs
* Firefox 3.5 pour les développeurs
* Firefox 3 pour les développeurs
* Firefox 2 pour les développeurs
* Firefox 1.5 pour les développeurs