Firefox 35 pour les développeurs
================================

1. Notes de versions pour développeurs
    1. Notes de versions pour développeurs
2. Modules complémentaires
    1. WebExtensions
    2. Thèmes
3. Fonctionnement interne de Firefox
    1. Le projet Mozilla
    2. Gecko
    3. Mode « headless »
    4. Modules de code Javascript
    5. JS-ctypes
    6. Le projet MathML
    7. MFBT
    8. Les projets Mozilla
    9. Le système de préférences
    10. Connexions WebIDL
    11. XPCOM
    12. XUL
4. Développer et contribuer
    1. Instructions de compilation
    2. Configuration des options de compilation (en-US)
    3. Fonctionnement de la compilation
    4. Code source de Mozilla
    5. Localisation
    6. Mercurial
    7. Assurance qualité
    8. Utilisation de code Mozilla dans d'autres projets
Changement concernant les développeurs
--------------------------------------

### Outils de développement

Liens:

* See ::before and ::after pseudo elements in the Page Inspector
* CSS source maps are now enabled by default
* "Show DOM Properties" from the Page Inspector

Tous les bugs des outils de développement résolus entre Firefox 34 et Firefox 35.

### CSS

* La proprieté `mask-type` a été activée par défaut (bug 1058519).
* La propieté `filter` est maintenant activée par défaut (bug 1057180).
* La fonction `@font-face` est maintenant compatible avec les polices de type WOFF2 (bug 1064737).
* La notation fonctionnelle `symbol()` est maintenant supportée(bug 966168).
* L'API CSS Font Loading a été implémentée (bug 1028497).
* En utilisant `-moz-appearance` avec la valeur `none` sur un menu de type `select`, le bouton déroulant est maintenant supprimé (bug 649849).
* La propriété accessor `element.style["css-property-name"]` a maintenant été ajoutée pour correspondre aux autres navigateurs (bug 958887).
### HTML

* Les obsolètes `et non conformes bottommargin`, `leftmargin`, `rightmargin` and `topmargin` attributs de l'élement `<body>` ont été activés en mode non-quirks (bug 95530).
* Les imports HTML sont maintenant supportés (bug 877072).
### JavaScript

* La "temporal dead zone" pour les déclarations `let` a été implementée. En conformité avec les sémantiques `let` ES6, les situations suivantes renvoyent des erreurs. Voir aussi cet annoncement de newsgroup et bug 1001090.
    + Redéclarer des variables existantes ou arguments utilisant `let` sans la même portée dans le corps de fonctions est maintenant une erreur de syntaxe.
    + Utiliser une variable déclarée en utilisant `let` dans le corps de fonctions avant la déclaration de cette variable est maintenant une erreur d'exécution.
* ES6 `Symbols` (en-US) (disponible uniquement dans Nightly) a été mis à jour pour être conforme avec les récents changements de spécification :
    + `String(Symbol("1"))` ne renvoie maintenant une `TypeError`; au lieu d'un string (`"Symbol(1)"`) (bug 1058396).
    + Les divers constructeurs *TypedArray* ont maintenant comme `[[Prototype]]` une simple fonction, notée `%TypedArray%` en ES6 (mais pas directement exposé). Chaque prototype de tableau typé hérite maintenant de `%TypedArray%.prototype`. (`%TypedArray%` et `%TypedArray%.prototype` hérite eux-mêmes de `Function.prototype` et `Object.prototype` (en-US), respectivement, ainsi ce constructeur et ces instances de tableau typé ont aussi les propriétés de ces objets.) Les propriétés des fonctions de tableau typés se trouvent maintenant sur `%TypedArray%.prototype` et fonctionnent sur tous les tableaux typés. Voir *TypedArray* et bug 896116 pour plus d'information.
* Les semantiques ES6 pour les mutations de prototype utilisant les *initialisateurs d'objet* ont été implémentées (bug 1061853).
    + Maintenant un seul membre noté `__proto__:value` peut changer `le [[Prototype]]` dans la syntaxe de l'initialisateur d'objet.
    + Les membres de méthode comme `__proto__() {}` ne réecrivent pas le `[[Prototype]]`.
