Dans presque toutes les versions de Chrome, nous constatons un nombre important de mises à jour et d'améliorations du produit, de ses performances et des fonctionnalités de la plate-forme Web. Cet article décrit les fonctionnalités obsolètes et supprimées dans Chrome 58, qui est en version bêta depuis le 16 mars. Cette liste est susceptible d'être modifiée à tout moment.
La souris sur Android ne déclenche plus d'événements TouchEvents
Jusqu'à Chrome 57, les événements de souris de bas niveau Android dans Chrome suivaient principalement un chemin d'événement conçu pour les interactions tactiles. Par exemple, un mouvement de glissement de la souris qui se produit lorsque le bouton de la souris est enfoncé génère MotionEvents
, transmis via View.onTouchEvent
.
Toutefois, comme les événements tactiles ne sont pas compatibles avec le survol, les mouvements de souris en mode survol ont suivi un chemin distinct. Cette conception a eu de nombreux effets secondaires, y compris le déclenchement de TouchEvents
par les interactions de la souris, l'affichage de tous les boutons de la souris en tant que boutons de la souris gauche et la suppression de MouseEvents
par TouchEvents
.
À partir de Chrome 58, une souris sur Android M ou version ultérieure:
- Ne déclenche plus
TouchEvents
. - Déclenchez une séquence cohérente de
MouseEvents
avec les boutons et autres propriétés appropriés.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de la correspondance non sensible à la casse pour l'attribut usemap
L'attribut usemap
était auparavant défini comme insensible à la casse. Malheureusement, l'implémentation de cette fonctionnalité était suffisamment complexe pour qu'aucun navigateur ne l'implémente correctement. Des recherches ont suggéré qu'un algorithme aussi complexe n'était pas nécessaire, et même la mise en correspondance ASCII insensible à la casse n'était pas nécessaire.
Par conséquent, la spécification a été mise à jour pour que la correspondance sensible à la casse soit appliquée. L'ancien comportement a été abandonné dans Chrome 57 et est maintenant supprimé.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression des navigations vers des URL de données déclenchées par le contenu dans le frame supérieur
En raison de leur manque de familiarité avec les utilisateurs de navigateurs non techniques, nous constatons de plus en plus que le schéma data:
est utilisé dans les attaques par hameçonnage et spoofing. Pour éviter cela, nous empêchons les pages Web de charger des URL data:
dans le frame supérieur. Cela s'applique aux balises <a>
, window.open
, window.location
et aux mécanismes similaires. Le schéma data:
fonctionnera toujours pour les ressources chargées en dessous par une page.
Cette fonctionnalité sera supprimée dans Chrome 60.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression des noms obsolètes des propriétés de trajectoire d'animation
Les propriétés CSS de trajectoire de mouvement permettent aux auteurs d'animer n'importe quel objet graphique le long d'un chemin spécifié par l'auteur. Conformément à la spécification, plusieurs propriétés ont été implémentées dans Chrome 45. Les noms de ces propriétés ont été modifiés dans la spécification mi-2016. Chrome a implémenté les nouveaux noms dans Chrome 55 et Chrome 56. Des avertissements d'abandon dans la console ont également été implémentés.
Dans Chrome 58, les anciens noms de propriétés sont supprimés. Les propriétés concernées et leurs nouveaux noms sont indiqués ci-dessous.
Propriété supprimée | Nom actuel |
---|---|
motion-path | offset-path |
motion-offset | offset-distance |
motion-rotation | offset-rotate |
mouvement | offset |
Supprimer l'EME des contextes non sécurisés
Certains usages des extensions multimédias chiffrées (EME) exposent des implémentations de gestion des droits numériques qui ne sont pas open source, impliquent l'accès à des identifiants uniques persistants et/ou s'exécutent sans bac à sable ou avec un accès privilégié. Les risques de sécurité sont accrus pour les sites exposés via HTTP non sécurisé, car ils peuvent être attaqués par n'importe qui sur le canal. De plus, lorsque l'acceptation de l'utilisateur est requise, l'acceptation persistante pour un site HTTP non sécurisé peut être exploitée par un pirate informatique.
La prise en charge des contextes non sécurisés a été supprimée de la spécification de la version 1 de l'EME et n'est pas prise en charge dans la recommandation proposée ni dans la version finale ultérieure. ne figurera pas dans la recommandation proposée ou la recommandation finale ultérieure. L'API affiche un message d'abandon sur les origines non sécurisées depuis Chrome 44 (mai 2015). Dans Chrome 58, il est désormais supprimé. Ce changement s'inscrit dans notre démarche plus large visant à supprimer les fonctionnalités puissantes des origines non sécurisées.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de l'ancien appelant pour HTMLEmbedElement et HTMLObjectElement
Si une interface possède un ancien appelant, cela signifie qu'une instance peut être appelée en tant que fonction. Actuellement, HTMLEmbedElement
et HTMLObjectElement
sont compatibles avec cette fonctionnalité. Dans Chrome 57, cette fonctionnalité a été abandonnée. À partir de Chrome 58, l'appel génère une exception.
Cette modification permet d'aligner Chrome sur les modifications récentes apportées aux spécifications. L'ancien comportement n'est pas compatible avec Edge ni Safari, et il est en cours de suppression de Firefox.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression des algorithmes de chiffrement ChaCha20-Poly1305 pré-normaux
En 2013, Chrome 31 a déployé de nouvelles suites de chiffrement TLS basées sur les algorithmes ChaCha20 et Poly1305 du professeur Dan Bernstein. Ils ont ensuite été normalisés, avec de légers ajustements, par l'IETF dans les documents RFC 7539 et RFC 7905. Nous avons lancé la variante standardisée début 2016 avec Chrome 49. Nous supprimons désormais les variantes préstandard.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de la prise en charge de la mise en correspondance du nom commun dans les certificats
La RFC 2818 décrit deux méthodes pour faire correspondre un nom de domaine à un certificat: en utilisant les noms disponibles dans l'extension subjectAlternativeName
ou, en l'absence d'extension SAN, en recourant à commonName
. Le remplacement par commonName
a été abandonné dans la RFC 2818 (publiée en 2000), mais la prise en charge reste disponible dans un certain nombre de clients TLS, souvent de manière incorrecte.
L'utilisation des champs subjectAlternativeName
permet de déterminer sans ambiguïté si un certificat exprime une liaison à une adresse IP ou à un nom de domaine, et est entièrement défini en termes d'interaction avec les contraintes de nom. Toutefois, commonName
est ambigu, et c'est pourquoi sa prise en charge a été une source de bugs de sécurité dans Chrome, les bibliothèques qu'il utilise et l'écosystème TLS dans son ensemble.
Le risque de compatibilité lié à la suppression de commonName
est faible. La RFC 2818 est obsolète depuis près de deux décennies, et les exigences de référence (que toutes les autorités de certification publiques approuvées doivent respecter) exigent la présence d'un subjectAltName
depuis 2012. Firefox exige déjà subjectAltName
pour tous les nouveaux certificats reconnus publiquement émis depuis Firefox 48.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Bits de TextTrack liés à VTTRegion
Les éléments d'interface regions
, addRegion()
et removeRegion()
ont été supprimés de la spécification WebVTT et de Chrome 58 pour se conformer à la dernière spécification. Nous ne nous attendons à aucun impact de cette suppression, car la fonctionnalité n'a jamais été activée par défaut (c'est-à-dire qu'elle était derrière un indicateur). Ceux qui ont besoin d'une alternative peuvent utiliser la propriété VTTCue.region
, qui est ajoutée dans Chrome 58.
Outil de suivi de l'état de Chrome | Bug Chromium
WebAudio: suppression de l'interface AudioSourceNode
L'interface AudioSourceNode
ne fait pas partie de la spécification Web Audio, n'est pas constructible et ne comporte aucun attribut. Elle n'a donc aucune fonctionnalité accessible aux développeurs. Par conséquent, nous allons la supprimer.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de l'attribut global webkitdropzone
L'attribut global dropzone
a été introduit par la spécification de glisser-déposer HTML5 comme méthode déclarative permettant de spécifier si un élément HTML peut être la cible d'une opération de glisser-déposer, les types de contenu pouvant être déposés sur l'élément et l'opération de glisser-déposer (copier/déplacer/associer).
L'attribut n'a pas été adopté par les fournisseurs de navigateurs. Blink et WebKit n'implémentent qu'une forme préfixée de l'attribut, webkitdropzone
. Étant donné que l'attribut dropzone
a été supprimé de la spécification début mars 2017, la version avec préfixe est en cours de suppression de Chrome.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Abandon de l'utilisation non sécurisée des notifications
Les notifications sont une fonctionnalité puissante, car elles permettent aux sites Web d'appeler une UI système pour transmettre des informations privées elles-mêmes ou un signal indiquant que des informations privées ont été modifiées. Les pirates informatiques peuvent renifler ou voler toutes les informations envoyées via une notification via une connexion non sécurisée. Le push Web nécessite une origine sécurisée. Cette modification alignera donc les notifications non push sur les notifications push. Ce changement s'inscrit dans notre démarche plus large visant à supprimer les fonctionnalités puissantes des origines non sécurisées.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Abandon de l'utilisation des notifications à partir d'iFrames non sécurisées
Les demandes d'autorisation des iFrames peuvent prêter à confusion pour les utilisateurs, car il est difficile de faire la distinction entre l'origine de la page contenante et l'origine de l'iFrame qui envoie la requête. Lorsque le champ d'application des demandes n'est pas clair, il est difficile pour les utilisateurs de déterminer s'ils doivent accorder ou refuser l'autorisation.
L'interdiction des notifications dans les iFrames alignera également les exigences concernant l'autorisation de notification sur celles des notifications push, ce qui facilitera les choses pour les développeurs.
Les développeurs qui ont besoin de cette fonctionnalité peuvent ouvrir une nouvelle fenêtre pour demander l'autorisation de notification.
La suppression est prévue dans Chrome 62.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de indexedDB.webkitGetDatabaseNames()
Nous avons ajouté cette fonctionnalité lorsque IndexedDB était relativement nouveau dans Chrome et que le préfixage était à la mode. L'API renvoie de manière asynchrone une liste des noms de bases de données existants dans une origine, ce qui semble assez raisonnable.
Malheureusement, la conception est imparfaite, car les résultats peuvent être obsolètes dès qu'ils sont renvoyés. Elle ne peut donc être utilisée que pour la journalisation, et non pour une logique d'application sérieuse. Le problème GitHub suit/fait référence à une discussion précédente sur des alternatives, qui nécessiteraient une approche différente. Bien que les développeurs aient manifesté un intérêt intermittent, compte tenu du manque de progrès inter-navigateurs, les auteurs de la bibliothèque ont contourné le problème.
Les développeurs qui ont besoin de cette fonctionnalité doivent développer leur propre solution. Par exemple, des bibliothèques telles que Dexie.js utilisent une table globale qui est elle-même une autre base de données pour suivre les noms des bases de données.
Cette fonctionnalité a été supprimée dans Chrome 60.