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 77 est prĂ©vue pour le 10 septembre.
:
- Par dĂ©faut, le mode de protection contre l'envoi de cookies tiers, qui, en l'absence de l'attribut SameSite dans l'en-tĂȘte Set-Cookie, dĂ©finit par dĂ©faut la valeur « SameSite=Lax », limitant l'envoi de cookies pour les intĂ©grations provenant de sites tiers (mais les sites peuvent toujours annuler cette restriction en dĂ©finissant explicitement lors de l'installation du cookie la valeur SameSite=None). Jusqu'Ă prĂ©sent, le navigateur envoyait des cookies Ă toute requĂȘte Ă un site pour lequel des cookies Ă©taient dĂ©finis, mĂȘme si le site initialement ouvert Ă©tait diffĂ©rent, et que la demande Ă©tait effectuĂ©e indirectement via le chargement d'une image ou via un iframe. En mode 'Lax', l'envoi de cookies est bloquĂ© uniquement pour les sous-requĂȘtes intersites, telles que les requĂȘtes d'images ou le chargement de contenu via des iframes, souvent utilisĂ©s pour organiser des attaques CSRF et pour suivre les mouvements des utilisateurs entre les sites.
- La lecture de contenu Flash est arrĂȘtĂ©e par dĂ©faut. Avant la sortie de Chrome 87, prĂ©vue pour dĂ©cembre 2020, il sera possible de restaurer le support Flash dans les paramĂštres (AvancĂ© > ConfidentialitĂ© et sĂ©curitĂ© > ParamĂštres du site) avec confirmation explicite de la lecture du contenu Flash pour chaque site (la confirmation est mĂ©morisĂ©e jusqu'au redĂ©marrage du navigateur). La suppression complĂšte du code pour assurer le support de Flash est synchronisĂ©e avec le plan prĂ©cĂ©demment annoncĂ© par Adobe de cesser de prendre en charge la technologie Flash en 2020.
- Pour les entreprises, une fonction de recherche de fichiers dans le stockage Google Drive a été ajoutée à la barre d'adresse.
- L'intégration dans Chrome des publicités inacceptables qui nuisent à la perception du contenu et ne répondent pas aux critÚres énoncés par la Coalition pour l'amélioration de la publicité.
- Un mode adaptatif a Ă©tĂ© implĂ©mentĂ© pour le chargement d'une nouvelle page, dans lequel le nettoyage du contenu actuel et l'affichage d'un fond blanc ne se font pas immĂ©diatement, mais avec un lĂ©ger retard. Pour les pages se chargeant rapidement, le nettoyage ne provoque qu'un clignotement et n'apporte aucune information utile Ă l'utilisateur sur le dĂ©but du chargement de la nouvelle page. Dans cette nouvelle version, si la page se charge rapidement et respecte un lĂ©ger dĂ©lai, la nouvelle page s'affiche sur place, remplaçant sans couture l'ancienne (par exemple, pratique lors du passage Ă d'autres pages du mĂȘme site ayant un design et une palette de couleurs similaires). Si l'affichage de la page nĂ©cessite un temps visible pour l'utilisateur, l'Ă©cran sera Ă nouveau nettoyĂ© comme auparavant ;
- Les critĂšres de dĂ©termination de l'activitĂ© de l'utilisateur sur la page ont Ă©tĂ© renforcĂ©s. Chrome autorise l'affichage de notifications pop-up et la lecture de contenu vidĂ©o/audio intrusif uniquement aprĂšs des actions de l'utilisateur sur la page. Dans cette nouvelle version, la pression sur Ăchap, le survol d'un lien et le contact avec l'Ă©cran ne sont plus considĂ©rĂ©s comme une interaction activant la page (un clic explicite, une saisie de texte ou un dĂ©filement sont requis) ;
- une media query «prefers-color-scheme», permettant aux sites de déterminer l'utilisation d'un thÚme sombre dans le navigateur et d'activer automatiquement le thÚme sombre pour le site consulté.
- Lors de l'activation du thÚme sombre dans les versions pour Linux, la barre d'adresse s'affiche désormais en couleur sombre ;
- la possibilitĂ© de dĂ©terminer l'ouverture d'une page en mode incognito via des manipulations avec l'API FileSystem, qui Ă©tait utilisĂ©e prĂ©cĂ©demment par certains mĂ©dias pour imposer un abonnement payant en cas d'ouverture anonymisĂ©e de pages sans mĂ©moire des cookies (pour empĂȘcher les utilisateurs d'utiliser le mode privĂ© pour contourner le mĂ©canisme d'accĂšs gratuit). Auparavant, en mode incognito, le navigateur bloquait l'accĂšs Ă l'API FileSystem pour Ă©viter que des donnĂ©es ne subsistent entre les sessions, ce qui permettait par JavaScript de vĂ©rifier la possibilitĂ© de sauvegarder des donnĂ©es via l'API FileSystem et, en cas d'Ă©chec, de juger de l'activitĂ© du mode incognito. Maintenant, l'accĂšs Ă l'API FileSystem n'est plus bloquĂ©, et le contenu est nettoyĂ© Ă la fin de la session ;
- de nouveaux appels dans
API Request de Paiement et Payment Handler. La méthode changePaymentMethod() a été ajoutée à l'objet PaymentRequestEvent, et un nouveau gestionnaire d'événements paymentmethodchange a été ajouté à l'objet PaymentRequest. Cela permet à la plateforme de paiement ou à l'application web de réagir à un changement de méthode de paiement par l'utilisateur. Dans cette nouvelle version, le test des applications utilisant des certificats auto-signés a également été facilité dans les API de paiement. Une nouvelle option de ligne de commande « --ignore-certificate-errors » a été ajoutée pour ignorer les erreurs de vérification de certificats durant le développement. - Dans la barre d'adresse, à cÎté du bouton d'ajout aux favoris pour les applications web fonctionnant en mode Desktop Progressive Web Apps (PWA), un raccourci pour installer l'application web sur le systÚme pour fonctionner comme un programme autonome ;
- Pour les appareils mobiles, une gestion de l'affichage d'un mini-panneau d'invitation Ă ajouter l'application Ă l'Ă©cran d'accueil a Ă©tĂ© proposĂ©e. Pour les applications PWA (Progressive Web App), le mini-panneau s'affiche automatiquement par dĂ©faut lors de la premiĂšre ouverture du site. Le dĂ©veloppeur peut maintenant choisir de ne pas afficher ce panneau et de mettre en Ćuvre sa propre invitation Ă l'installation, pour cela un gestionnaire d'Ă©vĂ©nements peut ĂȘtre installĂ©
beforeinstallprompt et lier l'appel preventDefault(); - La fréquence de vérification des mises à jour pour les applications PWA (Progressive Web App) installées dans l'environnement Android a été augmentée. Les mises à jour du WebAPK sont désormais vérifiées tous les jours, au lieu d'une fois tous les trois jours comme auparavant. Si un changement d'une propriété clé est détecté dans le manifeste lors de cette vérification, le navigateur téléchargera et installera le nouveau WebAPK ;
- Dans l'API la possibilité de lire et d'écrire des images via le presse-papiers a été ajoutée, en utilisant les méthodes navigator.clipboard.read() et navigator.clipboard.write();
- Le support d'un groupe d'en-tĂȘtes HTTP a Ă©tĂ© mis en Ćuvre (Sec-Fetch-Dest, Sec-Fetch-Mode, Sec-Fetch-Site et Sec-Fetch-User), permettant d'envoyer des mĂ©tadonnĂ©es supplĂ©mentaires concernant la nature de la demande (demande intersites, demande via une balise img, etc.) afin que des mesures de protection puissent ĂȘtre prises sur le serveur contre certains types d'attaques (par exemple, il est peu probable qu'un lien vers un gestionnaire pour transfĂ©rer de l'argent soit spĂ©cifiĂ© via une balise img, donc de telles demandes peuvent ĂȘtre bloquĂ©es sans transmettre Ă l'application);
- Une fonction a Ă©tĂ© ajoutĂ©e , qui initie l'envoi programmĂ© des donnĂ©es de formulaire de maniĂšre similaire Ă un clic sur le bouton d'envoi. Cette fonction peut ĂȘtre utilisĂ©e lors du dĂ©veloppement de boutons d'envoi personnalisĂ©s, pour lesquels l'appel Ă form.submit() n'est pas suffisant car il ne dĂ©clenche pas de validation interactive des paramĂštres, de gĂ©nĂ©ration d'Ă©vĂ©nements 'submit' et de transmission des donnĂ©es associĂ©es au bouton d'envoi;
- Une fonctionnalitĂ© a Ă©tĂ© ajoutĂ©e Ă IndexedDB , permettant de valider les transactions liĂ©es Ă l'objet IDBTransaction sans attendre la fin des gestionnaires d'Ă©vĂ©nements de toutes les requĂȘtes associĂ©es. L'utilisation de commit() permet d'augmenter le dĂ©bit des requĂȘtes d'Ă©criture et de lecture dans le stockage et de contrĂŽler explicitement la finalisation de la transaction;
- Dans la fonction Intl.DateTimeFormat, des options telles que , ont été ajoutées pour demander des styles d'affichage de date et d'heure spécifiques à la locale;
- La méthode BigInt.prototype.toLocaleString() a été modifiée pour formater les nombres en tenant compte de la locale, et la méthode Intl.NumberFormat.prototype.format() ainsi que la fonction formatToParts() ont été adaptées pour prendre en charge les valeurs d'entrée de type BigInt;
- L'utilisation de l'API est autorisĂ©e dans tous les types de Web Workers, ce qui peut ĂȘtre utilisĂ© pour choisir les options optimales lors de la crĂ©ation d'un MediaStream Ă partir d'un worker;
- Méthode ajoutée , qui ne retourne que les promesses déjà exécutées ou rejetées, sans tenir compte des promesses en attente d'exécution;
- L'option 'âdisable-infobars' a Ă©tĂ© supprimĂ©e, qui pouvait auparavant ĂȘtre utilisĂ©e pour masquer les avertissements contextuels dans l'interface de Chrome (une rĂšgle CommandLineFlagSecurityWarningsEnabled a Ă©tĂ© proposĂ©e pour masquer les avertissements liĂ©s Ă la sĂ©curitĂ©);
- Dans l'interface de travail avec des blobs les méthodes text(), arrayBuffer() et stream() pour lire des types de données spécifiques;
- La propriĂ©tĂ© CSS 'white-space: break-spaces' a Ă©tĂ© ajoutĂ©e, dĂ©finissant que toute sĂ©quence d'espaces entraĂźnant un dĂ©bordement de ligne doit ĂȘtre cassĂ©e;
- Le travail a commencĂ© sur le nettoyage des drapeaux dans chrome://flags, par exemple, le drapeau pour dĂ©sactiver l'attribut 'ping', permettant aux propriĂ©taires de sites de suivre les clics sur les liens de leurs pages. Lorsqu'un lien est cliquĂ© avec l'attribut 'ping=URL' dans la balise 'a href', l'envoi d'une requĂȘte POST supplĂ©mentaire Ă l'URL spĂ©cifiĂ©e dans l'attribut avec des informations sur le clic ne peut dĂ©sormais pas ĂȘtre dĂ©sactivĂ© dans le navigateur. Le sens de bloquer le ping est perdu car cet attribut dans les spĂ©cifications HTML5 et il existe de nombreuses mĂ©thodes de contournement pour accomplir la mĂȘme action (par exemple, un proxy via un lien de transit ou l'interception de clics par des gestionnaires JavaScript);
- Le drapeau pour dĂ©sactiver , oĂč les pages de diffĂ©rents hĂŽtes sont toujours hĂ©bergĂ©es en mĂ©moire dans des processus diffĂ©rents, chacun appliquant son propre sandbox.
- Dans le moteur V8, la performance du scan et de l'analyse du format JSON a Ă©tĂ© considĂ©rablement amĂ©liorĂ©e. Pour les pages web populaires, la vitesse d'exĂ©cution de JSON.parse est accĂ©lĂ©rĂ©e jusqu'Ă 2,7 fois. La conversion des chaĂźnes unicode est Ă©galement considĂ©rablement accĂ©lĂ©rĂ©e, par exemple, la vitesse des appels String#localeCompare, String#normalize, ainsi que certains API Intl, a presque doublĂ©. Les performances des opĂ©rations sur des tableaux gelĂ©s utilisant des opĂ©rations comme frozen.indexOf(v), frozen.includes(v), fn(âŠfrozen), fn(âŠ[âŠfrozen]) et fn.apply(this, [âŠfrozen]) ont Ă©galement Ă©tĂ© grandement optimisĂ©es.

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 . Aucun problÚme critique n'a été identifié qui permettrait 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écompenses en espÚces pour la découverte de vulnérabilités pour cette version actuelle, Google a versé 16 primes pour un montant total de 23 500 dollars (une prime de 10 000 dollars, une prime de 6 000 dollars, deux primes de 3 000 dollars et trois primes de 500 dollars). Le montant de 9 récompenses n'a pas encore été déterminé.
Source : opennet.ru

