1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
|
---
title: Firefox 8 pour les développeurs
slug: Mozilla/Firefox/Releases/8
tags:
- Firefox
- Firefox 8
translation_of: Mozilla/Firefox/Releases/8
original_slug: Mozilla/Firefox/Versions/8
---
<div><section id="Quick_links">
<ol>
<li class="toggle">
<details>
<summary>Notes de versions pour développeurs</summary>
<ol>
<li><a href="/fr/docs/Mozilla/Firefox/Releases">Notes de versions pour développeurs</a></li>
</ol>
</details>
</li>
<li class="toggle">
<details>
<summary>Modules complémentaires</summary>
<ol>
<li><a href="/fr/Add-ons/WebExtensions">WebExtensions</a></li>
<li><a href="/fr/Add-ons/Themes">Thèmes</a></li>
</ol>
</details>
</li>
<li class="toggle">
<details>
<summary>Fonctionnement interne de Firefox</summary>
<ol>
<li><a href="/fr/docs/Mozilla/">Le projet Mozilla</a></li>
<li><a href="/fr/docs/Mozilla/Gecko">Gecko</a></li>
<li><a href="/fr/docs/Mozilla/Firefox/Headless_mode">Mode « headless »</a></li>
<li><a href="/fr/docs/Mozilla/JavaScript_code_modules">Modules de code Javascript</a></li>
<li><a href="/fr/docs/Mozilla/js-ctypes">JS-ctypes</a></li>
<li><a href="/fr/docs/Mozilla/MathML_Project">Le projet MathML</a></li>
<li><a href="/fr/docs/Mozilla/MFBT">MFBT</a></li>
<li><a href="/fr/docs/Mozilla/Projects">Les projets Mozilla</a></li>
<li><a href="/fr/docs/Mozilla/Preferences">Le système de préférences</a></li>
<li><a href="/fr/docs/Mozilla/WebIDL_bindings">Connexions WebIDL</a></li>
<li><a href="/fr/docs/Mozilla/Tech/XPCOM">XPCOM</a></li>
<li><a href="/fr/docs/Mozilla/Tech/XUL">XUL</a></li>
</ol>
</details>
</li>
<li class="toggle">
<details>
<summary>Développer et contribuer</summary>
<ol>
<li><a href="/fr/docs/Mozilla/Developer_guide/Build_Instructions">Instructions de compilation</a></li>
<li><a href="/fr/docs/Mozilla/Developer_guide/Build_Instructions/Configuring_Build_Options">Configuration des options de compilation</a></li>
<li><a href="/fr/docs/Mozilla/Developer_guide/Build_Instructions/How_Mozilla_s_build_system_works">Fonctionnement de la compilation</a></li>
<li><a href="/fr/docs/Mozilla/Developer_guide/Source_Code/Mercurial">Code source de Mozilla</a></li>
<li><a href="/fr/docs/Mozilla/Localization">Localisation</a></li>
<li><a href="/fr/docs/Mozilla/Mercurial">Mercurial</a></li>
<li><a href="/fr/docs/Mozilla/QA">Assurance qualité</a></li>
<li><a href="/fr/docs/Mozilla/Using_Mozilla_code_in_other_projects">Utilisation de code Mozilla dans d'autres projets</a></li>
</ol>
</details>
</li>
</ol>
</section></div><p>Firefox 8, basé sur Gecko 8.0, est sorti le 8 novembre 2011. Cet article fournit des informations à la fois pour les developpeurs Web et pour les développeurs d'extensions et de projets liés à Mozilla pour aider à tirer pleinement parti des fonctionnalités de cette version.</p>
<h2 id="Changements_pour_les_développeurs_Web">Changements pour les développeurs Web</h2>
<h3 id="HTML">HTML</h3>
<ul>
<li>La propriété <code>crossOrigin</code> a été ajouté à <a href="/fr/docs/Web/API/HTMLImageElement" title="L'interface HTMLImageElement fournit des propriétés et des méthodes spéciales pour manipuler la mise en page et la présentation des éléments <img> ."><code>HTMLImageElement</code></a> et l'attribut <code><a href="/fr/docs/Web/HTML/Element/img#attr-crossorigin">crossorigin</a></code> a été ajouté à l'élément <a href="/fr/docs/Web/HTML/Element/img" title="L'élément HTML <img> permet de représenter une image dans un document. Cet élément est un élément remplacé."><code><img></code></a> (voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=664299" title="FIXED: Add crossorigin attribute">bug 664299</a>).</li>
<li>La méthode <a href="/fr/docs/Web/API/HTMLSelectElement#add()" title=""><code>HTMLSelectElement.add()</code></a> supporte désormais supporte désormais soit un élément ou soit l'index d'un élément auquel un nouvel élément doit être inséré avant. Auparavant, seulement un élément était supporté (voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=666200" title="FIXED: support select.add(element, long before)">bug 666200</a>).</li>
<li>Le constructeur <code>HTMLIsIndexElement</code> a été retiré. Aucun éléments n'a implémenté cette interface depuis Firefox 4.</li>
<li>la fonctionnalité HTML5 "menu contextuel" (attribut <code>contextmenu</code>), qui vous permet d'ajouter des éléments personnalisés particuliers au menu contextuel d'origine, est désormais supportée (l'implémentation est encore expérimentale en attendant des changements dans la spécification (voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=617528" title='FIXED: implement the HTML5 "context menu" feature (contextmenu attribute)'>bug 617528</a>).</li>
<li>Le support de l'attribut <a class="internal" href="https://developer.mozilla.org/fr/docs/HTML/Global_attributes#accesskey" title="Global attributes#accesskey"><code>accesskeylabel</code></a> a été ajouté à tous les éléments.</li>
<li>les éléments <a href="/fr/docs/Web/HTML/Element/input" title="L'élément HTML <input> est utilisé pour créer un contrôle interactif dans un formulaire web qui permet à l'utilisateur de saisir des données. Les saisies possibles et le comportement de l'élément <input> dépend fortement de la valeur indiquée dans son attribut type."><code><input></code></a> et <a href="/fr/docs/Web/HTML/Element/textarea" title="L'élément HTML <textarea> représente un contrôle qui permet d'éditer du texte sur plusieurs lignes."><code><textarea></code></a> supportent désormais l'attribut <code>selectionDirection</code>, et leurs méthodes <code>setSelectionRange()</code> ont été mises à jour pour supporter éventuellement la spécification d'une direction.</li>
<li>La plupart des éléments peuvent désormais obtenir une bague de focalisation établie autour d'eux s'ils ont été faits pouvant recevoir le focus via l'attribut <code>tabindex</code> et que l'utilisateur se concentre ensuite sur l'élément.</li>
<li>Dans un ensemble d'éléments <a href="/fr/docs/Web/HTML/Element/label" title="L'élément HTML <label> représente une légende pour un objet d'une interface utilisateur. Il peut être associé à un contrôle en utilisant l'attribut for ou en plaçant l'élément du contrôle à l'intérieur de l'élément <label>. Un tel contrôle est appelé contrôle étiqueté par l'élément <label>."><code><label></code></a> imbriqués, cliquer sur les événements ne déclencheront plus plusieurs éléments, qui, avant, provoquaient un blocage de Firefox (voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=646157" title="FIXED: Stops responding when selecting a checkbox on the Netapp admin page inside deeply nested <label>s">bug 646157</a>).</li>
</ul>
<h3 id="DOM">DOM</h3>
<ul>
<li>La méthode <a href="/fr/docs/Web/API/Element/insertAdjacentHTML" title="insertAdjacentHTML() analyse le texte spécifié en tant que HTML ou XML et insère les noeuds résultants dans le DOM à la position spécifiée. L'élement qui est utilisé n'est pas réanalysé et les élements qu'il contient ne sont donc pas corrompus. Ceci, et le fait d'éviter la sérialisation supplémentaire, rend la fonction plus rapide et directe que innerHTML."><code>insertAdjacentHTML</code></a> a été implémentée.</li>
<li><a href="/fr/docs/Web/API/BlobBuilder" title="L'interface BlobBuilder fournit une manière simple de construire des objets Blob. Il suffit de créer un BlobBuilder et de lui ajouter des données en appellant la méthode append(). Une fois finalisé, l'appel à la méthode getBlob() permet de récupérer un Blob contenant les données envoyées au constructeur dudit Blob."><code>BlobBuilder</code></a> dispose désormais d'une méthode <code>getFile()</code> qui renvoie le contenu du blob dans un fichier.</li>
<li>L'interface <a href="/fr/docs/Web/API/FileReaderSync" title="Cette documentation n'a pas encore été rédigée, vous pouvez aider en contribuant !"><code>FileReaderSync</code></a> (partie de FileAPI) a été implementée.</li>
<li>La gestion des évènements par les <a href="/fr/docs/Web/HTML/Element/label" title="L'élément HTML <label> représente une légende pour un objet d'une interface utilisateur. Il peut être associé à un contrôle en utilisant l'attribut for ou en plaçant l'élément du contrôle à l'intérieur de l'élément <label>. Un tel contrôle est appelé contrôle étiqueté par l'élément <label>."><code><label></code></a> imbriqués a été fixée.</li>
<li>Vous pouvez maintenant utiliser <a href="/fr/docs/Web/API/Window/postMessage" title="La méthode window.postMessage permet une communication inter-domaine en toute sécurité. Normalement, les scripts de différentes pages sont autorisés à accéder les uns aux autres si et seulement si les pages depuis lesquelles ils sont exécutés ont des URL de même origine, c'est-à-dire avec le même protocole (généralement http ou https), le même numéro de port (80 étant le port par défaut pour http), et le même nom d'hôte (à condition que document.domain soit initialisé à la même valeur par les deux pages). window.postMessage fournit un mécanisme contrôlé pour contourner cette restriction d'une manière sécurisée si bien utilisée."><code>window.postMessage()</code></a> pour passer les objets <a href="/fr/docs/Web/API/File" title="L'objet File fournit un tableau contenant des informations sur l'accès au contenu du ou des fichiers selectionnés, des informations sur le type mime, la taille, le nom des fichiers ainsi que le nombre de fichiers selectionnés. Ils sont généralement extraits d'un objet FileList retourné comme résultat lors de la sélection des fichiers en utilisant un input de type file, ou à partir d'un objet DataTransfer lors d'un glisser-déposer."><code>File</code></a> et <a href="/fr/docs/Web/API/FileList" title="Un objet de ce type est retourné par la propriété files, ce qui vous permet d'accéder à la liste des fichiers sélectionnés avec l'élément <input type="file">.ou en utilisant l'API de glisser-déposer ; voir l'objet DataTransfer pour plus de détails sur cette utilisation."><code>FileList</code></a> entre les fenêtres.</li>
<li>Lors de l'édition de zones <a href="/fr/docs/Web/API/Element/contenteditable" title="Cette documentation n'a pas encore été rédigée, vous pouvez aider en contribuant !"><code>element.contenteditable</code></a> la sortie d'une position en appuyant sur retour, ou à la sortie d'une liste en mode édition en appuyant sur retour à deux reprises, revient maintenant au mode d'entrée au paragraphe (c'est-à-dire les paragraphes à l'intérieur des blocs <a href="/fr/docs/Web/HTML/Element/p" title="L'élément HTML <p> représente un paragraphe de texte. Les paragraphes sont généralement représentés comme des blocs et séparés par un espace vertical, leur première ligne est également parfois indentée. Les paragraphes sont des éléments blocs."><code><p></code></a>) au lieu de lignes de séparation par les éléments <a href="/fr/docs/Web/HTML/Element/br" title="L'élément HTML <br> crée un saut de ligne (un retour chariot) dans le texte. Il s'avère utile lorsque les sauts de ligne ont une importance (par exemple lorsqu'on écrit une adresse ou un poème)."><code><br></code></a>.</li>
<li>Correction d'un bug empêchant la justification de la prise d'effet correcte lorsqu'elle est appliquée à la première ligne dans une zone <a href="/fr/docs/Web/API/Element/contenteditable" title="Cette documentation n'a pas encore été rédigée, vous pouvez aider en contribuant !"><code>element.contenteditable</code></a>.</li>
<li>Correction d'un bug qui faisait que en appuyant sur Suppr ou Retour arrière au début d'une zone <a href="/fr/docs/Web/API/Element/contenteditable" title="Cette documentation n'a pas encore été rédigée, vous pouvez aider en contribuant !"><code>element.contenteditable</code></a> affectait le bloc <code>contenteditable</code> précédent s'il était présent.</li>
<li><a href="/fr/docs/Web/API/Document/getSelection" title="Cette méthode fonctionne de manière identique à la méthode Window.getSelection() ; elle renvoie un objet Selection représentant le texte actuellement sélectionné dans le document."><code>document.getSelection()</code></a> renvoie désormais l'objet <code>Selection</code> identique à <a href="/fr/docs/Web/API/Window/getSelection" title="Renvoie un objet selection représentant le ou les objets sélectionnés."><code>window.getSelection()</code></a>, à la place de <em>stringifying</em>.</li>
<li>La propriété HTML5 <code>selectionDirection</code> permet de définir la direction de la sélection dans un texte éditable.</li>
<li><a href="/fr/docs/Web/API/HTMLMediaElement" title="L'interface HTMLMediaElement ajoute à HTMLElement les propriétés et les méthodes nécessaires pour prendre en charge les fonctionnalités de base liées aux médias qui sont communes aux vidéos et aux documents audios. HTMLVideoElement et HTMLAudioElement héritent de cette interface."><code>HTMLMediaElement</code></a> a maintenant une propriété <code>seekable</code> qui retourne l'objet <a href="/fr/docs/Web/API/TimeRanges" title="L'interface TimeRanges est utilisée pour représenter un ensemble de plages de temps, principalement dans le but de savoir quelles portions du média ont été mises en mémoire tampon lors du chargement avec les éléments <audio> et <video>."><code>TimeRanges</code></a>.</li>
<li>L'attribut <code>.preload</code> de <a href="/fr/docs/Web/API/HTMLMediaElement" title="L'interface HTMLMediaElement ajoute à HTMLElement les propriétés et les méthodes nécessaires pour prendre en charge les fonctionnalités de base liées aux médias qui sont communes aux vidéos et aux documents audios. HTMLVideoElement et HTMLAudioElement héritent de cette interface."><code>HTMLMediaElement</code></a> se reflète désormais comme une <em>valeur énumérée</em>.</li>
<li>Les <a class="internal" href="https://developer.mozilla.org/en-US/docs/HTML/CORS_settings_attributes" title="CORS settings attributes">propriétés <code>crossOrigin</code></a> sont par défaut defaults to "Anonyme" quand une valeur invalide est utilisée.</li>
<li><a href="/fr/docs/Web/API/Window/navigator/cookieEnabled" title="Cette documentation n'a pas encore été rédigée, vous pouvez aider en contribuant !"><code>window.navigator.cookieEnabled</code></a> renvoie désormais correctement l'information quand le paramètre de cookie par défaut est écrasé sur la base de chaque site.</li>
</ul>
<h3 id="JavaScript">JavaScript</h3>
<ul>
<li><a class="internal" href="https://developer.mozilla.org/fr/docs/JavaScript/Référence_JavaScript/Objets_globaux/RegExp/exec" title="RegExp/exec"><code>RegExp.exec()</code></a> et <a class="internal" href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/RegExp/test" title="RegExp/test"><code>RegExp.test()</code></a> appelés sans arguments correspondent maintenant à la chaîne "undefined".</li>
<li><a class="internal" href="https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/String/search" title="String/search"><code>String.search()</code></a> et <a class="internal" href="https://developer.mozilla.org/fr/docs/JavaScript/Référence_JavaScript/Objets_globaux/String/Match" title="String/Match"><code>String.match()</code></a> appelés sans arguments ou <code>undefined</code> correspondent désormais à une chaîne vide et correspondent donc à chaque chaîne.</li>
<li>Le support des listes de surveillance a été implémenté avec les nouvelles mtéhodes (non standards) <a class="internal" href="https://developer.mozilla.org/fr/docs/JavaScript/Référence_JavaScript/Objets_globaux/Object/watch" title="Object/watch"><code>watch()</code></a> et <a class="internal" href="https://developer.mozilla.org/fr/docs/JavaScript/Référence_JavaScript/Objets_globaux/Object/unwatch" title="Object/unwatch"><code>unwatch()</code></a>.</li>
</ul>
<h3 id="CSS">CSS</h3>
<ul>
<li><a href="/fr/docs/Web/CSS/resolution" title="Le type de donnée CSS <resolution>, utilisé dans les media queries, décrit la densité de pixels d'un appareil d'affichage, c'est-à-dire sa résolution."><code>resolution</code></a> accepte désormais <a href="/fr/docs/Web/CSS/number" title="Le type de donnée CSS <number> permet de représenter des nombres entiers ou décimaux. C'est donc un type qui englobe le type de données <integer> (permettant de représenter des entiers)."><code><number></code></a>, pas seulement des valeurs <a href="/fr/docs/Web/CSS/integer" title="Le type de donnée CSS <integer> permet de représenter des nombres entiers positifs ou négatifs. Aucune unité n'est liée à la valeur. Les entiers sont utilisés dans de nombreuses propriétés CSS comme z-index, line-height, counter-increment, column-count, grid-row, repeat. Ce type est un sous-type de number."><code><integer></code></a> comme avec la spécification.</li>
<li>Les règles de césure ont été ajoutées pour de nombreuses nouvelles langues lors de l'utilisation de <a href="/fr/docs/Web/CSS/hyphens" title="La propriété hyphens indique au navigateur comment gérer les traits d'union lors des sauts de ligne. Grâce à elle, on peut empêcher l'utilisation des traits d'union en fin de ligne, contrôler quand ils sont ajoutés ou laisser le navigateur décider."><code>hyphens</code></a>.</li>
<li>Le traitement de <a href="/fr/docs/Web/CSS/background-size" title="La propriété CSS background-size définit la taille des images d'arrière-plan pour l'élément. La taille de l'image peut être contrainte, complètement ou partiellement afin de conserver ses proportions."><code>background-size</code></a> a été revu pour mieux correspondre à la spécification.</li>
<li>Dans le passé, <a href="/fr/docs/Web/CSS/text-decoration" title="Le code source de cet exemple interactif est disponible dans un dépôt GitHub. Si vous souhaitez contribuez à ces exemples, n'hésitez pas à cloner https://github.com/mdn/interactive-examples et à envoyer une pull request !"><code>text-decoration</code></a> en mode quirks avait l'épaisseur de ligne et la position ajustée sur le texte descendant pour correspondre à la descendance. Désormais le mode standard et le mode quirks ont un rendu plus proche.</li>
<li>Le positionnement horizontal des éléments est davantage conforme à la spécification dans beaucoup de cas. La documentation est à venir, mais pour l'instant, pour plus de détails voir le commentaire 23 du <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=682780" title="jig.com looks different in aurora vs. firefox">bug 682780</a>.</li>
<li><a class="internal" href="https://developer.mozilla.org/en-US/docs/CSS/Scaling_of_SVG_backgrounds" title="Scaling of SVG backgrounds">Les images SVG sont désormais correctement mise à l'échelle</a> lorsqu'elles sont utilisées comme images de fond.</li>
</ul>
<h3 id="Réseau">Réseau</h3>
<ul>
<li>Les doubles guillemets ne sont plus acceptés en tant que délimiteur pour l'encodage <a href="https://tools.ietf.org/html/rfc2231">RFC 2231</a> ou <a href="https://tools.ietf.org/html/rfc5987">RFC 5987</a>, conformément à ces RFCs.</li>
<li>Le parseur MIME du champ d'en-tête (<code>Content-Disposition</code>) exige désormais "=" dans les paramètres.</li>
<li>Les scripts ne sont plus téléchargés lorsque JavaScript est désactivé.</li>
<li>SSL 2.0 n'est plus supporté.</li>
</ul>
<h3 id="WebSockets">WebSockets</h3>
<ul>
<li>La méthode <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/WebSocket#send()" title="WebSocket#send()"><code>send()</code></a> de l'objet <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/WebSocket" title="WebSocket"><code>WebSocket</code></a> ne renvoie plus à tort une valeur booléenne.</li>
<li>La méthode <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/WebSocket#close()" title="WebSocket#close()"><code>close()</code></a> de l'objet <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/WebSocket" title="WebSocket"><code>WebSocket</code></a> correspond désormais à la version actuelle du standard, et les événements proches utilisent à présent correctement l'interface <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/CloseEvent" title="CloseEvent"><code>CloseEvent</code></a>.</li>
<li>L'attribut <code>extensions</code> de l'objet <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets/WebSockets_reference/WebSocket" title="WebSocket"><code>WebSocket</code></a> est à présent supporté.</li>
<li>Le constructeur WebSocket supporte désormais un ensemble de protocoles ainsi que la chaîne d'un seul protocole.</li>
<li>Le contenu mixte n'est pas autorisé avec WebSockets, vous ne pouvez plus établir une connexion vers un serveur WebSocket non sécurisé à partir d'un contenu sécurisé.</li>
<li>Les erreurs de connexion avec WebSockets déclenchent à présent le gestionnaire <code>onerror</code>.</li>
<li>L'API <a class="internal" href="https://developer.mozilla.org/en-US/docs/WebSockets" title="en/WebSockets">WebSocket</a> a été mise à jour suivant la dernière version de la spécification (voir <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674890" title="FIXED: Update WebSocket API to latest draft - send() should return void">bug 674890</a>, <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674527" title="FIXED: Update WebSocket API to latest draft - array of protocols in ctor">bug 674527</a> et <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=674716" title="FIXED: Update WebSocket API to latest draft - close codes and reasons">bug 674716</a>).</li>
<li>L'extension deflate-stream pour WebSockets a été désactivée, elle est obsolète et a cassée la compatibilité avec quelques sites.</li>
</ul>
<h3 id="WebGL">WebGL</h3>
<ul>
<li><a class="internal" href="https://developer.mozilla.org/en-US/docs/WebGL/Cross-Domain_Textures" title="Cross-Domain Textures">Les textures Cross-domain</a> sont à présent autorisées avec l'accord de CORS.</li>
<li>Le processus de rendu Cross avec Direct2D/Direct3D 10.</li>
</ul>
<h3 id="MathML">MathML</h3>
<ul>
<li>le support de l'attribut <code>displaystyle</code> sur l'élément de premier niveau <code><a href="/fr/docs/Web/MathML/Element/math" title="<math>"><math></a></code> a été ajouté.</li>
<li>L'interprétation de numéros de lignes négatifs pour l'attribut <code>align</code> de <code><a href="/fr/docs/Web/MathML/Element/mtable" title="<mtable>"><mtable></a></code> a été corrigée.</li>
</ul>
<h3 id="Outils_de_développement">Outils de développement</h3>
<ul>
<li>L'objet <a class="internal" href="https://developer.mozilla.org/en-US/docs/Tools/Web_Console#The_console_object" title="Using the Web Console#The console object"><code>console</code></a> a une nouvelle méthode <code>dir()</code>, qui affiche une liste interactive des propriétés sur un objet spécifié.</li>
</ul>
<h2 id="Changements_pour_les_développeurs_de_Mozilla_et_de_modules_complémentaires">Changements pour les développeurs de Mozilla et de modules complémentaires</h2>
<p>Voir <a class="internal" href="https://developer.mozilla.org/en-US/docs/Firefox/Updating_add-ons_for_Firefox_8" title="Updating add-ons for Firefox 8">Updating add-ons for Firefox 8</a> pour vous guidez dans les modifications que vous êtes susceptibles d'avoir à faire pour rendre vos extensions compatibles avec Firefox 8.</p>
<div class="note"><strong>Note:</strong> Firefox 8 requiert que les composants binaires soient recompilés, comme pour toutes les versions majeures de Firefox. Pour plus de détails, voir <a class="internal" href="https://developer.mozilla.org/en-US/docs/Developer_Guide/Interface_Compatibility#Binary_Interfaces" title="Interface Compatibility#Binary Interfaces">Interfaces Binaires</a>.</div>
<h3 id="XPCOM">XPCOM</h3>
<dl>
<dt><a class="internal" href="https://developer.mozilla.org/fr/docs/Components.utils" title="fr/Components.utils"><code>Components.utils</code></a></dt>
<dd>Les nouvelles méthodes <a class="internal" href="https://developer.mozilla.org/fr/docs/Components.utils.createObjectIn" title="Components.utils.createObjectIn"><code>Components.utils.createObjectIn()</code></a> et <a class="internal" href="https://developer.mozilla.org/fr/docs/Components.utils.makeObjectPropsNormal" title="Components.utils.makeObjectPropsNormal"><code>Components.utils.makeObjectPropsNormal()</code></a> ont été créées pour faciliter la création d'objets dans des compartiments spécifiques.</dd>
</dl>
<h4 id="Autres_changements_relatifs_à_XPCOM">Autres changements relatifs à XPCOM</h4>
<ul>
<li>Vous pouvez à présent demander des objets DOM <a href="/fr/docs/Web/API/File" title="L'objet File fournit un tableau contenant des informations sur l'accès au contenu du ou des fichiers selectionnés, des informations sur le type mime, la taille, le nom des fichiers ainsi que le nombre de fichiers selectionnés. Ils sont généralement extraits d'un objet FileList retourné comme résultat lors de la sélection des fichiers en utilisant un input de type file, ou à partir d'un objet DataTransfer lors d'un glisser-déposer."><code>File</code></a> à partir d'éléments du code en faisant simplement un nouveau fichier, au lieu de devoir demander directement à <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMFile" title="">nsIDOMFile</a></code>.</li>
<li>Le type de tableau <code>nsTPtrArray</code> a été retiré. La fonctionnalité est désormais disponible sur tous les <code>nsTArray</code>, qui propose désormais la méthode <code>SafeElementAt()</code> lors d'une demande à l'aide d'un type de pointeur. Voir la section sur <a class="internal" href="https://developer.mozilla.org/en-US/docs/XPCOM_array_guide#Bounds-safe_access_to_elements" title="XPCOM array guide#Bounds-safe access to elements"><code>SafeElementAt()</code></a> dans le <a class="internal" href="https://developer.mozilla.org/en-US/docs/XPCOM_array_guide" title="XPCOM array guide">guide des tableaux XPCOM</a> pour plus de détails.</li>
</ul>
<h3 id="Workers">Workers</h3>
<p>Il n'est plus possible d'accéder à des objets XPCOM depuis ChromeWorkers. XPConnect a été désactivé dans le contexte des travailleurs comme indiqué par le <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=649537" title="FIXED: Workers: Make one OS thread and JS runtime per worker, and lose XPConnect">bug 649537</a>.</p>
<h3 id="XUL">XUL</h3>
<ul>
<li>Un bug dans <a href="/fr/docs/Web/API/Document/execCommand" title="La plupart des commandes affectent la sélection du document (gras, italique, etc.), tandis que d'autres ajoutent de nouveaux éléments (ajout d'un lien) ou affectent une ligne entière (indentation). Lorsque vous utilisez contentEditable, l'appel execCommand() affectera l'élément modifiable actuellement actif."><code>document.execCommand()</code></a> a été fixé, il survenait lors de l'appel sur la valeur de <code><span><a href="http://api/fr/docs/XUL/Propriétés/contentDocument">contentDocument</a></span></code>. Depuis Firefox 3, cela a entraîné des erreurs au lieu d'un travail correct.</li>
<li><a class="internal" href="https://developer.mozilla.org/en-US/docs/Extensions/Bootstrapped_extensions" title="Bootstrapped extensions">Les extensions amorcées</a> peuvent à présent charger le chrome l'aide du fichier <a class="internal" href="https://developer.mozilla.org/fr/docs/Enregistrement_chrome" title="chrome.manifest"><code>chrome.manifest</code></a>. Voir la section <a class="internal" href="https://developer.mozilla.org/en-US/docs/Extensions/Bootstrapped_extensions#Adding_user_interface_with_a_chrome.manifest" title="Bootstrapped extensions#Adding user interface with a chrome.manifest">Ajout de l'interface utilisateur avec chrome.manifest</a> pour plus de détails.</li>
<li><a class="internal" href="https://developer.mozilla.org/en-US/docs/XUL/image" title="XUL/image">Les images XUL</a> rétrécissent désormais avec le même ratio dans les deux sens lors de la spécification de dimensions maximales.</li>
</ul>
<h3 id="Changements_dans_le_système_de_compilation">Changements dans le système de compilation</h3>
<ul>
<li>Les options de configuration de compilation suivantes ont été retirées :
<ul>
<li><code>--enable-timeline</code></li>
<li><code>--disable-storage</code></li>
<li><code>--necko-disk-cache</code></li>
</ul>
</li>
<li>Lors de la compilation des fichiers IDL aux en-têtes, le fichier d'en-tête <code>jspubtd.h</code> est automatiquement inclus lorsque c'est nécessaire. L'inclusion manuelle de <code>jspubtd.h</code> et/ou <code>jsapi.h</code> dans des fichiers IDL qui utilisent jsval ou [implicit_jscontext] n'est plus nécessaire.</li>
</ul>
<h3 id="Enregistrement_du_chrome">Enregistrement du chrome</h3>
<ul>
<li>L'indicateur <a class="internal" href="https://developer.mozilla.org/en-US/docs/Chrome_Registration#platformversion" title="Chrome Registration#platformversion"><code>platformversion</code></a> peut être utilisé dans le chrome.manifest pour spécifier la compatibilité entre les versions de Gecko.</li>
</ul>
<h3 id="Changements_dans_les_interfaces">Changements dans les interfaces</h3>
<ul>
<li>La méthode <code><a href="http://api/fr/docs/XPCOM_Interface_Reference/mozIJSSubScriptLoader#loadSubScript()">mozIJSSubScriptLoader.loadSubScript()</a></code> charge désormais scripts à partir du cache de démarrage lorsque c'est possible.</li>
<li>L'attribut <code>ownerWindow</code> a été supprimé de l'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIAccessNode" title="">nsIAccessNode</a></code>.</li>
<li>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMStorageWindow" title="">nsIDOMStorageWindow</a></code> a été fusionnée avec l'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindow" title="">nsIDOMWindow</a></code>.</li>
<li>Tous les membres de l'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindowInternal" title="">nsIDOMWindowInternal</a></code> ont été déplacés dans l'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDOMWindow" title="">nsIDOMWindow</a></code>. L'interface (sans les membres) reste disponible pour la compatibilité jusqu'à Firefox 9.</li>
<li>Afin d'améliorer les performances, le rappel pour les mises à jour asynchrones des bases de données Places a été changé. Voir les nouvelles méthodes <code><a href="http://api/fr/docs/XPCOM_Interface_Reference/mozIVisitInfoCallback#handleResult()">mozIVisitInfoCallback.handleResult()</a></code> et <code><a href="http://api/fr/docs/XPCOM_Interface_Reference/mozIVisitInfoCallback#handleError()">mozIVisitInfoCallback.handleError()</a></code>, qui remplacent l'ancienne unique méthode pour les erreurs et les conditions de succès.</li>
<li>L'attribut <code>KIND_MAPPED</code> de <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporter" title="">nsIMemoryReporter</a></code> a été désapprouvé au profit de <code>KIND_NONHEAP</code>, de nouveaux types d'unités ont été ajoutées : <code>UNITS_COUNT_CUMULATIVE</code> et <code>UNITS_PERCENTAGE</code>.</li>
<li>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporterManager" title="">nsIMemoryReporterManager</a></code> a un nouvel attribut <code>explicit</code>, qui indique explicitement la taille totale des allocations de mémoire.</li>
<li>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIMemoryReporterManager" title="">nsIMemoryReporterManager</a></code> a un nouvel attribut <code>resident</code>, qui relève la quantité de mémoire physique utilisée.</li>
<li>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsINetworkLinkService" title="">nsINetworkLinkService</a></code> a un nouvel attribut, <code>linkType</code>. Cet attribut indique le type de connexion réseau en cours d'utilisation. Tous les systèmes d'exploitation retournent actuellement <code>LINK_TYPE_UNKNOWN</code>. Le support d'Android a été gardé pour des raisons de sécurité.</li>
<li>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelection2" title="">nsISelection2</a></code> a été fusionnée avec l'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelectionPrivate" title="">nsISelectionPrivate</a></code>.</li>
<li>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelection3" title="">nsISelection3</a></code> a été fusionnée avec l'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISelection" title="">nsISelection</a></code>.</li>
<li>L'attribut <code>state</code> de <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISessionStartup" title="">nsISessionStartup</a></code> est désormais de type <a class="internal" href="https://developer.mozilla.org/en-US/docs/SpiderMonkey/JSAPI_Reference/Jsval" title="jsval"><code>jsval</code></a> au lieu d'être une chaîne, pour des raisons de performance.</li>
<li>L'état de l'attribut <code>isActive</code> de (<code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIDocShell" title="">nsIDocShell</a></code>) est désormais <code>false</code> pour les fenêtres minimisées.</li>
<li>La méthode <code><a href="http://api/fr/docs/XPCOM_Interface_Reference/nsIDownloadHistory#addDownload()">nsIDownloadHistory.addDownload()</a></code> enregistre désormais la cible de l'endroit où le téléchargement est sauvegardé, sur le système de fichiers local.</li>
</ul>
<h4 id="Interfaces_supprimées">Interfaces supprimées</h4>
<p>Les interfaces suivantes ont été supprimées car elles n'étaient plus indispensables :</p>
<ul>
<li><code>nsITimelineService</code></li>
<li><code>nsIDOMHTMLIsIndexElement</code></li>
</ul>
<p>L'interface <code><a href="/fr/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsIWorkerFactory" title="">nsIWorkerFactory</a></code> a également été retirée. WLes travailleurs peuvent encore être créés à l'aide des constructeurs <code>Worker</code> et <code>ChromeWorker</code>.</p>
<h3 id="Autres_changements">Autres changements</h3>
<ul>
<li>Quand une fenêtre est minimisée (non réduite), ou basculée entre le plein écran et le mode fenêtré, elle reçoit l'événement <code>sizemodechange</code>.</li>
<li>You can now <a class="internal" href="https://developer.mozilla.org/en-US/docs/Installing_extensions#Preventing_automatic_install_from_specific_locations" title="en/Installing_extensions#Preventing_automatic_install_from_specific_locations">la préférence <code>extensions.autoDisableScopes</code></a> pour désactiver l'installation automatique d'extensions sur un emplacement d'installation.</li>
<li>La nouvelle propriété <a href="/fr/docs/Web/API/Document/mozSyntheticDocument" title="Indique si le document est synthétique ou non ; c'est-à-dire un document représentant une image autonome, une vidéo, un son ou analogue."><code>document.mozSyntheticDocument</code></a> des objets <a href="/fr/docs/Web/API/Document" title="L'interface Document représente n'importe quelle page Web chargée dans le navigateur et sert de point d'entrée dans le contenu de la page Web, qui est l'arborescence DOM. L'arborescence DOM inclut des éléments tels que <body> (corps) et <table> (tableau), parmi beaucoup d'autres. Il fournit des fonctionnalités globales au document, comme le moyen d'obtenir l'URL de la page et de créer de nouveaux éléments dans le document."><code>Document</code></a> vous permet de déterminer si un document est synthétique (comme une image, une vidéo ou un fichier audio) plutôt qu'un document DOM standard. Cela peut être utile, par exemple, si vous voulez présenter une interface utilisateur différente dans cette situation (comme l'ajout d'éléments contextuels différemment selon le cas présent).</li>
<li>Vous pouvez désormais spécifier un filtre en ouvrant <code>about:config</code> ; par exemple, "about:config?filter=sessionstore" n'affichera que les préférences liées au stockage des sessions.</li>
</ul>
<h2 id="Voir_également">Voir également</h2>
<div class="multiColumnList">
<ul>
<li><a href="/fr/docs/Mozilla/Firefox/Versions/7">Firefox 7 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/6">Firefox 6 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/5">Firefox 5 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/4">Firefox 4 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/3.6">Firefox 3.6 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/3.5">Firefox 3.5 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/3">Firefox 3 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/2">Firefox 2 pour les développeurs</a></li><li><a href="/fr/docs/Mozilla/Firefox/Versions/1.5">Firefox 1.5 pour les développeurs</a></li></ul>
</div>
|