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 81 est prĂ©vue pour le 17 mars.
:
- Pour un petit pourcentage d'utilisateurs, une fonctionnalité de regroupement des onglets est proposée, permettant de regrouper plusieurs onglets similaires en groupes visuellement distincts. à chaque groupe, on peut attacher une couleur et un nom propres. Les utilisateurs non inclus dans le premier lot d'activation peuvent activer le support du regroupement via l'option « chrome://flags/#tab-groups ».
- Le support de la fonction , qui permet de crĂ©er des liens vers des mots ou des phrases spĂ©cifiques, sans mention explicite dans le document des balises par le biais de la balise « a name » ou de la propriĂ©tĂ© « id ». La syntaxe de ces liens devrait ĂȘtre validĂ©e comme norme web, qui est encore en phase . Le masque de transition (effectuant essentiellement une recherche avec dĂ©filement) se sĂ©pare de l'ancre classique par le signe « :~: ». Par exemple, en ouvrant le lien « https://opennet.ru/52312/#:~:text=ChromĐ” », la page se dĂ©placera vers la position avec la premiĂšre mention du mot « ChromĐ” » et ce mot sera mis en surbrillance.
- une restriction plus stricte concernant le transfert de Cookies entre sites, interdisant le traitement des Cookies tiers lors des requĂȘtes non HTTPS, qui sont Ă©mis lors de l'accĂšs Ă des sites autres que le domaine de la page actuelle. Ces Cookies sont utilisĂ©s pour suivre les mouvements de l'utilisateur entre les sites dans le code des rĂ©seaux publicitaires, des widgets de rĂ©seaux sociaux et des systĂšmes d'analyse web. Rappelons que la gestion du transfert de Cookies utilise l'attribut SameSite indiquĂ© dans l'en-tĂȘte Set-Cookie, qui est dĂ©sormais par dĂ©faut rĂ©glĂ© sur « SameSite=Lax », limitant l'envoi de Cookies pour les sous-requĂȘtes intersites, telles que la demande d'image ou le chargement de contenu via iframe depuis un autre site. Les sites peuvent remplacer le mode SameSite par dĂ©faut en prĂ©cisant la valeur SameSite=None lors de l'Ă©tablissement des Cookies. Cependant, la valeur SameSite=None pour les Cookies ne peut ĂȘtre dĂ©finie qu'en mode Secure (pour les connexions via HTTPS). Le changement commencera par des Ă©tapes le 17 fĂ©vrier, d'abord pour un petit pourcentage d'utilisateurs, puis en Ă©largissant progressivement la portĂ©e.
- protection contre les notifications intrusives liĂ©es Ă la confirmation des permissions. Ătant donnĂ© que de telles activitĂ©s, par exemple, le spam avec des demandes de notifications push, interrompent le travail de l'utilisateur et dĂ©tournent l'attention vers les actions dans les dialogues de confirmation, dans Chrome 80, au lieu d'une boĂźte de dialogue distincte, une infobulle peut dĂ©sormais s'afficher dans la barre d'adresse avec un avertissement sur le blocage de la demande de permission, qui se rĂ©duit ensuite en un indicateur avec une cloche barrĂ©e. En cliquant sur l'indicateur, il est possible d'accepter ou de refuser la permission demandĂ©e Ă tout moment. Le nouveau mode sera activĂ© automatiquement de maniĂšre sĂ©lective pour les utilisateurs qui avaient prĂ©cĂ©demment tendance Ă bloquer ce type de demandes, ainsi que pour les sites oĂč un taux Ă©levĂ© de refus de demandes est constatĂ©. Une option spĂ©ciale a Ă©tĂ© ajoutĂ©e aux paramĂštres pour activer le nouveau mode pour toutes les demandes (chrome://flags/#quiet-notification-prompts).
- l'affichage de fenĂȘtres contextuelles (en appelant la mĂ©thode window.open()) et l'envoi de requĂȘtes synchrones XMLHttpRequest dans les gestionnaires d'Ă©vĂ©nements de fermeture ou de masquage de page (unload, beforeunload, pagehide et visibilitychange);
- Une protection initiale de charger du contenu multimédia mixte (lorsque des ressources sont chargées via le protocole http sur une page HTTPS). Sur les pages ouvertes en HTTPS, les liens «http://» seront désormais automatiquement remplacés par «https://» dans les blocs liés à la lecture de fichiers audio et vidéo. Si une ressource audio ou vidéo n'est pas disponible sur https, son chargement sera bloqué (il est possible de marquer le blocage manuellement via le menu accessible via l'icÎne du cadenas dans la barre d'adresse).
Les images continueront Ă se charger sans changement (le remplacement automatique sera appliquĂ© dans Chrome 81), mais pour le remplacement en https ou le blocage des images, les dĂ©veloppeurs de sites disposent des propriĂ©tĂ©s CSP upgrade-insecure-requests et block-all-mixed-content. Pour les scripts et les iframe, le blocage du contenu mixte a dĂ©jĂ Ă©tĂ© mis en Ćuvre auparavant.
- Le processus de du support FTP a commencĂ©. Par dĂ©faut, le support FTP reste pour l'instant en place, mais un rĂ©alisĂ©, dans lequel pour un certain pourcentage d'utilisateurs, le support FTP sera dĂ©sactivĂ© (pour revenir, il faudra lancer le navigateur avec l'option «âenable-ftp»). Rappelons qu'auparavant, l'affichage dans la fenĂȘtre du navigateur du contenu des ressources chargĂ©es via le protocole «ftp://» (par exemple, l'affichage des documents HTML et des fichiers README a Ă©tĂ© interrompu), l'utilisation de FTP pour le chargement de sous-ressources Ă partir de documents a Ă©tĂ© interdite et le support du proxy pour FTP a cessĂ©. NĂ©anmoins, il Ă©tait encore possible de charger des fichiers via des liens directs et d'afficher le contenu des rĂ©pertoires.
-
la possibilité d'utiliser des images SVG vectorielles comme icÎne de site (favicon). - Dans les paramÚtres, la possibilité de désactiver sélectivement certains types de données transmises lors de la synchronisation entre les navigateurs a été ajoutée.
- Pour les utilisateurs d'entreprise administrés de maniÚre centralisée, une rÚgle a été ajoutée , permettant d'interdire l'installation d'extensions externes sur l'appareil.
- Mise en Ćuvre de vĂ©rification instantanĂ©e de toute la chaĂźne de propriĂ©tĂ©s ou d'appels en JavaScript. Par exemple, lors de l'accĂšs à «db.user.name.length», il Ă©tait auparavant nĂ©cessaire de vĂ©rifier Ă©tape par Ă©tape la dĂ©finition de toutes les parties composĂ©es, par exemple via «if (db && db.user && db.user.name)». DĂ©sormais, grĂące Ă l'opĂ©ration «?.», vous pouvez accĂ©der Ă la valeur «db?.user?.name?.length» sans vĂ©rifications prĂ©alables, et cet accĂšs ne dĂ©clenchera pas d'erreur. En cas de problĂšme (si un Ă©lĂ©ment est traitĂ© comme null ou undefined), la sortie sera «undefined».
- Un nouvel opĂ©rateur logique de fusion ««, qui renvoie l'opĂ©rande de droite si l'opĂ©rande de gauche a la valeur NULL ou undefined, et vice versa. Par exemple, «const foo = bar ?? âchaĂźne par dĂ©faut'» si bar est Ă©gal Ă null, renverra la chaĂźne ou la valeur de bar dans le cas contraire, y compris lorsque bar est Ă©gal Ă 0 et â â, contrairement Ă l'opĂ©rateur «||».
- Dans le mode Origin Trials (fonctionnalités expérimentales nécessitant une ) un API de Content Indexing a été proposé. Le trial d'origine implique la possibilité de travailler avec cette API à partir d'applications chargées depuis localhost ou 127.0.0.1, ou aprÚs enregistrement et obtention d'un jeton spécial, qui est valide un temps limité pour un site spécifique. L'API , fournit des métadonnées sur le contenu qui a été précédemment mis en cache par des applications web fonctionnant en mode Progressive Web Apps (PWA). L'application peut sauvegarder divers types de données dans le navigateur, y compris des images, des vidéos et des articles, et en cas de perte de connexion réseau, les utiliser via l'API Cache Storage et IndexedDB. L'API Content Indexing permet d'ajouter, de trouver et de supprimer de telles ressources. Dans le navigateur, cette API est déjà utilisée pour l'énumération des pages et des données multimédias disponibles à visualiser hors ligne.
- L'interface de programmation a Ă©tĂ© stabilisĂ©e et est maintenant distribuĂ©e en dehors des Origin Trials , permettant Ă l'utilisateur de sĂ©lectionner des enregistrements dans son carnet d'adresses et de transmettre certaines informations sur ceux-ci au site. Lors de la requĂȘte, une liste de propriĂ©tĂ©s Ă rĂ©cupĂ©rer est dĂ©finie. Ces propriĂ©tĂ©s sont clairement affichĂ©es Ă l'utilisateur, qui dĂ©cide ensuite si elles doivent ĂȘtre transmises ou non. L'API peut ĂȘtre utilisĂ©e, par exemple, dans un client web de messagerie pour choisir les destinataires d'un e-mail envoyĂ©, dans une application web avec fonction VoIP pour initier un appel vers un numĂ©ro spĂ©cifique ou dans un rĂ©seau social pour rechercher des amis dĂ©jĂ enregistrĂ©s. Dans le cadre des Origin Trials, certaines nouvelles propriĂ©tĂ©s du sĂ©lecteur de contacts ont Ă©tĂ© proposĂ©es : en plus des informations prĂ©cĂ©demment disponibles comme le nom complet, l'email et le numĂ©ro de tĂ©lĂ©phone, la possibilitĂ© de transmettre une adresse postale et une image a Ă©tĂ© ajoutĂ©e.
- Dans les Web Workers une nouvelle mĂ©thode de chargement de modules ECMAScript, permettant de se passer de la fonction importScripts(), qui bloque le fonctionnement du worker pendant le traitement du script importĂ© et l'exĂ©cute dans le contexte global. La nouvelle mĂ©thode implique la crĂ©ation de modules spĂ©ciaux pour les Web Workers, qui prennent en charge les mĂ©canismes d'importation standard de JavaScript et peuvent ĂȘtre chargĂ©s dynamiquement, sans bloquer l'exĂ©cution du worker. Pour le chargement des modules, un nouveau type de ressource a Ă©tĂ© prĂ©vu dans le constructeur Worker â âmoduleâ :
const worker = new Worker(âworker.jsâ, {
type: âmoduleâ
}); - une fonctionnalité intégrée de traitement en JavaScript pour les flux compressés, ne nécessitant pas de bibliothÚques externes. Pour la compression et la décompression, des API ont été ajoutées . La compression utilisant les algorithmes gzip et deflate est supportée.
const compressionReadableStream
= inputReadableStream.pipeThrough(new CompressionStream(âgzipâ)); - Une propriĂ©tĂ© CSS ««, permettant des ruptures au niveau de tout caractĂšre typographique, y compris des ruptures Ă proximitĂ© de signes de ponctuation, des espaces prĂ©dĂ©finis (<pre>) et au milieu des mots. Une autre propriĂ©tĂ© CSS «» a Ă©galement Ă©tĂ© ajoutĂ©e, permettant de rompre des sĂ©quences de caractĂšres non sĂ©parables Ă tout moment, si aucune position adĂ©quate pour la rupture n'a pu ĂȘtre trouvĂ©e dans la ligne.
- Pour le contexte multimĂ©dia, traitĂ© de maniĂšre chiffrĂ©e, le support de la mĂ©thode , fournissant des informations sur les capacitĂ©s du navigateur liĂ©es au dĂ©codage de contenu protĂ©gĂ© (par exemple, la mĂ©thode spĂ©cifiĂ©e peut ĂȘtre utilisĂ©e pour choisir des scĂ©narios de dĂ©codage de haute qualitĂ© ou Ă©conomisant de l'Ă©nergie, en tenant compte de la bande passante disponible et de la taille de l'Ă©cran).
- Méthode ajoutée , permettant d'obtenir des informations sur la performance de la lecture vidéo pour ajuster le débit binaire, la résolution et d'autres paramÚtres vidéo.
- Dans l'API , qui facilite l'intégration avec les systÚmes de paiement existants, la possibilité a été ajoutée du traitement des adresses et des informations de contact à un gestionnaire de paiement externe (l'application du systÚme de paiement peut disposer d'informations plus précises que le navigateur).
- Ajout du support de l'en-tĂȘte HTTP , permettant d'envoyer des mĂ©tadonnĂ©es supplĂ©mentaires sur le type de contenu liĂ© Ă la demande (par exemple, pour une demande via une balise img, le type 'image' est spĂ©cifiĂ©, pour les polices â 'font', pour les scripts â 'script', pour les styles â 'style', etc.). Sur la base du type spĂ©cifiĂ©, le serveur peut prendre des mesures pour se protĂ©ger contre certains types d'attaques (par exemple, il est peu probable qu'un lien vers un gestionnaire pour effectuer un transfert d'argent soit dĂ©fini via une balise img, donc ces demandes n'ont pas besoin d'ĂȘtre traitĂ©es).
- Dans le moteur JavaScript V8 du stockage des pointeurs dans le tas. Au lieu de stocker une valeur complÚte de 64 bits, seul les bits inférieurs uniques du pointeur sont conservés. Une telle optimisation a permis de réduire la consommation de mémoire dans le tas de 40 %, en contrepartie d'une diminution des performances de 3 à 8 %.


