Sortie de Chrome 74

La société Google présentée la sortie du navigateur web Chrome 74. En même temps disponible version stable du projet open source Chromium, qui sert de base à Chrome. Le navigateur Chrome se distingue l'utilisation des logos Google, la possibilité de télécharger le module Flash sur demande, la présence d'un système d'envoi de notifications en cas de plantage, des modules pour la lecture de contenu vidéo protégé, un système de mise à jour automatique et la transmission lors des recherches des paramètres RLZ. La prochaine version de Chrome 75 est prévue pour le 4 juin.

Principales modifications dans Chrome 74:

  • Lorsqu'un événement onUnload se produit, déclenché par la fermeture de la page, désormais il est interdit d'afficher des fenêtres pop-up (l'appel de window.open() est bloqué), ce qui protègera les utilisateurs contre l'ouverture de pages publicitaires forcées après la fermeture de sites douteux ;
  • Dans le moteur JavaScript réalisée un nouveau mode JIT-less (le drapeau « --jitless »), permet d'exécuter du JavaScript sans utiliser JIT (seule l'interpréteur est utilisé) et sans allouer de mémoire exécutable lors de l'exécution du code. Désactiver JIT peut être utile pour augmenter la sécurité lors du travail avec des applications web potentiellement dangereuses, ainsi que pour garantir un fonctionnement sur des plateformes interdisant l'utilisation de JIT (par exemple, sur iOS, certaines Smart TV et consoles de jeux). Lorsque JIT est désactivé, la performance d'exécution de JavaScript diminue de 40 % dans le test Speedometer 2.0 et de 80 % dans le test Web Tooling Benchmark, mais lors de la simulation d'utilisation de YouTube, la réduction de performance n'a été que de 6 %. La consommation de mémoire diminue légèrement, d'à peine 1,7 % ;
  • Dans V8, une grande quantité de nouvelles optimisations a également été proposée. Par exemple, l'exécution des appels de fonctions où le nombre réel de paramètres passés ne correspond pas au nombre d'arguments spécifié lors de la définition de la fonction a été accélérée de 60 %. L'accès aux propriétés DOM via la fonction get a également été amélioré, ce qui a eu un impact positif sur la performance du framework Angular. L'analyse du JavaScript a été accélérée : l'optimisation du décodeur UTF-8 a permis d'augmenter la performance du parseur en mode streaming (analyse au fur et à mesure du chargement) de 8 %, tandis que l'élimination des opérations de déduplication supplémentaires a entraîné un gain supplémentaire de 10,5 % ;
  • Un travail a été effectué pour réduire la consommation de mémoire du moteur JavaScript.
    Ajout d'un code pour nettoyer le cache des octets, qui représente environ 15 % de la taille totale du tas. Une étape a été ajoutée au ramasse-miettes pour évincer du cache le bytecode rarement compilé des fonctions utilisées ou des fonctions appelées uniquement lors de l'initialisation. La décision de nettoyage est prise sur la base de nouveaux compteurs tenant compte du dernier accès au bytecode. Ce changement a permis de réduire la consommation de mémoire de 5 à 15 % sans impact négatif sur les performances. De plus, le compilateur de bytecode exclut la génération de code notoirement inutilisé, comme celui qui suit un return ou un break (s'il n'y a pas de saut).

    Sortie de Chrome 74
  • Pour WebAssembly réalisée prend en charge les threads et les opérations atomiques (API WebAssembly Threads et WebAssembly Atomics);
  • Pour la livraison isolée des scripts, un support pour l'en-tête «#!» a été ajouté, définissant l'interpréteur à utiliser. Par exemple, à l'instar d'autres langages de script, un fichier JavaScript pourrait ressembler à ceci :

    #!/usr/bin/env node
    console.log(42);

  • Un nouveau media-query «prefers-reduced-motion» a été ajouté en CSS, permettant au site de déterminer l'état des paramètres du système d'exploitation liés à la désactivation des effets animés. Grâce à cette requête, le propriétaire du site peut peut savoir que l'utilisateur a désactivé les effets animés et également désactiver diverses fonctionnalités d'animation sur le site, par exemple, supprimer l'effet de tremblement des boutons utilisés pour attirer l'attention;
  • En plus de la possibilité d'identifier des champs publics introduite dans Chrome 72, le support a été mis en œuvre pour marquer les champs comme privés, rendant l'accès à leurs valeurs uniquement disponible à l'intérieur de la classe. Pour marquer un champ comme privé, il convient d'ajouter le signe «#» devant le nom du champ. Comme pour les champs publics, les propriétés privées ne nécessitent pas l'utilisation explicite du constructeur.
  • L'en-tête HTTP Feature-Policy, permettant de gérer le comportement des API et l'activation de certaines fonctionnalités (par exemple, il est possible d'activer le mode de fonctionnement synchrone de XMLHttpRequest ou de désactiver l'API de géolocalisation), a été complété par l'API JavaScript pour contrôler l'activation de certaines fonctionnalités. Deux nouvelles méthodes document.featurePolicy et frame.featurePolicy ont été proposées aux développeurs, offrant trois fonctions :
    allowedFeatures() pour obtenir la liste des fonctions autorisées pour le domaine actuel, allowsFeature() pour vérifier sélectivement l'activation de fonctionnalités spécifiques et getAllowlistForFeature() pour afficher la liste des domaines pour lesquels une certaine fonctionnalité est autorisée sur la page actuelle;
  • Ajout d'un support expérimental («chrome://flags#enable-text-fragment-anchor») pour le mode Scroll-To-Text, permettant de créer des liens vers des mots ou des phrases spécifiques, sans avoir à indiquer explicitement des balises dans le document avec la balise « a name » ou la propriété « id ». Pour transmettre le lien, un paramètre spécial « #targetText= » est proposé, dans lequel vous pouvez indiquer le texte pour la redirection. Il est possible d'utiliser un masque comprenant des phrases indiquant le début et la fin du fragment à l'aide d'une virgule comme séparateur (par exemple, « example.com#targetText=startwords, endwords »);
  • Une option a été ajoutée au constructeur AudioContext sampleRate, permettant de définir la fréquence d'échantillonnage pour les opérations sonores via l'API Web Audio;
  • Ajout du support de la classe Intl.Locale, fournissant des méthodes pour analyser et traiter les paramètres de langue, de région et de script définis par la locale, ainsi que pour lire et écrire des balises d'extensions Unicode, sauvegardant les préférences de la locale de l'utilisateur dans un format sérialisé;
  • Le mécanisme Échanges HTTP Signés (SXG) étendu avec des outils pour informer les distributeurs de contenu concernant les erreurs de chargement du contenu signé, telles que les problèmes de vérification des certificats. Le traitement des erreurs est effectué via des extensions de l'API Journalisation des Erreurs Réseau. Rappelons que SXG d'installer permet au propriétaire d'un site, par le biais d'une signature numérique, d'autoriser l'hébergement de certaines pages sur un autre site, après quoi, lorsque ces pages sont consultées sur le second site, le navigateur affichera l'URL du site d'origine à l'utilisateur, même si la page a été chargée d'un autre hôte;
  • La classe TextEncoder a été ajoutée avec la méthode encodeInto(), permettant d'écrire une chaîne codée directement dans un tampon préalloué. La méthode encodeInto() est une alternative à haute performance à la méthode encode(), nécessitant l'allocation d'un tampon à chaque appel.
  • Dans le Service worker la livraison par défaut de la version de Firefox basée sur Wayland est assurée. Des problèmes d'utilisation des pilotes binaires propriétaires NVIDIA avec Wayland ont été résolus. la mise en mémoire tampon de l'appel client.postMessage() jusqu'à ce que le document soit prêt. Les messages envoyés via client.postMessage() seront retenus jusqu'à l'étape de génération de l'événement DOMContentLoaded, l'établissement de onmessage ou l'appel de startMessages();
  • Conformément aux exigences de la spécification CSS Transitions ajoutées les événements transitionrun, transitioncancel, transitionstart et transitionend, générés lorsque la transition CSS est mise en file d'attente, annulée, commence ou se termine.
  • Lors de la spécification d'un type MIME incorrect ou d'un encodage de caractères pour une requête XMLHttpRequest via overrideMimeType(), il y a maintenant un retour à UTF-8 au lieu de Latin-1;
  • La propriété « allow-downloads-without-user-activation » a été déclarée obsolète et sera supprimée dans une des prochaines versions. Cette propriété permettait d'organiser le téléchargement automatique de fichiers lors du traitement des iframes. À l'avenir, l'initiation de téléchargements sans action explicite de l'utilisateur sera interdite, car elle a été largement utilisée pour des abus, pour imposer des téléchargements et intégrer des parties de logiciels malveillants sur l'ordinateur de l'utilisateur. Un clic de l'utilisateur sur la même page sera désormais nécessaire pour initier un téléchargement. À l'origine, cette propriété devait être supprimée dans Chrome 74, mais la suppression a été reportée reportée à Chrome 76.
  • Pour la plateforme Windows, un thème sombre optionnel pour l'interface a été proposé (dans la version précédente, le thème sombre était préparé pour macOS). Étant donné que le thème sombre est presque identique à celui du mode incognito, un indicateur spécial a été ajouté pour mettre en évidence le mode privé au lieu de l'icône du profil utilisateur;
  • Une nouvelle fonctionnalité a été ajoutée pour les utilisateurs professionnels Chrome Browser Cloud Management pour gérer les paramètres des navigateurs utilisateurs via la console Google Admin;

    Sortie de Chrome 74

En plus des nouveautés et des corrections de bogues, la nouvelle version corrige 39 vulnérabilités. De nombreuses vulnérabilités ont été identifiées grâce à des tests automatisés réalisés avec des 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 en dehors de l'environnement sandbox n'a été identifié. Dans le cadre du programme de récompense financière pour la découverte de vulnérabilités de la version actuelle, Google a versé 19 primes d'un montant total de 26 837 dollars (quatre primes de 3000 $, quatre primes de 2000 $, une prime de 1337 $, quatre primes de 1000 $, trois primes de 500 $). Le montant de 4 des récompenses n'est pas encore déterminé.

Source : opennet.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster