Please note, this is a STATIC archive of website developer.mozilla.org from 03 Nov 2016, cach3.com does not collect or store any user information, there is no "phishing" involved.

Firefox 10 pour les développeurs

Firefox 10, basé sur Gecko 10.0, est sorti le 31 janvier 2012. Cet article fournit des informations sur les nouvelles fonctionnalités et les principaux bugs corrigés, ainsi que des liens vers une documentation plus détaillée pour les développeurs web et d'extensions.

Note importante : Firefox 10 est la première version avec deux chiffres. Cela peut entraîner des problèmes avec certains scripts UA-renifleur. N'oubliez pas de les vérifier, et ceux énoncés dans la 3e partie du logiciel que vous incorporez dans vos pages, comme les bibliothèques. Pour plus d'informations à ce sujet, regardez l'article Firefox goes 2-digit sur hack.mozilla.org.

Changements pour les développeurs Web

HTML

  • Le nouvel élément HTML5 <bdi>, d'isolement bi-directionnel, permettant d'isoler certaines parties de texte avec un sens d'écriture différent, a été implémenté. C'est surtout utile pour afficher du texte avec une directivité inconnue provenant d'une base de données, par exemple, dans le milieu de texte avec une connue, et éventuellement, une différente.
  • Vous pouvez désormais spécifier un fragment de "top" pour l'attribut href pour créer un lien vers le haut de la page. Cette habitude de travail a disparu pendant un certain temps et est à présent de retour, pour la compatibilité avec la spécification HTML5. Par exemple : <a href="#top">Retour en haut de la page</a>.

JavaScript

  • La méthode WeakMap.set() retourne désormais undefined, au lieu de lui-même.
  • Un bug a été introduit dans le traitement des expressions régulières dans Firefox 7, il a été corrigé. Voir le bug 683838.
  • Vous ne pouvez plus utiliser E4X en mode strict de l'ECMAScript 5.

DOM

Evènements DOM3

DOM4

  • L'attribut document.xmlVersion (qui n'était pas réglable) a été supprimé comme il a été retiré de la spécification DOM4. L'article de document.xmlVersion propose désormais un moyen de détecter si le document est HTML ou XML sans utiliser cette propriété.
  • L'attribut document.xmlStandalone a été supprimé comme il a été retiré de la spécification DOM4.
  • L'attribut document.xmlEncoding a été supprimé comme il a été retiré de la spécification DOM4.
  • L'attribut text.isElementContentWhiteSpace a été supprimé comme il a été retiré de la spécification DOM4.
  • La méthode text.replaceWholeText a été supprimé comme il a été retiré de la spécification DOM4.
  • La méthode node.isSameNode a été supprimé comme il a été retiré de la spécification DOM4. Au lieu de node1.isSameNode(node2), vous pouvez simplement utiliser l'opérateur ===, comme ceci : node1 === node2.

API Page Visibility

  • L'API Page Visibility a été implémentée (prefixée): document.mozHidden et document.mozVisibilityState sont disponibles et l'évènement mozvisibilitychanged est envoyé quand l'état est modifié.

API Full Screen

API Battery

  • Le support expérimental de window.navigator.mozBattery a été ajouté (peut-être activé en réglant la préférence dom.battery.enabled à true et sera activé par défaut à partir de Firefox 11).

Canvas

  • La méthode createPattern() renvoie désormais une exception si la source d'un canvas spécifié a une taille nulle.
  • Si vous utilisez une valeur non-finie pour l'un des paramètres numériques de putImageData(), l'appel est désormais silencieusement ignoré au lieu de renvoyer une exception, conformément à la spécification.

WebGL

Web Workers

  • Les attributs XMLHttpRequest.responseType et XMLHttpRequest.response sont désormais disponibles à partir de l'intérieur d'un Workers.
  • Le constructeur Worker() accepte à présent les données des URIs.

IndexedDB

D'importants progrès ont été réalisés pour mettre à jour IndexedDB à la dernière version de la spécification. Cet effort sera poursuivi dans Firefox 11.

Autres

  • Quand le bon type de MIME est transmis, image/svg+xml, le DOMParser créé désormais un SVGDocument lorsqu'il est administre une chaîne avec SVG.
  • Dans le passé, quand element.setAttribute() analysait les entiers, il signalait une erreur si l'entier comprenait des caractères non-numériques (par exemple "42foo"). A présent, il tronque correctement que le nombre 42, conformément à la spécification.
  • La touche ESC ne donne plus de résultats incorrects dans le gestionnaire window.oninput ayant été mal appelé.
  • L'interface NameList n'est plus implémentée, il y a déjà eu une implémentation mais sans aucun moyen d'accès.
  • La méthode document.createProcessingInstruction() fonctionne désormais sur les documents HTML ainsi que sur les documents XML. Les noeuds de ProcessingInstruction sont toujours supportés mais uniquement sur les documents XML, mais comme les noeuds peuvent être déplacés entre les documents, il est aussi utile d'être capable de les créer sur les documents HTML.
  • XMLHttpRequest responseType "moz-json" introduit dans Firefox 9 a été mis à jour suivant la dernière version de la spécification et n'est plus préfixé (voir bug 707142#c13).

