La version 89 du navigateur web Firefox a été publiée. De plus, une mise à jour de la branche à long terme 78.11.0 a été formée. La branche Firefox 90 sera bientôt en phase de bêta-test, son lancement étant prévu pour le 13 juillet.
Les principales nouveautés :
- Une modernisation significative de l'interface a été réalisée. Les icônes ont été mises à jour, le style des différents éléments a été unifié et la palette de couleurs a été retravaillée.
- Le design de la barre d'onglets a été modifié : les angles des boutons d'onglets sont arrondis et ne se fondent plus dans la barre au bas (effet de bouton flottant). La séparation visuelle entre les onglets inactifs a été supprimée, mais la zone occupée par le bouton est mise en surbrillance lorsque le curseur est sur l'onglet.

- Le menu a été restructuré. Les éléments rarement utilisés et obsolètes ont été supprimés des menus principaux et contextuels pour mettre en avant les fonctionnalités les plus importantes. Les éléments restants ont été regroupés en fonction de leur importance et de leur popularité auprès des utilisateurs. Dans le cadre de la lutte contre l'encombrement visuel distractif, les icônes à côté des éléments de menu ont été retirées, seuls des libellés textuels étant laissés. L'interface de paramétrage de la barre et les outils pour les développeurs web ont été déplacés dans un sous-menu séparé « Outils supplémentaires » (« More Tools »).


- Le menu intégré dans la barre d'adresse « … » (Actions de page), qui permettait d'ajouter un signet, d'envoyer un lien à Pocket, de fixer un onglet, de travailler avec le presse-papiers et d'initier l'envoi de matériel par e-mail, a été supprimé. Les options disponibles via le menu « … » ont été transférées dans d'autres parties de l'interface, les rendant accessibles dans la section de configuration de la barre et pouvant être placées séparément sur la barre sous forme de boutons. Par exemple, le bouton d'appel de l'interface de création de captures d'écran est accessible via le menu contextuel affiché lors d'un clic droit sur la page.

- Le panneau latéral contextuel pour la configuration de la page a été repensé avec une interface affichée lors de l'ouverture d'un nouvel onglet.

- Le design des panneaux d'information et des dialogues modaux avec des avertissements, des confirmations et des demandes a été modifié et unifié avec les autres dialogues. Les dialogues sont affichés avec des angles arrondis et sont centrés verticalement.