### Interfaces/APIs/DOM

* L'interface `NavigatorLanguage` est maintenant disponible aux développeurs sur `WorkerNavigator` (en-US) (bug 925849).
* La méthode `Element.closest` retourne l'ancêtre le plus proche de l'élément utilisé (bug 1055533).
* Appui expérimental pour la propriété `CanvasRenderingContext2D.filter` (en-US) a été ajouté sous le nom `canvas.filters.enabled` (bug 927892).
* Our experimental implementation of Web Animations progresses with the landing of the `Animation.target` property. This always is behind the dom.animations-api.core.enabled pref, off by default (bug 1067701).
* The `hasAttributes()` method has been moved from `Node` to `Element` as required by the spec (`1055773`).
* Websockets can now be used in Workers (en-US) (bug 504553).
* The `crossOrigin` reflected attribute of `HTMLImageElement`, `HTMLLinkElement` (en-US), `HTMLMediaElement`, `HTMLScriptElement` (en-US), and `SVGScriptElement` (en-US) only accepts valid values, and `""` isn't, `null` has to be used instead (bug 880997).
* The Resource Timing API has been activated by default (bug 1002855).
* To match the spec, the first argument of `Selection.containsNode()` (en-US) cannot be `null` anymore (bug 1068058).
* The new `ImageCapture` (en-US) API has been implemented: `ImageCapture.takePhoto()` (en-US) is available (bug 916643).
* Non-HTTP `XHR` request now returns `200` in case of success (instead of the erroneous `0`) (bug 716491).
* The internal, non-standard, `File.mozFullPath` property is no more visible from content (bug 1048293).
* The constructor of `File` has been extended to match the specification (bug 10457483).
* An experimental implementation of `AbortablePromise`, a promise that can be aborted by a different entity that the one who created it, has been added. It is prefixed with `Moz` and controlled by the `dom.abortablepromise.enabled` property, defaulting to `false` (bug 1035060).
* La propriété non standardisée `Navigator.mozIsLocallyAvailable` a été supprimée (bug 1066826).
### MathML

* La fonction `dtls` OpenType (via les CSS `font-feature-settings` sur la feuille de styles par défaut) est maintenant appliquée automatiquement aux éléments MathML lors du positionnement des scripts au-dessus (e.g. dotless i with mathematical hat).
### SVG

*Aucun changement.*

### Audio/Video

*Aucun changement.*

Réseau & Sécurité
-----------------

* L'entête HTTP/2 `alt-svc` est maintenant supportée (bug 1003448).
* L'extension Public Key Pinning pour HTTP (HPKP) a été implementée (bug 787133).
Changements pour les modules et les développeurs Mozilla
--------------------------------------------------------

### XUL & Modules

* La méthode privée `_getTabForBrowser()` sur l'élement `tabbrowser` a été remplacée. À la place, nous avons ajouté une nouvelle méthode publique apellée `getTabForBrowser`. Elle retourne assez prévisiblement l'élément `tab` qui contient le spécifique `browser`.
* `Components.utils.now()`, correspondant à `Performance.now()` a été implémenté pour les codes Chrome sans fenêtre ouverte (bug 969490).
### Module SDK

#### Titres

* Ajout de clés d'accès pour le menu contextuel.
* Suppression de `isPrivateBrowsing` de `BrowserWindow`.

#### Détails

Commits de GitHub effectués entre Firefox 34 et Firefox 35. Ceci ne comprendra pas les évolutions après la sortie officielle.

Bugs corrigés entre Firefox 34 et Firefox 35. Ceci ne comprendra pas les évolutions après la sortie officielle.

Voir aussi
----------

* Compatibilité web pour Firefox 35
Anciennes versions
------------------

* Firefox 34 pour les développeurs
* Firefox 33 pour les développeurs
* Firefox 32 pour les développeurs
* Firefox 31 pour les développeurs
* Firefox 30 pour les développeurs
* Firefox 29 pour les développeurs
* Firefox 28 pour les développeurs
* 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