La société Google a publié la version 139 de son navigateur web Chrome. Un lancement stable du projet libre Chromium, qui sert de base à Chrome, est également disponible. Le navigateur Chrome se distingue de Chromium par l'utilisation des logos Google, la présence d'un système de notification en cas de plantage, des modules pour lire du contenu vidéo protégé (DRM), un système de mise à jour automatique, une isolation Sandbox toujours activée, la fourniture de clés pour l'API Google et la transmission des paramètres RLZ lors des recherches. Pour ceux qui ont besoin de plus de temps pour les mises à jour, une branche Extended Stable est maintenue, avec un support d'une durée de 8 semaines. La prochaine version de Chrome 140 est prévue pour le 2 septembre.
Les principales nouveautés de Chrome 139 :
- Ajout de la possibilité d'utiliser un modèle AI pour générer des recommandations de recherche dans la barre d'adresse et sur la page d'ouverture d'un nouvel onglet. Pour afficher ces recommandations, un bouton « AI Mode » a été ajouté à la barre d'adresse, et les recommandations de l'AI apparaissent ou sont mises en avant dans une section séparée. Cette fonctionnalité est actuellement activée par défaut uniquement pour une partie des utilisateurs.

- Dans les systèmes gérés de manière centralisée, la possibilité de créer des raccourcis de recherche rapide via la barre d'adresse a été étendue (il est possible de créer un raccourci « @nom » pour rechercher sur un site spécifique). La nouvelle version ajoute un paramètre supplémentaire permettant d'autoriser les utilisateurs à redéfinir, supprimer ou désactiver les raccourcis définis par l'administrateur.
- Dans la version Android, des contrôles de sécurité pour les APK téléchargés ont été mis en œuvre dans les modes standard et avancé de Google Safe Browsing. La vérification est effectuée en consultant les serveurs Google. Si le fichier est considéré comme dangereux, un avertissement approprié est affiché à l'utilisateur et l'accès au fichier est bloqué (une possibilité d'accès en contournant le blocage est prévue dans l'interface).

- Le paramètre ExtensionManifestV2Availability, qui permettait de restaurer la prise en charge de la deuxième version du manifeste Chrome définissant les capacités et ressources disponibles pour les extensions écrites à l'aide de l'API WebExtensions, a été supprimé. Le navigateur ne prend désormais en charge que les extensions basées sur la troisième version du manifeste.
- Dans les versions stables officielles de Chrome, le support des options de ligne de commande «—extensions-on-chrome-urls» et «—disable-extensions-except», qui permettaient de contourner la restriction sur l'installation d'extensions risquées, comme celles injectées dans le navigateur sans le consentement de l'utilisateur, a été arrêté. Dans Chromium et les versions bêta de Chrome, le support de ces options est maintenu.
- Sur la page d'ouverture d'un nouvel onglet, une barre inférieure a été ajoutée pour afficher des informations sur les extensions influençant le contenu de la page du nouvel onglet, ainsi que des informations sur les politiques de gestion centralisée appliquées.

- Une protection contre la suppression accidentelle des mots de passe enregistrés a été ajoutée lors de la sélection de l'opération de nettoyage complet des données. En présence de mots de passe enregistrés, le navigateur redirige désormais l'utilisateur vers la page du gestionnaire de mots de passe, où il peut supprimer les mots de passe et les clés passkey de manière significative et séparément.

