Firefox 28 for developers
=========================

Firefox 28 est sorti le 18 Mars 2014. Cet article répertorie les modifications 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-ons.

Changements pour les développeurs Web
-------------------------------------

### Outils de développement

* La propriété `console.exception` a été ajoutée (bug Firefox 922214).
* La propriété `console.assert` a été ajoutée (bug Firefox 760193).
* Gestionnaire d'applications: un nouvel éditeur de manifeste a été ajouté.
* Gestionnaire d'applications: la boîte à outils utilisée pour le débogage des applications est désormais intégrée dans l'interface utilisateur du gestionnaire d'applications.
* Console Web: ajout d'un mode "console partagée" - appuyez sur Echap pour ouvrir rapidement la console dans n'importe quel autre outil.
* Console Web: ajout d'un thème sombre pour la sortie.
* Débogueur: JavaScript minifié pretty-print.
* Débogueur: survolez simplement n'importe quelle variable ou cliquez dessus pour faire apparaître une fenêtre contextuelle qui affiche la valeur actuelle.
* Inspecteur: ajout d'un sélecteur de couleur dans la vue des règles et de diverses info-bulles.
* Browser Toolbox: permet aux développeurs d'add-on et de plates-formes d'utiliser presque tous les outils de développement tout en ciblant le navigateur lui-même.

Plus de détails dans cet article.

### CSS

* Le support de la flexbox multi-lignes a été ajouté (bug Firefox 939901).
* Les styles de compteur Longhand East Asian ont été implémentés (bug Firefox 934072).
* La prise en charge expérimentale de la propriété `background-blend-mode` a été ajoutée, mais elle est désactivée par défaut (bug Firefox 841601).
* La valeur `none` a été ajoutée à `font-variant-ligatures` (bug Firefox 913264).
* Le support de la pseudo-classe d'action utilisateur `:hover` sur les pseudo-éléments a été implémenté (bug Firefox 922669).
### HTML

* `<input type=color>` et `<input type=number>` ont été implémentés, désactivés par défaut.
### JavaScript

* ECMAScript 6 (Harmony) l'implémentation continue:
    + De nouvelles méthodes `Array` ont été implémentées: `Array.prototype.entries()` et `Array.prototype.keys()` (bug Firefox 894658).
* Un bug provoquant que `Object.getOwnPropertyNames()` ne voyait pas les propriétés non résolues des objets `Error` a été corrigé (bug Firefox 724768).
### Interfaces/APIs/DOM

* `HTMLVideoElement.canPlayType('video/webm')` signale maintenant `maybe`. (bug Firefox 884275).
* La méthode `DocumentFragment.getElementById()` (en-US) a été implémentée. Par exemple `document.createDocumentFragment().getElementById()` (bug Firefox 933193).
* L'attribut `KeyboardEvent.repeat` (en-US) a été implémenté (bug Firefox 600117).
* Le constructeur `File`, par exemple `new File(["foo"], "foo.txt")` a été implémenté (bug Firefox 819900).
* Le `navigator.plugins` (en-US) n'est plus énumérable, pour des raisons de confidentialité (bug Firefox 757726).
* Les deux attributs `Window.screenX` et `Window.screenY` (en-US) renvoient désormais des pixels CSS (et plus de pixels de périphérique) (bug Firefox 943668).
* Les deux méthodes `CanvasRenderingContext2D.drawSystemFocusRing()` et `CanvasRenderingContext2D.drawCustomFocusRing()` (en-US) ont été implémentées. La préférence `canvas.focusring.enabled` doit être définié sur `true` pour activer les deux (bug Firefox 540456).
* L'attribut de contexte `willReadFrequently` pour les contextes de canevas "`2d`" a été implémenté (voir `HTMLCanvasElement.getContext()`) (bug Firefox 884226).
* Les attributs et méthodes suivants de `NavigatorID` (en-US) ont été implémentés sur `WorkerNavigator` (en-US) pour permettre leur utilisation dans les workers: `appCodeName` (en-US), `product` (en-US), et `taintEnabled()` (en-US) (bug Firefox 925847).
* Les propriétés `previousElementSibling` (en-US) et {domxref("NonDocumentTypeChildNode.nextElementSibling" , "nextElementSibling")}} ont été supprimées de `DocumentType`, pour des problèmes de compatibilité (bug Firefox 932501).
### MathML

* Le support de l'attribut `mathvariant` a été ajouté (bug Firefox 114365).
### SVG

*Pas de changement.*

### Audio/Vidéo

* Opus dans WebM est désormais supporté (bug Firefox 887978).
* Le décodeur vidéo VP9 est désormais pris en charge (bug Firefox 833023).
### Réseau

* La prise en charge de `SPDY/2` a été supprimée.
Changements pour les développeurs d'add-ons et de Mozilla
---------------------------------------------------------

* L'interface de DeferredTask.jsm a été modifiée et les méthodes `isPending()`, `start()`, `flush()`, et `cancel()` ont été supprimées (bug Firefox 940408).
Sécurité
--------

* Le CSP n'était pas appliqué dans les iframes en bac à sable. Cela a été corrigé (bug Firefox 886164).
* La directive expérimentale `script-nonce` du CSP 1.1 a été implémentée. La préférence `security.csp.experimentalEnabled` doit être définie sur `true` pour activer cette fonctionnalité (bug Firefox 855326).
Voir aussi
----------

### Anciennes versions

* Firefox 27 pour les développeurs
* 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