Google a publié le navigateur web Chrome 106. Parallèlement, une version stable du projet gratuit Chromium, base de Chrome, est disponible. Chrome se distingue de Chromium par l'utilisation des logos Google, un système de notification en cas de plantage, des modules de lecture de contenu vidéo protégé par DRM, un système d'installation automatique des mises à jour, une isolation permanente du Sandbox, la fourniture de clés à l'API Google et la transmission des paramètres RLZ lors des recherches. Pour ceux qui ont besoin de plus de temps pour effectuer la mise à jour, la version stable étendue est prise en charge séparément, pendant 8 semaines. La prochaine version de Chrome 107 est prévue pour le 25 octobre.
Changements clés dans Chrome 106 :
- Pour les utilisateurs de bureau, Prerender2 est activé par défaut pour pré-afficher le contenu des recommandations dans la barre d'adresse de l'Omnibox. Ce pré-affichage complète la possibilité précédemment offerte de télécharger les recommandations les plus susceptibles d'être suivies sans attendre le clic de l'utilisateur. Outre le téléchargement, le contenu des pages associées aux recommandations peut désormais être affiché dans une mémoire tampon (y compris l'exécution de scripts et la création d'une arborescence DOM), ce qui garantit l'affichage immédiat des recommandations après un clic.
- La recherche dans l'historique, les favoris et les onglets est possible directement depuis la barre d'adresse d'Omnibox. Pour localiser la recherche, les balises de contrôle @history, @bookmarks et @tabs sont disponibles. Par exemple, pour effectuer une recherche dans les favoris, saisissez « expression de recherche @bookmarks ». Pour désactiver la recherche depuis la barre d'adresse, une option spéciale est disponible dans les paramètres de recherche.