- La possibilité de revenir automatiquement à l'utilisation de SwiftShader, le rendu logiciel pour WebGL qui implémente l'API Vulkan, a été désactivée. En l'absence du backend approprié basé sur GPU, la création du contexte WebGL renverra désormais une erreur au lieu de basculer sur SwiftShader. L'abandon de SwiftShader permettra d'améliorer la sécurité en éliminant l'exécution du code généré par le compilateur JIT dans le processus responsable des interactions avec le GPU. Sur les plateformes Linux et macOS, les systèmes sans GPU ne pourront plus utiliser WebGL. Sur Windows, le support de SwiftShader a été conservé uniquement pour les appareils sans GPU ou avec des GPU problématiques figurant sur une liste noire.
- La confiance dans les autorités de certification Chunghwa Telecom et Netlock a été retirée du magasin de certificats racines intégré (Chrome Root Store) en raison de violations des exigences relatives aux autorités de certification. En l'absence d'actions pour remédier aux défauts constatés, les certificats TLS délivrés par Chunghwa Telecom et Netlock après le 31 juillet 2025 seront désormais considérés comme non fiables dans Chrome. Les certificats émis avant le 31 juillet continueront d'être considérés comme normaux.
- L'API Web Speech a ajouté la prise en charge de la reconnaissance vocale, utilisant des moteurs disponibles localement sur l'appareil. Le site peut demander la disponibilité des moteurs de reconnaissance pour la langue nécessaire, choisir entre les services locaux et cloud, demander l'installation des ressources nécessaires pour la reconnaissance locale et s'assurer que la reconnaissance sera effectuée sur l'appareil de l'utilisateur sans envoyer de données vers des services externes.
- En CSS, en plus de définir le rayon des coins à l'aide de la propriété border-radius, une nouvelle propriété « corner-shape » a été mise en œuvre pour contrôler la forme et la courbure des angles des éléments rectangulaires. Par exemple, avec « corner-shape », il est possible de créer des transitions fluides d'un carré à un cercle (squircle), des angles concaves (scoop), des biseaux (bevel) et des découpes (notch), ainsi que d'animer le changement de forme des angles.
- Le support de la spécification Custom Functions a été ajouté, permettant de créer des fonctions personnalisées pour CSS, agissant par analogie avec les propriétés CSS paramétrées. La différence réside dans le fait que les propriétés CSS peuvent retourner une seule valeur fixe, tandis que les fonctions CSS peuvent renvoyer des valeurs basées sur d'autres propriétés CSS personnalisées, paramètres et conditions. Une règle « @function » a été ajoutée pour définir les fonctions CSS. @function —negative(—value) { résultat : calc(-1 * var(—value)); } @function —shadow(—shadow-color <color> : inherit) { résultat : 2px 2px var(—shadow-color, black); }
- Une propriété CSS « caret-animation » a été ajoutée, permettant de contrôler l'animation du curseur dans les champs de saisie (par exemple, le clignotement du curseur peut être remplacé par une animation personnalisée).
- Dans un souci de respecter la spécification et d'améliorer la compatibilité avec d'autres navigateurs, une propriété CSS « font-width » a été ajoutée, similaire à l'ancienne propriété « font-stretch ».
- Lors du blocage d'un Service Worker en raison de l'activation des règles CSP (Content Security Policy), un événement « error » est désormais envoyé de manière asynchrone, au lieu de générer une exception SecurityError immédiatement après l'appel au constructeur « new Worker(url) » ou « new SharedWorker(url) ».
- Il est désormais possible de créer une application web unique fonctionnant avec plusieurs domaines de premier niveau. ou différents sous-domaines. Pour configurer la liaison aux domaines, le manifeste prévoit un champ « scope_extensions ». { « name »: « Example », « display »: « standalone », « start_url »: « /index.html », « scope_extensions »: [ { « origin »: « https://*.example.com » }, { « origin »: « https://example.co.uk » }, { « origin »: « https://*.example.co.uk » } ] }
- La définition de tous les types MIME valides pour les données JSON, comme indiqué dans la spécification WHATWG MIME Sniffing, a été mise en œuvre. En plus des types MIME traditionnels « application/json » et « text/json », le support des types MIME composites tels que « text/html+json » et « image/svg+json » a été ajouté.
- Dans l'API Invoker Commands, la commande « request-close » a été ajoutée pour forcer la fermeture d'un dialogue basé sur l'élément HTML
- Le support des textures 3D compressées utilisant les formats BC et ASTC a été ajouté à WebGPU. Un mode de compatibilité expérimental (Origin Trial) a également été introduit, fournissant une API WebGPU réduite, adaptée à l'utilisation d'APIs graphiques obsolètes telles qu'OpenGL et Direct3D11.
- Pour les éléments SVG (SVGScriptElement), le support de l'attribut « async » pour l'exécution des scripts de manière asynchrone a été ajouté.
- Pour compliquer l'identification passive d'une instance de navigateur, l'en-tête HTTP Accept-Language répertorie désormais uniquement les langues les plus prioritaires choisies par l'utilisateur, et non toutes.
- Une API Prompt expérimentale (Origin trials) a été ajoutée, fournissant des appels pour interagir avec de grands modèles linguistiques, permettant d'utiliser dans les requêtes du texte, des images et des entrées audio. Le résultat est renvoyé sous forme structurée facile à analyser. Parmi les exemples d'utilisation, on mentionne la génération de descriptions d'images, la recherche visuelle, la transcription de la parole, la classification des sons, la génération de texte selon des instructions données et l'extraction d'informations à partir de textes.
- Dans les outils de développement web, des efforts ont été déployés pour résoudre les problèmes connus de fonctionnalité et les défauts d'interface utilisateur. Grâce à ce travail, le nombre d'avis ouverts sur des problèmes a été réduit de 27 %. L'assistant IA intégré a ajouté le support pour le téléchargement d'images arbitraires. Dans le panneau d'inspection du réseau, il est désormais possible d'ajouter des colonnes pour afficher l'état des en-têtes HTTP arbitraires.

- La prise en charge du système d'exploitation macOS 11 a été interrompue, et la version macOS 12 ou supérieure est désormais requise.
- La version Android a cessé de prendre en charge les plateformes Android 8 (Oreo) et Android 9 (Pie).
En plus des nouveautés et des corrections de bogues, la nouvelle version a corrigé 12 vulnérabilités. Bon nombre de ces vulnérabilités ont été identifiées grâce à des tests automatisés utilisant des outils tels qu'AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer et AFL. Aucun problème critique n'a été trouvé, permettant de contourner tous les niveaux de protection du navigateur et d'exécuter du code dans le système en dehors de l'environnement sandbox. Dans le cadre du programme de récompense financière pour la découverte de vulnérabilités pour cette version, Google a versé 8 primes pour un montant total de 18 500 dollars (une prime de 10 000 dollars, trois primes de 2 000 dollars, deux primes de 1 000 dollars et une prime de 500 dollars). Le montant d'une récompense n'a pas encore été fixé.
Il convient également de noter l'inclusion dans la base de code à partir de laquelle est générée la version de Chrome 140, du mode OverrideDefaultOzonePlatformHintToAuto, qui active la sélection automatique du backend dans la couche Ozone, abstrahant les interactions avec le sous-système graphique. Ce changement permettra d'activer de manière adaptative le backend Wayland sur les systèmes pris en charge par Wayland, sans être par défaut lié au backend X11. Il est également possible d'activer manuellement le choix automatique du backend dans la version Chrome 139 en utilisant le paramètre « chrome://flags/#ozone-platform-hint » ou le drapeau de ligne de commande « —ozone-platform-hint=auto ».
Source : opennet.ru