- Après la mise à jour, un écran s'affiche, proposant d'utiliser Firefox comme navigateur par défaut dans le système et offrant la possibilité de choisir un thème. Les thèmes disponibles sont : système (qui s'adapte aux paramètres système pour la mise en forme des fenêtres, des menus et des boutons), clair, sombre et Alpenglow (coloré).





- Par défaut, dans l'interface de personnalisation de l'apparence, le bouton pour activer le mode compact des panneaux est masqué. Pour restaurer ce paramètre, un paramètre « browser.compactmode.show » a été mis en œuvre dans about:config. Pour les utilisateurs ayant activé le mode compact, le paramètre sera activé automatiquement.
- Le nombre d'éléments susceptibles de distraire l'utilisateur a été réduit. Les avertissements et notifications superflus ont été supprimés.
- Un calculateur a été intégré dans la barre d'adresse, permettant de calculer des expressions mathématiques données dans un ordre quelconque. Le calculateur est désactivé par défaut et nécessite un changement de la configuration suggest.calculator dans about:config. Dans l'une des prochaines versions, un convertisseur d'unités intégré à la barre d'adresse est également prévu (déjà ajouté dans les builds nocturnes en-US), permettant par exemple de convertir des pieds en mètres.

- Dans les versions pour Linux, l'utilisation du moteur de composition WebRender a été activée pour tous les utilisateurs de Linux, y compris tous les environnements de bureau, toutes les versions de Mesa et les systèmes avec des pilotes NVIDIA (WebRender était auparavant activé uniquement pour GNOME, KDE et Xfce avec des pilotes Intel et AMD). WebRender est écrit en Rust et permet d'obtenir une augmentation significative de la vitesse de rendu et de réduire la charge CPU en déplaçant côté GPU les opérations de rendu du contenu de la page, lesquelles sont réalisées via des shaders exécutés sur le GPU. Pour désactiver WebRender dans about:config, vous pouvez utiliser le paramètre « gfx.webrender.enabled » ou lancer Firefox avec la variable d'environnement MOZ_WEBRENDER=0.
- La méthode de protection totale des cookies (Total Cookie Protection) est activée par défaut. Auparavant, elle n'était activée que lors du choix du mode strict de blocage du contenu indésirable. Désormais, un stockage isolé pour les cookies est utilisé pour chaque site, empêchant l'utilisation des cookies pour suivre la navigation entre les sites. Tous les cookies provenant de blocs tiers chargés sur le site sont désormais associés au site principal et ne sont pas transmis lors des accès à ces blocs depuis d'autres sites. À titre d'exception, la possibilité de transmission des cookies entre sites est maintenue pour les services non liés au suivi des utilisateurs, notamment ceux utilisés pour l'authentification unique. Les informations sur les cookies intersites bloqués et autorisés sont affichées dans le menu accessible en cliquant sur le symbole de bouclier dans la barre d'adresse.

- La deuxième version du mécanisme SmartBlock est activée, visant à résoudre les problèmes sur les sites causés par le blocage des scripts externes en mode de navigation privée ou lors de l'activation du blocage renforcé du contenu indésirable (strict). SmartBlock permet également d'améliorer de manière significative les performances de certains sites qui souffrent d'une lenteur due à l'incapacité de charger le code des scripts de suivi. SmartBlock remplace automatiquement les scripts de suivi par des substituts garantissant le bon chargement du site. Des substituts ont été préparés pour certains scripts de suivi populaires, figurant sur la liste de Disconnect, y compris ceux des widgets Facebook, Twitter, Yandex, Вконтакте et Google.
- Le support de l'extension TLS DC (Delegated Credentials) est désormais activé pour le déléguement de certificats à courte durée de vie, ce qui résout le problème lié aux certificats lors de l'accès à un site via des réseaux de distribution de contenu. Les Delegated Credentials introduisent une clé privée intermédiaire supplémentaire, dont la durée de vie est limitée à quelques heures ou quelques jours (pas plus de 7 jours). Cette clé est générée à partir du certificat délivré par l'autorité de certification et permet de garder la clé privée du certificat d'origine secrète vis-à-vis des services de distribution de contenu. Pour éviter les problèmes d'accès après l'expiration de la durée de vie de la clé intermédiaire, une technologie de mise à jour automatique est prévue et s'exécute du côté du serveur TLS d'origine.
- Une implémentation tierce (non native au système) d'éléments de formulaires d'entrée tels que des commutateurs, des boutons, des listes déroulantes et des champs de saisie de texte (input, textarea, button, select) a été présentée, se distinguant par un design plus moderne. L'utilisation d'une implémentation distincte d'éléments de formulaires a également eu un impact positif sur la performance d'affichage des pages.
- Il est désormais possible de manipuler le contenu des éléments et
- Une API Event Timing a été mise en œuvre pour mesurer les délais d'événements avant et après le chargement de la page.
- La propriété CSS forced-colors a été ajoutée pour déterminer si le navigateur applique une palette de couleurs limitée par l'utilisateur sur la page.
- Les propriétés CSS ascent-override, descent-override et line-gap-override ont été dotées d'un descripteur @font-face pour redéfinir les métriques de police, ce qui peut être utilisé pour uniformiser l'affichage de la police sur différents navigateurs et systèmes d'exploitation, ainsi que pour éviter tout décalage de mise en page causé par les polices web.
- La fonction CSS image-set(), permettant de sélectionner l'image parmi un ensemble d'options de résolutions différentes en fonction des paramètres actuels de l'écran et de la bande passante du réseau, a été enrichie du support de la fonction type().
- En JavaScript, l'utilisation du mot-clé await est par défaut autorisée au niveau supérieur dans les modules, ce qui permet d'intégrer plus facilement les appels asynchrones dans le processus de chargement des modules et d'éviter d'enfermer dans une « fonction async ». Par exemple, au lieu de (async function() { await Promise.resolve(console.log('test')); }()); on peut maintenant écrire await Promise.resolve(console.log('test'));
- Sur les systèmes 64 bits, il est permis de créer des structures ArrayBuffers dépassant 2 Go (mais pas plus de 8 Go).
- Le support des événements DeviceProximityEvent, UserProximityEvent et DeviceLightEvent, qui ne sont pas supportés dans d'autres navigateurs, a été arrêté.
- Dans le panneau d'inspection des pages, la navigation à l'aide du clavier a été améliorée pour les propriétés éditables du BoxModel.
- Dans les versions pour Windows, l'apparence des menus contextuels a été améliorée et le lancement du navigateur a été accéléré.
- Dans les versions pour macOS, l'utilisation de menus contextuels natifs à la plateforme et de barres de défilement a été mise en œuvre. Le support de l'effet de défilement au-delà de la zone visible (overscroll), signalant l'atteinte du bas de la page, a été ajouté. Un support de zoom intelligent, activé par un double clic, a été ajouté. Le support d'un thème sombre a également été ajouté. Des problèmes d'incohérence des couleurs entre CSS et les images ont été résolus. En mode plein écran, la possibilité de cacher les panneaux a été fournie.
En plus des nouveautés et des corrections de bogues dans Firefox 89, 16 vulnérabilités ont été éliminées, dont 6 jugées critiques. 5 vulnérabilités (regroupées sous CVE-2021-29967) sont dues à des problèmes de gestion de la mémoire, tels que des débordements de tampon et l'accès à des zones mémoire déjà libérées. Ces problèmes pourraient potentiellement conduire à l'exécution de code malveillant lors de l'ouverture de pages spécialement conçues.
Source : opennet.ru













