La société Google la sortie du navigateur web . En même temps version stable du projet open source , qui sert de base à Chrome. Le navigateur Chrome par l'utilisation des logos Google, la présence d'un système d'envoi de notifications en cas de crash, la possibilité de télécharger le module Flash sur demande, des modules pour la lecture de contenu vidéo protégé (DRM), un système de mise à jour automatique et la transmission lors des recherches . La prochaine version de Chrome 86 est prévue pour le 6 octobre.
:
- la possibilité de réduire des groupes d'onglets. Les onglets peuvent être regroupés à l'aide du menu contextuel et peuvent être associés à une couleur et une étiquette spécifiques. En cliquant sur l'étiquette du groupe, les onglets associés sont maintenant cachés, ne laissant qu'une seule étiquette. Un clic supplémentaire sur l'étiquette révèle à nouveau les onglets.
- Un aperçu du contenu des onglets a été implémenté. Lorsque vous survolez le bouton de l'onglet, un aperçu de la page dans cet onglet s'affiche. Cette fonctionnalité n'est pas encore activée pour tous les utilisateurs et peut être activée via le paramètre « chrome://flags/#tab-hover-cards ».
- Ajout de la possibilité de sauvegarder des formulaires PDF édités, ainsi que des options « chrome://flags#pdf-viewer-update » et « chrome://flags/#pdf-two-up-view » pour expérimenter avec pour l'affichage des documents PDF.
- Ajout de la possibilité de partager des liens via des codes QR. Une icône spéciale a été ajoutée à la barre d'adresse pour générer un code QR pour la page actuelle, qui apparaît lorsque vous cliquez dans la barre d'adresse. Cette fonctionnalité n'est pas encore activée pour tous les utilisateurs et peut être activée via le paramètre « chrome://flags/#sharing-qr-code-generator ».
- Sur la page about:flags, une option « Masquer le chemin d'URL, les requêtes et les références de l'UI Omnibox en état stable » (« chrome://flags#omnibox-ui-hide-steady-state-url-path-query-and-ref-on-interaction ») permet de désactiver l'affichage des éléments de chemin et des paramètres de requête dans la barre d'adresse, ne laissant visible que le domaine du site. Le masquage se produit dès le début de l'interaction avec la page (lors du chargement et tant que l'utilisateur n'a pas commencé à faire défiler, l'URL complète est affichée). Après masquage, pour voir l'URL complète, il est proposé de cliquer sur la barre d'adresse. Il existe également une option « chrome://flags#omnibox-ui-reveal-steady-state-url-path-query-and-ref-on-hover » pour afficher l'URL complète en survolant. Le paramètre disponible dans le menu contextuel « Toujours afficher l'URL en entier » annule le masquage de « https:// », « www. », des chemins et des paramètres. Par défaut, le masquage est actuellement activé uniquement pour un petit pourcentage d'utilisateurs. La motivation derrière ce changement est de protéger les utilisateurs contre le phishing manipulant les paramètres dans l'URL.
- En mode tablette pour les appareils à écran tactile, la navigation horizontale entre les onglets ouverts est activée, affichant en plus des titres des onglets de grandes vignettes des pages liées. Les onglets peuvent être déplacés et réorganisés par des gestes à l'écran. L'affichage des vignettes peut être activé ou désactivé via un bouton spécial situé à côté de la barre d'adresse et de l'avatar de l'utilisateur. Pour désactiver le mode, des réglages sont disponibles dans « chrome://flags/#webui-tab-strip » et « chrome://flags/#scrollable-tabstrip ».
- Dans la version Android, la saisie dans la barre d'adresse affiche une suggestion pour un accès rapide aux onglets déjà ouverts.
- Dans la version Android, dans le menu contextuel des liens qui apparaît lors d'une pression prolongée sur un lien, des étiquettes pour marquer des pages rapides. La vitesse est déterminée en fonction de mesures , prenant en compte les indicateurs agrégés de temps de chargement, de réactivité et de stabilité du contenu.
- Le blocage est assuré (sans cryptage) des fichiers exécutables et un avertissement a été ajouté lors du téléchargement de fichiers d'archives non sécurisés (zip, iso, etc.). Dans la prochaine version, un blocage des archives et un avertissement pour les documents (docx, pdf, etc.) sont attendus. À l'avenir, la prise en charge du téléchargement de fichiers sans cryptage sera progressivement supprimée. Ce blocage a été mis en place car le téléchargement de fichiers sans cryptage peut être utilisé pour des actions malveillantes en manipulant le contenu lors d'attaques MITM.
- La prise en charge du format d'image AVIF (AV1 Image Format) est activée par défaut, utilisant des technologies de compression intra-image issues du format de codage vidéo AV1. Le conteneur pour la distribution des données compressées en AVIF est entièrement similaire à HEIF. AVIF prend en charge à la fois les images en HDR (High Dynamic Range) et dans l'espace colorimétrique à large gamme, ainsi que dans la plage dynamique standard (SDR).
- Lors de la compilation des assemblages pour Windows et macOS, l'appel des compilateurs MSVC et Clang se fait par défaut. optimisation basée sur les résultats de profilage de code (PGO — optimisation guidée par le profil), permettant de générer un code plus optimal sur la base de l'analyse des caractéristiques d'exécution du programme. L'activation de PGO a permis d'accélérer le chargement des onglets d'environ 10 % (accélération des tests Speedometer 2.0 sous macOS de 7,7 %, et sous Windows de 11,4 %). La réactivité de l'interface a augmenté de 3,9 % sous macOS et de 7,3 % sous Windows.
- Un mode expérimental de réduction de l'activité des onglets en arrière-plan (« Tab Throttling ») a été ajouté, accessible via le paramètre « chrome://flags##intensive-wake-up-throttling » (l'activation par défaut est attendue dans Chrome 86). Lorsque ce mode est activé, la transmission du contrôle aux onglets en arrière-plan (TaskQueues) est réduite à 1 appel par minute, si la page est en arrière-plan depuis plus de 5 minutes.
- Pour toutes les catégories d'utilisateurs, un mode de réduction de la consommation des ressources CPU a été activé lorsque la fenêtre du navigateur n'est pas visible par l'utilisateur. Chrome vérifie si la fenêtre du navigateur est recouverte par d'autres fenêtres et exclut le rendu des pixels dans les zones de superposition.
- la protection contre le chargement de contenu multimédia mixte (lorsqu'un site HTTPS charge des ressources via le protocole http://). Sur les pages ouvertes en HTTPS, un remplacement automatique des liens « http:// » par « https:// » a été mis en œuvre dans les blocs liés au chargement des images (auparavant, les scripts, iframe, fichiers audio et vidéos avaient été remplacés). Si une image n'est pas disponible en https, son chargement est bloqué (il est possible d'indiquer le blocage manuellement via le menu accessible grâce au symbole du cadenas dans la barre d'adresse).
- Pour les certificats TLS émis à partir du 1er septembre 2020, une nouvelle restriction sur la durée de validité s'appliquera — la durée de vie de ces certificats ne pourra pas dépasser 398 jours (13 mois). Des restrictions similaires sont appliquées dans Firefox et Safari. Pour les certificats obtenus avant le 1er septembre, la confiance sera maintenue, mais limitée à 825 jours (2,2 ans).
- En mode Origin Trials (fonctionnalités expérimentales nécessitant une activation distincte), plusieurs nouvelles API ont été ajoutées. L'Origin Trial permet aux applications chargées depuis localhost ou 127.0.0.1 d'accéder à l'API spécifiée, ou d'accéder à l'API après enregistrement et obtention d'un jeton spécial, valable pour une durée limitée pour un site spécifique.
- concept pour assurer une navigation fluide entre les sites et l'insertion d'une page dans une autre pour un aperçu du contenu avant de cliquer. Un nouveau tag a été proposé, permettant d'afficher une autre page sous forme d'insertion, sur laquelle, lorsqu'on se concentre, la page affichée dans l'insertion sera convertie en un document principal, à l'intérieur duquel la navigation est autorisée. Contrairement à un iframe, l'insertion est entièrement isolée de la page de base et est traitée comme un document distinct.
- API , permettant d'effectuer des requêtes fetch avec le téléchargement de contenu sous forme de flux (auparavant, la requête nécessitait que tout le contenu soit prêt, alors qu'il est maintenant possible de commencer à envoyer des données sous forme de flux sans attendre que le corps de la requête soit complètement prêt). Par exemple, une application web peut commencer à envoyer des données d'un web-formulaire dès que l'utilisateur commence à taper du texte dans le champ de saisie, et lorsque la saisie est terminée, les données seront déjà envoyées via fetch(). Cela inclut également la possibilité de transmettre des données audio et vidéo générées côté client par le biais de la nouvelle API.
- Une nouvelle API proposée pour créer de nouvelles branches racines dans , par exemple pour séparer le style externe importé d'un élément et la branche DOM associée du document principal. L'API déclarative proposée permet de se passer de JavaScript pour détacher les branches DOM, n'utilisant que HTML.
- Ajouté une propriété , permettant à l'expéditeur de flux RTC (communication en temps réel) de gérer l'activation du mécanisme d'envoi de paquets adaptatif.
- Simplifié la fourniture d'un stockage permanence pour les applications PWA (Progressive Web Apps) et TWA (Trusted Web Activities) déjà installées.
Il suffit à l'application d'appeler la méthode navigator.storage.persist() et sera automatiquement fourni.
- Une nouvelle règle CSS mise en œuvre , permettant d'enregistrer avec héritage, vérification des types et valeurs par défaut. L'action @property est similaire à la méthode registerProperty() ajoutée précédemment.
- Pour les systèmes avec Windows OS, il a été possible d'utiliser la méthode pour déterminer l'installation d'applications PWA. Auparavant, cette méthode ne fonctionnait que sur la plateforme Android.
- Pour les systèmes de bureau, le support des , permettant d'accéder rapidement aux actions types sollicitées dans l'application. Pour créer des raccourcis, il suffit d'ajouter des éléments au manifeste de l'application web au format PWA (Progressive Web Apps). Auparavant, les raccourcis d'application n'étaient disponibles que sur la plateforme Android.
- Une propriété CSS a été ajoutée pour contrôler la visibilité du contenu afin d'optimiser le rendu. Lorsque la valeur est réglée à ‘auto’, la visibilité est déterminée par le navigateur en fonction de la proximité de l'élément à la bordure de la zone visible. La valeur ‘hidden’ permet un contrôle total de l'affichage de l'élément via des scripts.
- Une propriété CSS a été ajoutée pour définir une certaine valeur pour les compteurs existants. La nouvelle propriété CSS complète les propriétés précédemment disponibles counter-reset et counter-increment, utilisées pour créer un nouveau compteur ou augmenter un compteur existant.
- Ajout de la propriété CSS ‘page’, qui reflète la page lors de l'impression, ainsi que de la propriété ‘page-orientation’ pour obtenir des informations sur l'orientation de la page (‘upright’, ‘rotate-left’ et ‘rotate-right’). Un accès aux pages par nom a été implémenté, par exemple «@page foobar {}».
- API реализован pour mesurer les délais des événements avant et après le chargement de la page.
- Dans l'événement leavepictureinpicture, un lien vers pictureInPictureWindow est désormais transmis pour accéder à la fenêtre en mode Picture-in-Picture.
- Lors du remplissage de l'en-tête Referrer par défaut, il est désormais la règle strict-origin-when-cross-origin (envoyer le Referrer tronqué vers d'autres hôtes d'où les ressources sont chargées) au lieu de no-referrer-when-downgrade (le Referrer n'est pas rempli lorsqu'on passe de HTTPS à HTTP, mais est transmis lors du chargement des ressources via HTTPS).
- Dans l'API WebAuthn nouvelles méthodes getPublicKey(), getPublicKeyAlgorithm() et getAuthenticatorData().
- Dans WebAssembly prise en charge de l'importation et de l'exportation de paramètres de fonction de 64 bits en utilisant le type BigInt de JavaScript.
- Dans WebAssembly, une extension a été réalisée , aux fonctions de retourner plus d'une valeur.
- Le compilateur de base (baseline) Liftoff pour WebAssembly est utilisé pour toutes les architectures et plateformes, et pas seulement pour les systèmes Intel. La principale différence entre Liftoff et le compilateur TurboFan utilisé auparavant est que Liftoff vise à atteindre la plus grande vitesse de compilation initiale, au prix d'une faible performance du code généré. Liftoff est beaucoup plus simple que TurboFan et génère rapidement du code machine prêt à être exécuté, permettant ainsi de commencer presque immédiatement son exécution, réduisant au minimum le temps de compilation. Pour accélérer le code brut, une phase de recompilation optimisante est lancée en parallèle, utilisant le compilateur Turbofan. Une fois que les instructions machine optimisées sont prêtes, la version brute initiale est remplacée par un code plus rapide. En somme, grâce à la réduction du délai avant le début de l'exécution, l'utilisation de Liftoff a entraîné une augmentation des performances du jeu de tests WebAssembly d'environ 20%.
- En JavaScript nouvelles opérateurs d'affectation logique : « ??= », « &&= » et « ||= ». L'opérateur « x ??= y » effectue l'affectation uniquement si « x » prend la valeur null ou undefined. L'opérateur « x ||= y » effectue l'affectation uniquement si « x » a la valeur FALSE, tandis que dans « x &&= y », c'est TRUE.
- Ajout de la méthode String.prototype.replaceAll(), qui retourne une nouvelle chaîne (la chaîne d'origine n'est pas modifiée), dans laquelle toutes les occurrences correspondant au motif spécifié sont remplacées. Les motifs peuvent être des masques simples ou des expressions régulières.
- Implémentation de la méthode Promise.any(), qui retourne le premier Promise résolu d'une liste.
- Le manifeste AppCache (une technologie pour faire fonctionner les applications web en mode hors ligne) a été retiré. La raison invoquée est le désir de se débarrasser d'un des vecteurs d'attaques liées au script intersite. Au lieu d'AppCache, il est recommandé d'utiliser l'API. .
- La transmission de cookies en mode SameSite=None pour les connexions non chiffrées est interdite. L'attribut SameSite est indiqué dans l'en-tête Set-Cookie pour gérer la transmission des cookies et est par défaut défini sur « SameSite=Lax », limitant l'envoi des cookies pour les sous-requêtes intersites, telles que la demande d'une image ou le chargement de contenu via un iframe d'un autre site.
Les sites peuvent redéfinir le mode SameSite par défaut en réglant explicitement la valeur SameSite=None lors de l'installation des cookies. La valeur SameSite=None pour les cookies ne peut désormais être définie qu'en mode Secure, qui s'applique aux connexions via HTTPS. - Dans les outils pour les développeurs web la prise en charge de l'édition des styles créés par les frameworks CSS-in-JS à l'aide de l'API CSSOM (CSS Object Model), ainsi que des styles ajoutés via JavaScript. Le panneau d'audit a été mis à jour vers la version , qui introduit de nouvelles métriques : Largest Contentful Paint (LCP), Cumulative Layout Shift (CLS) et Total Blocking Time (TBT).
- Dans le tableau de bord de performance, les informations sur . En cas de navigation de l'utilisateur sur la page, la barre affichera le temps relatif au début de la navigation, plutôt qu'au début de l'enregistrement.
En plus des nouveautés et des corrections de bogues, la nouvelle version corrige . De nombreuses vulnérabilités ont été identifiées grâce à des tests automatisés réalisés avec des outils , , , et . Aucune problème critique permettant de contourner tous les niveaux de protection du navigateur et d'exécuter du code en dehors de l'environnement sandbox n'a été détecté. Dans le cadre du programme de récompense pour la découverte de vulnérabilités, pour la version actuelle, Google a versé 14 primes d'une valeur totale de 10 000 dollars (une prime de 5 000 dollars, trois primes de 1 000 dollars et quatre primes de 500 dollars). Le montant des 6 récompenses n'a pas encore été déterminé.
Source : opennet.ru
