Abandons et suppressions dans Chrome 58

Joe Medley
Joe Medley

Dans presque toutes les versions de Chrome, un nombre important de mises à jour des améliorations apportées au produit, à ses performances, ainsi qu'aux fonctionnalités du Web Plate-forme. Cet article décrit les abandons et les suppressions 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 cesse de déclencher des événements tactiles

Jusqu'à Chrome 57, les événements de souris de bas niveau d'Android dans Chrome suivaient principalement chemin d'événement conçu pour les interactions tactiles. Par exemple, un mouvement de glissement de souris se produisant pendant si l'utilisateur a appuyé sur le bouton de la souris génère MotionEvents, transmis via View.onTouchEvent

Mais comme les événements tactiles ne sont pas compatibles avec le survol, les déplacements de souris ont suivi un chemin d'accès distinct. La conception avait de nombreux effets secondaires, y compris des interactions avec la souris déclenchement de TouchEvents, tous les boutons de la souris apparaissant sous la forme de boutons gauche ; et MouseEvents supprimé par TouchEvents.

À partir de Chrome 58, une souris sur Android M ou une version ultérieure offre les avantages suivants:

  • Ne déclenche plus TouchEvents.
  • Déclencher une séquence cohérente de MouseEvents avec les boutons appropriés et d'autres propriétés.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Supprimer la correspondance non sensible à la casse pour l'attribut usemap

L'attribut usemap était auparavant défini comme étant sans casse. Malheureusement sa mise en œuvre était suffisamment compliquée pour qu'aucun navigateur ne l'ait implémentée. correctement. Des études suggèrent qu'un algorithme aussi compliqué n'est pas nécessaire, et même la correspondance ASCII non sensible à la casse n'est pas nécessaire.

Par conséquent, la spécification a été mise à jour de sorte que la correspondance sensible à la casse soit appliquée. L'ancien comportement était obsolète dans Chrome 57 et a été supprimé.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Supprimer les navigations déclenchées par le contenu depuis le cadre supérieur vers les URL de données

Étant donné qu'ils ne connaissent pas les navigateurs non techniques, nous le schéma data: est de plus en plus utilisé pour le spoofing et l'hameçonnage. contre les attaques. Pour éviter cela, nous empêchons les pages Web de charger data: URL dans le cadre supérieur. Cela s'applique aux balises <a>, window.open, window.location et d'autres mécanismes similaires. Le schéma data: fonctionnera toujours pour chargées ci-dessous par une page.

Cette fonctionnalité sera supprimée dans Chrome 60.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Suppression des noms obsolètes pour les propriétés de la trajectoire d'animation

Les propriétés CSS de la trajectoire d'animation permettent aux auteurs d'animer n'importe quel objet graphique un chemin d'accès spécifié par l'auteur. Conformément aux spécifications, plusieurs propriétés ont été implémentées dans Chrome 45. Le nom de ces propriétés a été modifié dans la spécification mi-2016. Chrome a implémenté la nouveaux noms dans Chrome 55 et Chrome 56. Des avertissements concernant l'abandon de la console ont également été mis en œuvre.

Dans Chrome 58, les anciens noms de propriété sont supprimés. Propriétés concernées et leurs nouveaux noms sont affichés ci-dessous.

Propriété supprimée Nom actuel
trajectoire d'animation chemin-décalage
décalage de mouvement distance-décalage
rotation du mouvement décalage/rotation
mouvement offset

Projet de suppression

Supprimer la EME des contextes non sécurisés

Quelques utilisations de API Encrypted Media Extensions (EME) présentent 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 hors bac à sable ou avec un accès privilégié. Les risques de sécurité sont accrus pour les sites exposés via des HTTP, car ils peuvent être attaqués par n’importe quel utilisateur du canal. De plus, lorsque le consentement de l'utilisateur est requis, l'acceptation persistante pour un site HTTP non sécurisé peut être exploitées par un tel pirate.

La prise en charge des contextes non sécurisés a été supprimée du Spécification EME version 1 et n'est pas compatible avec recommandation proposée ni prévues lors de la finale qui suit. ne figureront pas dans la liste ou la recommandation finale qui s'ensuit. L'API a fait apparaître un message d'abandon sur les origines non sécurisées depuis Chrome 44 (mai 2015). Dans Chrome 58, elle est désormais supprimée. Ce changement s'inscrit dans une démarche globale supprimer les fonctionnalités puissantes des origines non sécurisées.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Supprimer l'ancien appelant pour HTMLEmbedElement et HTMLObjectElement

Si une interface dispose d'un ancien appelant, une instance peut être appelée en tant que . Actuellement, HTMLEmbedElement et HTMLObjectElement acceptent ce de Google Cloud. Cette fonctionnalité a été abandonnée dans Chrome 57. À partir de Chrome 58, l'appel génère une exception.

Cette modification permet d'aligner Chrome sur les récentes modifications apportées aux spécifications. Ancien comportement n'est pas pris en charge dans Edge ou Safari, et qu'il est en cours supprimé de Firefox.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Supprimer les algorithmes de chiffrement ChaCha20-Poly1305 pré-standards