CSS

  • Les transformations CSS 3D sont à présent supportés. Cela inclut le support des propriétés transform-style, perspective, perspective-origin et backface-visibility, ainsi que la fonction de transformation 3D dans les propriétés transform et transform-function. Voir Utilisation des transformations CSS pour plus de détails.
  • Deux nouvelles valeurs pour la propriété CSS unicode-bidi ont été ajoutées : -moz-isolation et -moz-plaintext. La valeur d'isolement -moz-isolation, à partir de la directionnalité d'un point, l'élément à partir de son environnement, le laisse avoir une directivité différente. Un élément avec unicode-bidi:-moz-isolation se comporte comme un élément <bdi>. -moz-plaintext indique au navigateur d'utiliser l'heuristique navigation avec Unicode pour déterminer la direction et pas la propriété CSS direction.
  • Les propriétés CSS linear-gradient et repeating-linear-gradient ont été mises à jour pour supporter la nouvelle syntaxe to et l'algorithme magic corner. Cela permet de donner une couleur précise sur le coin d'une boîte remplie de dégradé.
  • La manipulation de la propriété text-overflow dans le cas où les dépassements sont des deux côtés de la boîte alors que la propriété text-overflow est définie pour déborder sur un seul a été corrigé.
  • La manipulation de la propriété position sur les éléments positionnés à l'intérieur des éléments <table> a été corrigée. Ce changement affectera la présentation des pages, mais maintenant nous allons respecter la spécification CSS et les autres navigateurs, ce qui devrait faciliter la correction.
  • La fusion des marges autour des éléments <table> a été corrigée conformément à la spécification CSS. Auparavant, les marges des éléments de tableau ne se sont effondrées en même temps avec d'autres éléments adjacents, conduisant à une disposition incorrecte. Ce changement affectera la présentation des pages, mais maintenant nous allons respecter la spécification CSS et les autres navigateurs, ce qui devrait faciliter la correction.

SVG

  • L'élément <mask> a été mis à jour pour supporter à la fois sRGB et linearRGB, et désormais sRGB par défaut, conformément à la dernière révision de la spécification SVG 1.1.

Réseau

  • L'en-tête HTTP Accept-Charset n'est plus envoyée dans les requêtes HTTP. En son absence, les serveurs doivent répondre en envoyant UTF-8.

Outils de développement

Changements pour les développeurs de Mozilla et de modules complémentaires

Pour un aperçu des modifications à apporter pour rendre vos extensions compatibles avec Firefox 10, voir Updating add-ons for Firefox 10.

Note : L'ancien type de données PRBool a été retiré ! Partout dans la documentation qui fait référence à ce dernier utilise désormais à la place le type bool de la norme C++. La documentation sera mise à jour dans le futur, mais pour l'instant, il faut le garder en tête.

Manifestes

  • Le support de <em:strictCompatibility> a été ajouté à l'installation des manifestes. Il permet aux auteurs d'add-ons d'activer la vérification de la version maximale de leur extension. Si true est défini, l'extension sera désactivée si la version de l'application est supérieure à <em:maxVersion>. Par défaut les extensions sont compatibles avec Firefox 10, quelle que soit leur version maximale spécifiée. Cet indicateur remplace la préférence. Vous devez configurer cette option si votre extension fait des choses qui risquent d'être brisées par les mises à jour de Firefox, mais pas si votre module a un composant binaire, puisque ces modules sont toujours strictement vérifiés (rappelez-vous que les composants binaires doivent toujours être recompilés pour chaque version majeure de Firefox).
  • Si vous souhaitez revenir à l'ancien comportement -- qui est, la vérification stricte de la compatibilité de toutes les extensions, quelle que soit la valeur de l'indicateur strictCompatibility dans leurs manifestes, vous pouvez définir la préférence extensions.strictCompatibility à true.

XUL

XPConnect

  • Plusieurs nouvelles propriétés et méthodes ont été ajoutées à Components.utils, accordant l'accès à un assortiment d'informations relatives au débogage.

Changements dans les interfaces

  • Les interfaces mozISpellCheckingEngine et nsIEditorSpellCheck ont été mises à jour pour permettre le redémarrage de moins de modules pour ajouter des dictionnaires pour le correcteur orthographique.
  • L'attribut nsIBrowserHistory.lastPageVisited a été retiré.
  • L'interface nsIDocumentViewer a été intégrée dans nsIContentViewer.
  • L'interface nsIURIFixup a un nouvel indicateur, FIXUP_FLAG_USE_UTF8, qui vous permet de lui dire d'utiliser UTF-8 au lieu de la plate-forme de jeu de caractères, lors de conversions.

Changement pour les plug-ins

Changements dans le système de compilation

  • L'option de compilation --disable-rdf, qui fait qu'il est impossible de réussir à compiler, a été supprimée. Les travaux se poursuivent sur ​​la possibilité de supprimer entièrement le support de RDF, mais actuellement XUL nécessite encore qu'il soit fonctionnel. Consultez le bug 559505 pour les progrès de la suppression des dernières traces de RDF.
  • L'option de compilation --disable-smil a été supprimée.

Voir également

Étiquettes et contributeurs liés au document

Étiquettes : 
 Contributeurs à cette page : tregagnon, FredB, the prisoner
 Dernière mise à jour par : tregagnon,