Firefox 3.5 pour les développeurs
Firefox 3.5 introduit un certain nombre de nouvelles fonctionnalités, ainsi qu'une gestion améliorée d'une grande variété de standards du Web. Cet article en fournit une longue liste, avec des liens vers des articles décrivant les améliorations majeures.
Nouvelles fonctionnalités pour les développeurs dans Firefox 3.5
Pour les développeurs de sites et d'applications web
HTML5
- Utilisation d'audio et vidéo dans Firefox
-
Firefox 3.5 ajoute la gestion des éléments HTML5
audio
etvideo
. - Ressources hors ligne dans Firefox
-
Firefox 3.5 gère entièrement la spécification de ressources hors ligne d'HTML5.
- Glisser et déposer
-
L'API de glisser/déposer d'HTML5 permet de gérer le glisser/déposer d'éléments à l'intérieur et entre des sites web. Elle fournit également une API plus simple pour les extensions et applications basées sur Mozilla.
Nouvelles fonctionnalités CSS
- Gestion des polices téléchargeables
-
La nouvelle règle-@
@font-face
permet aux pages web de fournir des polices téléchargeables, afin qu'elles puissent être affichées exactement telles que l'auteur de la page les attend. - Requêtes de média
-
Firefox 3.5 gère les requêtes de médias, qui améliorent le traitement des feuilles de style destinées à des médias particuliers.
- Mise à jour de
:before
et:after
pour CSS 2.1 -
Les pseudo-éléments
:before
et:after
ont été mis à jour pour respecter complètement CSS 2.1, avec l'ajout des propriétésposition
,float
etlist-style-*
, ainsi que de certaines valeurs dedisplay
. - Unité de longueur
ch
-
L'unité
ch
peut à présent être utilisée à tout endroit où peut être indiquée une unité de longueur.1ch
est la largeur du caractère « 0 » (zéro). opacity
-
L'extension à CSS
-moz-opacity
de Mozilla a été supprimée en faveur de la propriété standardopacity
. text-shadow
-
La propriété
text-shadow
, qui permet à du contenu web de spécifier des effets d'ombres sur le texte et les décorations de texte est à présent gérée. word-wrap
-
Cette nouvelle propriété permet au contenu d'indiquer si oui ou non les lignes de texte peuvent être coupées au milieu d'un mot afin d'empêcher un débordement lorsqu'une chaîne normalement insécable est trop longue pour rentrer dans une seule ligne.
- Valeur
pre-line
pour la propriétéwhite-space
-
La propriété
white-space
accepte à présent la valeurpre-line
. -moz-box-shadow
-moz-border-image
-moz-column-rule
-moz-column-rule-width
-moz-column-rule-style
-moz-column-rule-color
-
La gestion de ces extensions à CSS de Mozilla a été ajoutée dans Firefox 3.5.
- La
-moz-nativehyperlinktext
-
Cette nouvelle valeur de couleur représente la couleur de lien hypertexte par défaut de l'utilisateur du système.
- La nouvelle propriété
-moz-window-shadow
et la pseudo-classe:-moz-system-metric(mac-graphite-theme)
-
Ces nouvelles fonctionnalités CSS ont été ajoutées pour faciliter la mise en place de thèmes.
- Nouvelles valeurs pour
-moz-appearance
-
Les valeurs
-moz-win-glass
et-moz-mac-unified-toolbar
ont été ajoutées à-moz-appearance
. - Utilisation des transformations CSS
-
Firefox 3.5 gère les transformations CSS. Consultez
-moz-transform
et-moz-transform-origin
pour plus de détails. :nth-child
:nth-last-child
:nth-of-type
:nth-last-of-type
:first-of-type
:last-of-type
:only-of-type
-
Ces sélecteurs sont nouvellement gérés dans Firefox 3.5
Nouvelles fonctionnalités DOM
- localStorage
-
Firefox 3.5 ajoute la gestion de la propriété
localStorage
pour le stockage web, fournissant ainsi une manière pour les applications web de stocker des données localement sur l'ordinateur du client. - Utilisation de workers DOM
-
Firefox 3.5 gère les workers DOM afin de permettre une gestion multithreadée dans les applications web.
- Utilisation de la géolocalisation
-
Firefox 3.5 gère l'API Geolocation, qui permet aux applications web d'obtenir des informations concernant l'emplacement actuel de l'utilisateur si cette information est fournie et activée dans le système.
- Identification d'éléments DOM à l'aide de sélecteurs
-
L'API Selectors permet d'interroger un document afin d'identifier les éléments correspondant à une règle de sélection donnée.
- Évènements de mouvement de souris
-
Firefox 3.5 gère les évènements de mouvements de souris dont les glissades sur un trackpad.
- L'objet
NodeIterator
-
L'objet
NodeIterator
permet de parcourir la liste de nœuds dans un sous-arbre DOM. - L'évènement MozAfterPaint
-
Ce nouvel évènement DOM est envoyé après les mises à jour de l'affichage dans les fenêtres.
- L'évènement MozMousePixelScroll
-
Ce nouvel évènement DOM permet de détecter les évènements de défilement à la souris par pixels plutôt que par ligne.
Nouvelles fonctionnalités JavaScript
- Nouveautés dans JavaScript 1.8.1
-
Un aperçu de tous les changements dans JavaScript 1.8.1.
Object.getPrototypeOf()
-
Cette nouvelle méthode renvoie le prototype d'un objet spécifié.
- Utilisation de JSON dans Firefox
-
La gestion de JSON est à présent intégrée dans le DOM.
- Nouvelles méthodes de nettoyage des espaces sur l'objet String
-
L'objet
String
dispose à présent des méthodestrim()
,trimLeft()
ettrimRight()
.
Réseau
- Contrôle d'accès entre sites pour HTTP
-
Dans Firefox 3.5, il devient possible pour les requêtes HTTP, notamment celles faites au travers d'
XMLHttpRequest
, de fonctionne entre différents domaines si le serveur le permet. - Évènements de progression pour
XMLHttpRequest
-
Des évènements de progression sont à présent émis pour permettre aux extensions de surveiller l'état des requêtes.
- Amélioration des appels
XMLHttpRequest
synchrones -
Les timeouts DOM et les évènements d'entrée sont à présent supprimés pendant un appel
XMLHttpRequest
synchrone. - Contrôle du préchargement DNS
-
Firefox 3.5 permet le préchargement DNS, par lequel il effectue la résolution des noms de domaines à l'avance pour les liens présents dans la page courante, afin de gagner du temps lorsque l'on clique effectivement sur ces liens. Cet article explique comment adapter votre site pour désactiver le préchargement, ou contrôler le comportement de ce préchargement.
Nouvelles fonctionnalités de Canvas
- API HTML5 text pour les éléments
canvas
-
Les éléments canvas gèrent à présent l'API texte d'HTML5.
- Effets d'ombres dans un
canvas
-
Les effets d'ombrages sont à présent gérés dans canvas.
createImageData()
-
La méthode
createImageData()
de canvas est à présent gérée, ce qui permet à du code de créer spécifiquement un objetImageData
plutôt que demander que ce soit fait automatiquement. Les performances d'autres méthodes d'ImageData
peuvent en être améliorées puisqu'elles n'ont pas à créer l'objet. - Attribut
moz-opaque
-
L'attribut DOM
moz-opaque
a été ajouté, ce qui permet à canvas de savoir si oui ou non la transparence devra être prise en compte. Si le canvas sait qu'il n'y a pas de transparence, les performances de dessin peuvent être optimisées.
Nouvelles fonctionnalités SVG
- Application d'effets SVG à du contenu HTML
-
Vous pouvez à présent appliquer des effets SVG à du contenu HTML et XHTML ; cet article explique comment.
Autres nouvelles fonctionnalités
- Correction de couleurs ICC dans Firefox
-
Firefox 3.5 gère à présent la correction de couleurs ICC pour les images balisées.
- L'attribut
defer
est géré sur les élémentsscript
-
Cet attribut indique au navigateur qu'il peut décider de continuer d'analyser et d'afficher la page sans attendre que le script ait terminé son exécution.
Autres améliorations
- La propriété
wholeText
et la méthodereplaceWholeText()
ont été ajoutées aux nœuds texte. - La propriété
element.children
a été ajoutée. Elle renvoie une collection d'éléments enfants de l'élément donné. - L'API Element Traversal est à présent gérée par l'objet DOM Element.
- Les nœuds HTML document peuvent à présent être clonés à l'aide de
cloneNode()
. - La méthode DOM non-standard
getBoxObjectFor()
a été supprimée. Utilisez plutôtgetBoundingClientRect()
. - Les éléments DOM dispatchés peuvent être redispatchés. Ceci permet à Firefox 3.5 de passer le test 30 d'Acid 3.
- Des améliorations ont été apportés à la gestion de DOM 2 Range.
- Dans un contexte non-chrome, les objets catchés dans les exceptions sont à présent les objets rejetés tels quels plutôt qu'une enveloppe XPConnect contenant ces objets.
- Les références ID dans SVG sont à présent directes.
- Les filtres SVG fonctionnent à présent avec
foreignObject
. - La méthode
GetSVGDocument()
a été ajoutée aux élémentsobject
etiframe
pour assurer une meilleure compatibilité. - La définition implicite de propriétés dans des initialiseurs d'objets et de tableaux n'exécute plus les mutateurs en JavaScript.
- La variable
gDownloadLastDir.path
a été renommée engDownloadLastDir.file
étant donné qu'elle fait référence à un objetnsIFile
et non à un chemin. - La variable
gDownloadLastDirPath
a été renommée engDownloadLastDirFile
étant donné qu'elle fait référence à un objetnsIFile
et non à un chemin. - À partir de Firefox 3.5, il devient impossible d'utiliser des liaisons
data:
dans les paquets chrome qui bénéficient de l'automatisationXPCNativeWrapper
.
Pour les développeurs XUL et développeurs d'applications
Si vous développez des extensions, vous devriez tout d'abord lire Mise à jour des extensions pour Firefox 3.5 qui fournit un aperçu pratique des changements qui pourraient affecter vos extensions.
Nouveaux composants et nouvelles fonctionnalités
-
Firefox 3.5 offre un mode de navigation privée, qui n'enregistre pas les activités de l'utilisateur. Les extensions peuvent gérer la navigation privée en suivant les conseils donnés dans cet article.
- Changements liés à la sécurité dans Firefox 3.5
-
Cet article détaille les changements liés à la sécurité dans Firefox 3.5.
- Changements dans les thèmes pour Firefox 3.5
-
Cet article détaille les changements liés aux thèmes dans Firefox 3.5.
- Surveillance des points d'accès WiFi
-
Le code disposant des privilèges UniversalXPConnect peut à présent surveiller la liste des points d'accès disponibles, et obtenir des informations concernant leurs SSID, adresses MAC et force du signal. Ceci peut être utilisé couplé avec la géolocalisaiton pour fournir des services locaux basés sur la présence d'un WiFi.
Changements et améliorations notables
- Le widget XUL
textbox
offre à présent un typesearch
, pour être utilisé en tant que champ de recherche. - Afin de gérer le glisser et déposer d'onglets entre les fenêtres, le widget
browser
dispose à présent d'une méthodeswapDocShells()
. - Ajout de l'attribut
level
à l'élémentpanel
; celui-ci indique si le panel apparait par dessus les autres applications, ou uniquement au-dessus de la fenêtre contenant le panel. - Les éléments XUL gèrent à présent les propriétés
clientHeight
,clientWidth
,scrollHeight
etscrollWidth
. - Les éléments
keyset
disposent à présent d'un attributdisabled
. - De plus, les
keyset
s peuvent être supprimés à l'aide de la méthoderemoveChild()
du nœud. mozIStorageStatement
a vu sa méthodeinitialize()
supprimée ; ses utilisateurs doivent utiliser la méthodecreateStatement()
à la place pour obtenir un nouvel objet statement.- L'API Storage permet à présent d'effectuer des requêtes asynchrones.
- L'interface
nsICookie2
expose à présent l'heure à laquelle les cookies ont été créés dans son nouvel attributcreationTime
. - Un flag a été ajouté à
nsIProtocolHandler
(URI_IS_LOCAL_RESOURCE
) qui est vérifié au cours d'un enregistrement chrome pour s'assurer qu'un protocole a le droit d'être enregistré. - Firefox recherche à présent des plugins dans
/usr/lib/mozilla/plugins
sous Linux, outre les emplacements précédemment consultés. - L'API des plugins a été mise à jour pour gérer le mode de navigation privée ; vous pouvez à présent utiliser
NPN_GetValue()
pour connaître l'état du mode de navigation privée à l'aide de la variableNPNVprivateModeBool
.
Nouvelles fonctionnalités pour les utilisateurs
Interface
-
Si vous le désirez, vous pouvez permettre à Firefox 3.5 de partager des informations concernant votre localisation géographique avec des sites web. Firefox 3.5 peut utiliser des informations sur le réseau auquel votre machine est connectée pour partager votre localisation. Bien évidemment, votre permission sera demandée au préalable afin de préserver votre vie privée.
- Gestion de la vidéo et de l'audio ouverts
-
Firefox 3.5 gère l'intégration de vidéos et d'extraits audio à l'aide du format ouvert Ogg, ainsi qu'au format WAV pour l'audio. Aucun plugin nécessaire, pas de messages d'erreurs incompréhensibles vous demandant d'installer quelque chose qui n'est en fait pas disponible sur votre plateforme.
- Stockage local de données
-
Les applications web peuvent à présent utiliser les possibilités de stockage local pour conserver des données sur votre ordinateur. Cela peut servir pour conserver des préférences ou d'autres données plus complexes.
Sécurité et vie privée
-
Besoin d'utiliser l'ordinateur de quelqu'un d'autre ? Activez la navigation privée et rien ne sera enregistré concernant votre session, ni cookies, ni historique, ni aucune autre information privée.
- Meilleurs contrôles sur la vie privée
-
Le panneau de préférences Vie privée a été complètement revu pour disposer d'un meilleur contrôle sur vos informations privées. Les utilisateurs peuvent choisir de conserver ou d'effacer tout ce qui concerne l'historique, les cookies, les téléchargements et les informations de formulaire enregistrées. De plus, il est possible d'indiquer si l'historique et/ou les marque-pages doivent faire partie des suggestions automatiques de la Barre d'adresse, afin d'empêcher des adresses privées d'apparaître par inadvertance en saisissant des informations dans la Barre d'adresse.
Performances
- Du JavaScript plus rapide
-
Le code JavaScript est exécuté nettement plus rapidement dans Firefox 3.5 grâce à son nouveau moteur TraceMonkey. Les applications web sont ainsi beaucoup plus rapides que dans Firefox 3.
- Rendu plus rapide des pages
-
Le contenu web est affiché plus rapidement dans Firefox 3.5, grâce à des technologies telles que l'« analyse spéculative ». Vos utilisateurs n'ont pas besoin de savoir de quoi il s'agit, simplement que ça rend les choses plus rapides.