- dans les outils pour les développeurs web :
- Dans la console web, il est désormais possible de redéfinir les expressions let et class.
- Les outils de dĂ©bogage WebAssembly ont Ă©tĂ© amĂ©liorĂ©s. Ajout du support pour le dĂ©bogage Ă©tape par Ă©tape, la dĂ©finition de points d'arrĂȘt et l'analyse des traces de pile dans le code source sur lequel l'application WebAssembly est Ă©crite.
- Le panneau d'analyse de l'activité réseau a été amélioré. Ajout de la possibilité de visualiser la chaßne d'appels de scripts associée à l'initiation de la demande.
De nouvelles colonnes Path et URL ont Ă©tĂ© ajoutĂ©es, affichant le chemin absolu et l'URL complĂšte pour chaque ressource rĂ©seau. La requĂȘte sĂ©lectionnĂ©e est mise en surbrillance dans le graphique rĂ©capitulatif.
- Un option a été ajoutée dans l'onglet Network Conditions pour modifier le paramÚtre User-Agent.
- Une nouvelle interface pour la configuration du panneau d'audit a été proposée.
- Dans l'onglet un choix est maintenant offert pour la collecte des données de couverture pour chaque fonction ou bloc de code (statistiques plus détaillées, mais nécessitant plus de ressources).
- Dans la console web, il est désormais possible de redéfinir les expressions let et class.
- L'action du manifeste AppCache (technologie pour organiser le fonctionnement des applications web en mode hors ligne) au rĂ©pertoire actuel du site (si le manifeste a Ă©tĂ© chargĂ© depuis www.example.com/foo/bar/, la possibilitĂ© de redĂ©finir l'URL ne sera valable que dans /foo/bar/). Dans Chrome 82, le support d'AppCache devrait ĂȘtre complĂštement supprimĂ©. Cela est justifiĂ© par le dĂ©sir de supprimer l'un des vecteurs pour les attaques liĂ©es au script intersite. Au lieu d'AppCache, l'utilisation de l'API .
- le support de l'API WebVR 1.1 est obsolÚte, remplaçable par l'API , permettant d'accéder aux composants pour créer des réalités virtuelles et augmentées, et unifier le travail avec différentes classes d'appareils, des casques de réalité virtuelle stationnaires aux solutions mobiles.
- Les gestionnaires de protocoles, connectés via les méthodes registerProtocolHandler() et unregisterProtocolHandler(), ne peuvent maintenant fonctionner que dans un contexte sécurisé (accÚs via HTTPS).
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écompenses pour la découverte de vulnérabilités pour cette version, Google a versé 37 primes d'un total de 48 000 dollars (une prime de 10 000 dollars, trois primes de 5 000 dollars, trois primes de 3 000 dollars, quatre primes de 2 000 dollars, trois primes de 1 000 dollars et six primes de 500 dollars). Le montant de 17 primes n'est pas encore déterminé.
Source : opennet.ru


