La version du navigateur web Firefox 101 a été publiée. De plus, une mise à jour de la branche à long terme de support — 91.10.0 a été formée. La branche Firefox 102 a été transférée au stade de bêta test, dont la sortie est prévue pour le 28 juin.
Les principales nouveautés de Firefox 101 :
- Une prise en charge expérimentale de la troisième version du manifeste Chrome a été mise en œuvre, définissant les capacités et les ressources disponibles pour les extensions développées avec l'API WebExtensions. Dans la version de Firefox du manifeste Chrome, une nouvelle API déclarative pour le filtrage de contenu a été ajoutée, mais contrairement à Chrome, le mode de fonctionnement bloquant de l'API webRequest, utilisé dans les extensions pour bloquer le contenu indésirable et garantir la sécurité, n'a pas été abandonné. Pour activer le support de la troisième version du manifeste dans about:config, un paramètre « extensions.manifestV3.enabled » est prévu.
- Il est désormais possible d’associer des gestionnaires à tous les types MIME appelés après le téléchargement de fichiers de ce type.
- La possibilité d'utiliser simultanément un nombre arbitraire de microphones lors des vidéoconférences a été mise en œuvre, ce qui permet par exemple de basculer facilement entre les microphones pendant l'événement.
- Le support du protocole WebDriver BiDi a été activé, permettant d'utiliser des outils externes pour automatiser et contrôler à distance le navigateur, par exemple, le protocole permet de tester l'interface à l'aide de la plateforme Selenium. Les parties serveur et client du protocole sont prises en charge, permettant d'envoyer des requêtes et de recevoir des réponses.
- Le support de la requête media prefers-contrast a été ajouté, permettant aux sites de déterminer les paramètres utilisateur définis pour l'affichage de contenu avec un contraste élevé ou faible.
- Le support de trois nouvelles tailles de zone visible (Viewport) — « small » (s), « large » (l) et « dynamic » (d) — ainsi que des unités de mesure associées à ces tailles — « *vi » (vi, svi, lvi et dvi), « *vb » (vb, svb, lvb et dvb), « *vh » (svh, lvh, dvh), « *vw » (svw, lvw, dvw), « *vmax » (svmax, lvmax, dvmax) et « *vmin » (svmin, lvmin et dvmin) a été ajoutée. Les unités de mesure proposées permettent d'associer la taille des éléments à la plus petite, la plus grande et la taille dynamique de la zone visible en pourcentage (la taille change en fonction de l'affichage, de la dissimulation et de l'état de la barre d'outils).
- La classe HTMLInputElement a été enrichie d'une méthode showPicker(), permettant d'afficher des dialogues prêts à l'emploi pour remplir des valeurs standard dans les champs <input> des types « date », « month », « week », « time », « datetime-local », « color » et « file », ainsi que pour les champs prenant en charge l'autocomplétion (autofill) et la sélection par liste (datalist). Par exemple, il est possible d'afficher une interface sous la forme d'un calendrier pour choisir une date ou une palette pour entrer une couleur.
- Une interface de programmation a été ajoutée, permettant à une application JavaScript de créer dynamiquement des feuilles de style et de manipuler l'application des styles. Contrairement à la création de feuilles de style avec la méthode document.createElement(‘style’), la nouvelle API fournit des moyens de construire des styles via l'objet CSSStyleSheet(), en offrant des méthodes telles que insertRule, deleteRule, replace et replaceSync.
- Dans le panneau d'inspection de la page, lors de l'ajout ou de la suppression de noms de classes via le bouton « .cls » dans l'onglet Rule View, l'application interactive des recommandations issues du menu contextuel de l'autocomplétion a été mise en œuvre, proposant un aperçu des noms de classes disponibles pour la page. À mesure que l'on navigue dans la liste, les classes sélectionnées sont appliquées automatiquement pour évaluer visuellement les changements qu'elles entraînent.

- Les paramètres du panneau d'inspection ont été enrichis d'une nouvelle option pour désactiver la fonction « drag to update » dans l'onglet Rule View, permettant de modifier la taille de certaines propriétés CSS par un glissement horizontal de la souris.

- Firefox pour Android a ajouté la prise en charge d'une fonction d'agrandissement des zones de l'écran introduite avec Android 9, permettant par exemple d'agrandir le contenu des web-formulaires. Des problèmes liés à la taille des vidéos pendant la lecture de YouTube ou lors de la sortie du mode image dans l'image ont été résolus. Le scintillement du clavier virtuel lors de l'affichage du menu contextuel a été corrigé. L'affichage du bouton QR Code dans la barre d'adresse a également été optimisé.
En plus des nouveautés et des corrections de bogues dans Firefox 101, 30 vulnérabilités ont été corrigées, dont 25 considérées comme graves. 19 vulnérabilités (répertoriées sous CVE-2022-31747 et CVE-2022-31748) sont causées par des problèmes de gestion de la mémoire, tels que des débordements de tampon et des accès à des zones de mémoire déjà libérées. Potentiellement, ces problèmes peuvent permettre l'exécution de code malveillant lors de l'ouverture de pages spécialement conçues. Un problème spécifique à Windows a également été corrigé, permettant de modifier le chemin d'accès au fichier enregistré en utilisant des caractères spéciaux « % » pour substituer les variables de chemin, telles que %HOMEPATH% et %APPDATA%.
Parmi les changements de la version bêta de Firefox 102, on note l'amélioration de la consultation des documents PDF en mode contraste élevé et la possibilité d'utiliser le service DBus Geoclue sur la plateforme Linux pour déterminer la localisation. Dans l'interface pour les développeurs web, l'onglet Style Editor a intégré un support pour le filtrage des feuilles de style.
Source : opennet.ru


