Sortie de Chrome 105

Google a prĂ©sentĂ© la version du navigateur web Chrome 105. En mĂȘme temps, une version stable du projet libre Chromium est disponible, qui constitue la base de Chrome. Le navigateur Chrome se distingue de Chromium par l'utilisation des logos de Google, la prĂ©sence d'un systĂšme d'envoi de notifications en cas de crash, des modules pour la lecture de contenu vidĂ©o protĂ©gĂ© contre la copie (DRM), un systĂšme de mise Ă  jour automatique, une isolation Sandbox toujours active, la fourniture de clĂ©s pour l'API Google et le passage des paramĂštres RLZ lors des recherches. Pour ceux qui ont besoin de plus de temps pour rĂ©aliser les mises Ă  jour, une branche Extended Stable est maintenue, accompagnĂ©e de 8 semaines de support. La prochaine version de Chrome 106 est prĂ©vue pour le 27 septembre.

Les principales modifications dans Chrome 105 :

  • La prise en charge des applications web spĂ©cialisĂ©es Chrome Apps a Ă©tĂ© interrompue, remplacĂ©e par des applications web autonomes basĂ©es sur la technologie Progressive Web Apps (PWA) et les API Web standard. Initialement, Google avait annoncĂ© son intention d'abandonner les Chrome Apps dĂšs 2016 et prĂ©voyait de cesser leur support d'ici 2018, mais a ensuite reportĂ© ce plan. Dans Chrome 105, une alerte apparaĂźtra lors de la tentative d'installation des applications Chrome Apps, mais ces applications pourront toujours ĂȘtre exĂ©cutĂ©es. Dans Chrome 109, la possibilitĂ© d'exĂ©cuter des Chrome Apps sera dĂ©sactivĂ©e.
  • Une isolation supplĂ©mentaire du processus «renderer», responsable du rendu, a Ă©tĂ© mise en place. Ce processus est dĂ©sormais exĂ©cutĂ© dans un conteneur supplĂ©mentaire (App Container), mis en Ɠuvre au-dessus du systĂšme d'isolation sandbox existant. En cas d'exploitation d'une vulnĂ©rabilitĂ© dans le code de rendu, ces nouvelles restrictions empĂȘcheront un attaquant d'accĂ©der au rĂ©seau en bloquant les appels systĂšme liĂ©s aux capacitĂ©s rĂ©seau.
  • Un stockage unifiĂ© propre pour les certificats racine des autoritĂ©s de certification (Chrome Root Store) a Ă©tĂ© mis en Ɠuvre. Ce nouveau stockage n'est pas encore activĂ© par dĂ©faut et, jusqu'Ă  la fin de son dĂ©ploiement, les certificats continueront Ă  ĂȘtre vĂ©rifiĂ©s en utilisant le stockage spĂ©cifique Ă  chaque systĂšme d'exploitation. La solution testĂ©e ressemble Ă  l'approche de Mozilla, qui maintient un stockage racine de certificats indĂ©pendant pour Firefox, utilisĂ© comme premier maillon pour vĂ©rifier la chaĂźne de confiance des certificats lors de l'ouverture de sites en HTTPS.
  • La fin du support de l'API Web SQL a Ă©tĂ© annoncĂ©e. Cette API, qui n'est pas standardisĂ©e, est rarement utilisĂ©e et nĂ©cessite une refonte pour rĂ©pondre aux normes de sĂ©curitĂ© modernes. Dans Chrome 105, l'accĂšs Ă  Web SQL Ă  partir de code chargĂ© sans HTTPS est interdit, et un avertissement de dĂ©prĂ©ciation de cette technologie a Ă©tĂ© ajoutĂ© dans DevTools. En 2023, l'API Web SQL sera supprimĂ©e. Pour les dĂ©veloppeurs ayant besoin de fonctionnalitĂ©s similaires, une alternative basĂ©e sur WebAssembly sera mise Ă  disposition.
  • Dans Chrome, la synchronisation a Ă©tĂ© interrompue pour les versions 73 et prĂ©cĂ©dentes.
  • Un visionneur de certificats intĂ©grĂ© a Ă©tĂ© activĂ© pour les plateformes macOS et Windows, remplaçant l'appel Ă  l'interface fournie par le systĂšme d'exploitation. Auparavant, le visionneur intĂ©grĂ© n'Ă©tait utilisĂ© que dans les versions pour Linux et ChromeOS.
  • La version pour Android a ajoutĂ© des paramĂštres pour gĂ©rer l'API « Topics & Interest Group », qui fait partie de l'initiative Privacy Sandbox et permet de dĂ©finir les catĂ©gories d'intĂ©rĂȘt des utilisateurs, en les utilisant Ă  la place des cookies de suivi pour crĂ©er des groupes d'utilisateurs avec des intĂ©rĂȘts similaires sans identifier des individus. Dans la prĂ©cĂ©dente version, de tels paramĂštres avaient Ă©tĂ© ajoutĂ©s pour Linux, ChromeOS, macOS et Windows.
  • Avec l'activation de la protection avancĂ©e du navigateur (Safe Browsing > Protection amĂ©liorĂ©e), un recueil de tĂ©lĂ©mĂ©trie sur les extensions installĂ©es, les appels Ă  l'API et les connexions Ă  des sites externes a Ă©tĂ© mis en Ɠuvre. Ces donnĂ©es sont utilisĂ©es sur les serveurs de Google pour dĂ©tecter les activitĂ©s malveillantes et les violations des rĂšgles par les extensions du navigateur.
  • La possibilitĂ© d'utiliser des caractĂšres non-ASCII dans les domaines spĂ©cifiĂ©s dans l'en-tĂȘte des cookies a Ă©tĂ© classĂ©e comme obsolĂšte et sera bloquĂ©e dans la version Chrome 106 (pour les domaines IDN, il convient d'indiquer les domaines au format punycode). Ce changement alignera le navigateur avec les exigences de RFC 6265bis et le comportement dĂ©jĂ  appliquĂ© dans Firefox.
  • L'API Custom Highlight a Ă©tĂ© proposĂ©, permettant de modifier librement le style des zones de texte surlignĂ©es et ne se limitant pas au style fixe fourni par le navigateur pour les zones surlignĂ©es (::selection, ::inactive-selection) et la mise en Ă©vidence des erreurs de syntaxe (::spelling-error, ::grammar-error). Dans cette premiĂšre version de l'API, il est possible de changer la couleur du texte et l'arriĂšre-plan Ă  l'aide des pseudo-Ă©lĂ©ments color et background-color, mais d'autres possibilitĂ©s de personnalisation seront ajoutĂ©es par la suite.

    Parmi les exemples de tĂąches pouvant ĂȘtre rĂ©solues grĂące Ă  la nouvelle API, on Ă©voque l'ajout Ă  des frameworks web fournissant des outils d'Ă©dition de texte, de mĂ©canismes de surlignage personnalisĂ©s, de diffĂ©rents surlignages lors de l'Ă©dition simultanĂ©e par plusieurs utilisateurs, de recherche dans des documents virtualisĂ©s et de marquage d'erreurs lors de la vĂ©rification orthographique. Alors qu'auparavant, la crĂ©ation d'un surlignage non standard nĂ©cessitait des manipulations complexes avec l'arbre DOM, l'API Custom Highlight offre des opĂ©rations prĂȘtes Ă  l'emploi pour ajouter et supprimer la mise en Ă©vidence, sans affecter la structure DOM et en appliquant les styles en lien avec les objets Range.

  • En CSS, la requĂȘte « @container » a Ă©tĂ© ajoutĂ©e, permettant de dĂ©finir le style des Ă©lĂ©ments en fonction de la taille de l'Ă©lĂ©ment parent. « @container » rappelle les requĂȘtes « @media », mais s'applique en lien non pas Ă  la taille de toute la zone visible, mais Ă  la taille du bloc (conteneur) dans lequel l'Ă©lĂ©ment est placĂ©, ce qui permet de dĂ©finir pour les Ă©lĂ©ments enfants une logique de sĂ©lection de style indĂ©pendante de l'emplacement exact sur la page.
    Sortie de Chrome 105
  • Ajout du pseudo-classe CSS «:has()» pour vérifier la présence d'un élément enfant dans un élément parent. Par exemple, «p:has(span)» englobe les éléments <p>, dans lesquels se trouve un élément <span>.
  • L'API HTML Sanitizer a Ă©tĂ© ajoutĂ©e, permettant d'Ă©liminer du contenu les Ă©lĂ©ments influençant l'affichage et l'exĂ©cution lors de la sortie par la mĂ©thode setHTML(). Cette API peut ĂȘtre utile pour nettoyer les donnĂ©es externes en supprimant les balises HTML qui peuvent ĂȘtre utilisĂ©es pour rĂ©aliser des attaques XSS.
  • Il est dĂ©sormais possible d'utiliser l'API Streams (ReadableStream) pour envoyer des requĂȘtes fetch avant que le corps de la rĂ©ponse ne soit chargĂ©, c'est-Ă -dire qu'il est possible de commencer Ă  envoyer des donnĂ©es sans attendre la fin de la gĂ©nĂ©ration de la page.
  • Pour les applications web progressives (PWA), il est possible de modifier l'apparence de la zone d'en-tĂȘte de la fenĂȘtre Ă  l'aide des composants Window Controls Overlay, qui Ă©tendent la zone d'affichage de l'application web sur toute la fenĂȘtre et donnent Ă  l'application web l'apparence d'une application de bureau classique. L'application web peut gĂ©rer le rendu et le traitement des entrĂ©es sur toute la fenĂȘtre, Ă  l'exception de la zone superposĂ©e avec les boutons de contrĂŽle de la fenĂȘtre (fermeture, rĂ©duction, agrandissement).
    Sortie de Chrome 105
  • L'accĂšs aux Media Source Extensions Ă  partir de workers dĂ©diĂ©s (dans le contexte DedicatedWorker) a Ă©tĂ© stabilisĂ©, ce qui peut ĂȘtre utilisĂ©, par exemple, pour amĂ©liorer la performance de la lecture en continu des donnĂ©es multimĂ©dias en crĂ©ant un objet MediaSource dans un worker distinct et en transmettant les rĂ©sultats de son travail Ă  un HTMLMediaElement dans le thread principal.
  • Dans l'API Client Hints, qui est en cours de dĂ©veloppement pour remplacer l'en-tĂȘte User-Agent et permet de fournir sĂ©lectivement des donnĂ©es sur des paramĂštres spĂ©cifiques du navigateur et du systĂšme (version, plateforme, etc.) uniquement aprĂšs demande, serveura Ă©tĂ© ajoutĂ©e la prise en charge de la propriĂ©tĂ© Sec-CH-Viewport-Height, permettant d'obtenir des informations sur la hauteur de la zone visible. Le format de balisage pour spĂ©cifier dans la balise «meta» les paramĂštres Client Hints pour les ressources externes a Ă©tĂ© modifiĂ© : Avant : Maintenant :
  • Ajout de la possibilitĂ© de crĂ©er des gestionnaires d'Ă©vĂ©nements globaux onbeforeinput (document.documentElement.onbeforeinput), permettant aux applications web de redĂ©finir le comportement lors de l'Ă©dition de texte dans des blocs ,