- Prise en charge de la technologie Server Push, définie dans les normes HTTP/2 et HTTP/3 et permettant serveur Envoyer des ressources au client sans attendre de demande explicite. L'arrêt de cette fonctionnalité est justifié par la complexité excessive de sa mise en œuvre, compte tenu de l'existence d'alternatives plus simples et tout aussi efficaces, comme la balise. La réponse HTTP 103 et le protocole WebTransport sont utilisés. Selon les statistiques de Google, en 2021, environ 1.25 % des sites fonctionnant sous HTTP/2 utilisaient Server Push, et en 2022, ce chiffre est tombé à 0.7 %. La technologie Server Push est également présente dans la spécification HTTP/3, mais en pratique, de nombreux logiciels serveur et client, dont le navigateur Chrome, ne l'ont pas implémentée initialement.
- Désactivation de la possibilité d'utiliser des caractères non ASCII dans les domaines spécifiés dans l'en-tête Cookie (pour les domaines IDN, vous devez spécifier domaines (au format punycode). Cette modification met le navigateur en conformité avec la RFC 6265bis et le comportement implémenté dans Firefox.
- Des libellés plus clairs ont été proposés pour identifier les écrans dans les configurations multi-écrans. Ces libellés peuvent être affichés dans les boîtes de dialogue permettant d'autoriser l'ouverture d'une fenêtre sur un écran externe. Par exemple, le nom du modèle de l'écran (« HP Z1n ») sera désormais affiché au lieu du numéro de l'écran externe (« Écran externe 27 »).
- Améliorations apportées à la version pour Android:
- La page d'historique des visites prend en charge le mécanisme « Parcours », qui synthétise l'activité passée en regroupant les informations relatives aux requêtes de recherche et aux pages consultées précédemment. Lors de la saisie de mots-clés dans la barre d'adresse, s'ils ont déjà été utilisés dans des requêtes, il vous est proposé de poursuivre la recherche à partir de la position interrompue.
- Sur les appareils dotés de la plateforme Android Android 11 vous permet désormais de bloquer une page ouverte en navigation privée après être passé à une autre application. La reprise de la navigation après blocage nécessite une authentification. Le blocage est désactivé par défaut et doit être activé dans les paramètres de confidentialité.
- Lorsque vous tentez de télécharger des fichiers à partir du mode navigation privée, une demande de confirmation supplémentaire pour l'enregistrement du fichier et un avertissement indiquant que le fichier téléchargé sera visible par les autres utilisateurs de l'appareil, car il sera enregistré dans la zone du gestionnaire de téléchargement.

- L'API chrome.runtime a été abandonnée pour tous les sites. Elle est désormais disponible uniquement via les modules complémentaires de navigateur qui s'y connectent. Auparavant, chrome.runtime était disponible pour tous les sites, car il était utilisé par le module complémentaire CryptoToken intégré avec l'implémentation de l'API U2F, qui n'est plus prise en charge.
- Plusieurs nouvelles API ont été ajoutées au mode Origin Trials (fonctionnalités expérimentales nécessitant une activation séparée). Origin Trial implique la possibilité de travailler avec l'API spécifiée à partir d'applications téléchargées depuis localhost ou 127.0.0.1, ou après s'être enregistré et avoir reçu un jeton spécial valable pour une durée limitée pour un site spécifique.
- Le concept d'iframes anonymes, qui permettent de charger un document dans un contexte séparé, sans rapport avec d'autres iframes et le document principal.
- L'API Pop-Up permet d'organiser l'affichage des éléments d'interface au-dessus d'autres éléments, par exemple pour organiser le fonctionnement des menus interactifs, des infobulles, des outils de sélection de contenu et des systèmes éducatifs. Pour afficher un élément au-dessus, un nouvel attribut « pop-up » est utilisé. Contrairement aux boîtes de dialogue créées avec l'élément La nouvelle API vous permet de créer des boîtes de dialogue sans mode, de gérer des événements, d'utiliser des animations et de créer des contrôles contextuels flexibles.
- Les propriétés « grid-template-columns » et « grid-template-rows » utilisées dans CSS Grid prennent désormais en charge l'interpolation pour permettre des transitions fluides entre différents états de grille.
- La propriété CSS « forced-color-adjust » a été mise à jour pour prendre en charge la valeur « preserve-parent-color », qui fait que la propriété « color » prend sa valeur à partir de l'élément parent.
- La propriété « -webkit-hyphenate-character » a été supprimée du préfixe « -webkit- » et est désormais disponible sous le nom « hyphenate-character ». Cette propriété permet de définir la chaîne à utiliser à la place du caractère de césure (« - »).
- La troisième édition de l'API Intl.NumberFormat a été implémentée, qui comprend de nouvelles fonctions formatRange(), formatRangeToParts() et selectRange(), le regroupement d'ensembles, de nouvelles options d'arrondi et de précision, et la possibilité d'interpréter les chaînes comme des nombres décimaux.
- L'API ReadableStream prend désormais en charge le transfert direct efficace de données binaires depuis un port série, en contournant les files d'attente et les tampons internes. Le transfert direct est activé en définissant le mode BYOB : « port.readable.getReader({ mode: 'byob' }) ».
- Les API audio et vidéo (AudioDecoder, AudioEncoder, VideoDecoder et VideoEncoder) prennent désormais en charge l'événement « dequeue » et les rappels associés qui sont déclenchés lorsque le codec commence à exécuter des tâches d'encodage ou de décodage de contenu en file d'attente.
- L'API WebXR Device implémente la possibilité d'accéder aux textures d'image de la caméra synchronisées avec la position actuelle dans l'environnement virtuel.
- Des améliorations ont été apportées aux outils de développement web. Le panneau « Sources » permet désormais de regrouper les fichiers par source. Le suivi de la pile d'appels pour les opérations asynchrones a été amélioré. Vous pouvez désormais ignorer automatiquement les scripts tiers connus lors du débogage. Il est désormais possible de masquer les fichiers ignorés dans les menus et les panneaux. La pile d'appels du débogueur a été améliorée.

Une nouvelle piste Interactions a été ajoutée au panneau Performances pour visualiser les interactions des pages et identifier les problèmes potentiels de réactivité.

Outre les innovations et les corrections de bugs, la nouvelle version corrige 20 vulnérabilités. Nombre d'entre elles ont été identifiées grâce à des tests automatisés avec les outils AddressSanitizer, MemorySanitizer, Control Flow Integrity, LibFuzzer et AFL. Aucun problème critique 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 n'a été identifié. Dans le cadre du programme de récompenses financières pour la détection de vulnérabilités pour la version actuelle, Google a versé 16 récompenses totalisant 38500 9000 $ (une récompense de 7500 7000 $, 5000 4000 $, 3000 2000 $, 1000 XNUMX $, XNUMX XNUMX $, XNUMX XNUMX $, XNUMX XNUMX $ et XNUMX XNUMX $). Le montant des huit récompenses n'a pas encore été déterminé.
Source: opennet.ru