En 2013, Chrome 31 a déployé Nouvelles suites de chiffrement TLS basé sur les algorithmes ChaCha20 et Poly1305 du professeur Dan Bernstein. Il s'agit de puis standardisés, avec de légers ajustements, à l'IETF RFC 7539 et la norme RFC 7905. Nous avons expédié la variante standardisée début 2016 avec Chrome 49. Nous supprimons désormais les variantes pré-standards.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Suppression de la prise en charge de la correspondance commonName dans les certificats

Le document RFC 2818 décrit deux méthodes permettant de mettre en correspondance nom de domaine à un certificat: en utilisant les noms disponibles dans le subjectAlternativeName ou, en l'absence d'extension SAN, en revenant à commonName. La création de remplacement pour commonName a été obsolète dans la RFC 2818 (publiée en 2000), mais la prise en charge reste les clients TLS, souvent de manière incorrecte.

L'utilisation des champs subjectAlternativeName permet de déterminer clairement si un certificat exprime une liaison vers une adresse IP ou un nom de domaine, et est entièrement définie en termes d'interaction avec les contraintes de nom. Toutefois, commonName est ambigu et a donc été une source de compatibilité. de bugs de sécurité dans Chrome, dans les bibliothèques qu'il utilise et dans l'écosystème TLS en général.

Le risque de compatibilité lors de la suppression de commonName est faible. RFC 2818 a l'ont abandonné pendant près de vingt ans, Exigences de référence (ce que toutes les autorités de certification publiquement approuvées doivent respecter) a exigé la présence d'un subjectAltName depuis 2012. Firefox nécessite déjà subjectAltName pour tout nouveau certificat approuvé publiquement depuis le Firefox 48 :

Projet de suppression | Chromestatus Tracker | Bug Chromium

Les éléments d'interface regions, addRegion() et removeRegion() ont été supprimés de la spécification WebVTT et supprimés dans Chrome 58 afin de respecter la dernière spécification. Nous nous attendons à peu d'impact cette suppression, car la fonctionnalité n'a jamais été activée par défaut (elle était derrière un drapeau). Ceux qui ont besoin d'une autre solution peuvent utiliser le VTTCue.region. qui sera ajoutée dans Chrome 58.

Chromestatus Tracker | Bug Chromium

WebAudio: suppression de l'interface AudioSourceNode

L'interface AudioSourceNode ne fait pas partie de Spécifications Web Audio, n'est pas constructible et ne possède aucun attribut. une fonctionnalité accessible. Elle est donc supprimée.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Suppression de l'attribut global webkitdropzone

L'attribut global dropzone a été introduit par Spécifications HTML5 pour le glisser-déposer comme méthode déclarative permettant de spécifier la volonté d'un élément HTML d'être le la cible d'une opération de glisser-déposer, les types de contenus pouvant être déposés l'élément et l'opération de glisser-déposer (copie/déplacement/lien).

L'attribut n'a pas réussi à susciter l'intérêt des fournisseurs de navigateurs. Blink et WebKit n'implémentez qu'une forme préfixée de l'attribut, webkitdropzone. En effet, L'attribut dropzone a été supprimé de la spécification dans début mars 2017 la version avec préfixe est en cours de suppression de Chrome.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Abandonner l'utilisation non sécurisée des notifications

Les notifications sont une fonctionnalité puissante, car elles permettent aux sites Web d'appeler un système UI permettant de transmettre des informations privées elle-même ou un signal qui indique que la confidentialité les informations ont été modifiées. Les pirates informatiques peuvent renifler ou voler les informations envoyées via une notification sur une connexion non sécurisée. La fonctionnalité Web push nécessite un protocole Cette modification alignera donc les notifications non push sur les notifications push les notifications. Ce changement s'inscrit dans une démarche globale supprimer les fonctionnalités puissantes des origines non sécurisées.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Abandonner l'utilisation des notifications provenant d'iFrames non sécurisés

Les demandes d'autorisation provenant d'iFrames peuvent prêter à confusion, car il est difficile de faire la distinction entre l'origine de la page parent et celle du cadre iFrame qui effectue la demande. Lorsque le champ d'application des requêtes n'est pas clair, pour que les utilisateurs puissent décider d'accorder ou de refuser l'autorisation.

Interdire les notifications dans les cadres iFrame l'autorisation d'accès aux notifications qu'aux notifications push, développeurs.

Les développeurs qui ont besoin de cette fonctionnalité peuvent ouvrir une nouvelle fenêtre pour en faire la demande autorisation de notification.

La suppression est disponible dans Chrome 62.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Supprimer indexéDB.webkitGetDatabaseNames()

Nous avons ajouté cette fonctionnalité lorsque la base de données indexée était relativement récente dans Chrome et que les préfixes a fait fureur. L'API renvoie de manière asynchrone la liste des bases de données existantes. d'origine, ce qui semblait assez logique.

Malheureusement, la conception présente un défaut, car les résultats peuvent devenir obsolètes dès que possible à mesure qu'elles sont renvoyées. Vous ne pouvez donc l'utiliser que pour la journalisation, logique d'application. La problème GitHub suit/liens vers discussion précédente sur les alternatives, ce qui nécessiterait une approche différente. Même si les développeurs ont suscité un intérêt de la part des développeurs, étant donné l'absence d'échanges progression du navigateur. Les auteurs de la bibliothèque ont résolu le problème.

Les développeurs qui ont besoin de cette fonctionnalité doivent développer leur propre solution. Par exemple, les bibliothèques comme 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.

Projet d'abandon | Chromestatus Tracker | Bug Chromium