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 60, en version bêta depuis le 8 juin. Cette liste est susceptible d'être modifiée à tout moment.
Sécurité
crypto.subtle nécessite désormais une origine sécurisée
L'API Web Crypto
compatible depuis que Chrome 37 a toujours fonctionné sur des environnements non sécurisés
origines. En raison de la politique établie
depuis longtemps par Chrome
préférer les origines sécurisées pour les fonctionnalités puissantes,
crypto.subtle
n'est pas seulement visible sur les origines sécurisées.
Projet de suppression | 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 par une page.
Cette fonctionnalité était obsolète dans Chrome 58 et a été supprimée.
Projet de suppression | Chromestatus Tracker | Bug Chromium
Désactiver temporairement navigateurator.sendBeacon() pour certains blobs
La fonction navigator.sendBeacon()
est disponible
depuis Chrome 39.
Comme initialement implémenté, l'argument data
de la fonction pouvait contenir n'importe quelle
blob arbitraire dont le type n'est pas ajouté à la liste d'autorisation CORS. Nous pensons qu'il s'agit
une menace de sécurité, même si personne
n'a encore essayé de l'exploiter. Parce que nous ne
trouver une solution immédiate et raisonnable. Pour le moment, sendBeacon()
ne peut pas
ne pourra plus être appelé sur les blobs dont le type n'est PAS ajouté à la liste d'autorisation CORS.
Bien que cette modification ait été appliquée pour Chrome 60, elle a depuis été fusionnée. à Chrome 59.
CSS
Faire en sorte que le combinateur de descendants anti-ombres se comporte comme un combinateur de descendants
Le combinateur de descendants anti-ombres (>>>
), qui fait partie de
Module de champ d'application CSS niveau 1
, était destiné à faire correspondre les enfants d'un élément ancêtre particulier
même lorsqu'elles sont apparues
à l'intérieur d'un arbre sombre. Cela avait certaines limites.
Tout d'abord, conformément aux spécifications,
ne pouvait être utilisée que dans les appels JavaScript tels que querySelector()
et n'a pas
travailler dans des feuilles de style. Plus important encore, les fournisseurs de
navigateurs n'ont pas réussi
ne se limite pas à un seul niveau du Shadow DOM.
Par conséquent, le combinateur descendant a été supprimé des spécifications applicables. y compris Shadow DOM v1. Plutôt que d'interrompre les pages Web en supprimant ce sélecteur de Chromium, nous avons choisi d'utiliser un alias pour le descendant des ombres au combinateur descendant. À l'origine, le comportement était obsolètes depuis Chrome 45. Le nouveau comportement est implémenté dans Chrome 61.
Projet de suppression | Chromestatus Tracker | Bug Chromium
JavaScript
Arrêt et suppression de RTCPeerConnection.getStreamById()
Il y a près de deux ans, getStreamById()
a été supprimé de la spécification WebRTC. La plupart des autres navigateurs ont
l'ont déjà supprimé de leurs implémentations. Bien que cette fonction soit
peu utilisés, on pense également que des mineurs
risque d'interopérabilité avec les navigateurs basés sur Edge et WebKit autres que Safari
où getStreamById()
est toujours accepté. Développeurs ayant besoin d'une alternative
vous trouverez un exemple de code dans la section "Intention de suppression" ci-dessous.
La suppression est disponible dans Chrome 62.
Projet de suppression | Chromestatus Tracker | Bug Chromium
Abandon de SVGPathElement.getPathSegAtLength
Il y a plus de deux ans, getPathSegAtLength()
a été supprimé des spécifications SVG.
Étant donné qu'il n'existe qu'une poignée d'appels pour cette méthode dans httparchive, il est
obsolète dans Chrome 60. La suppression devrait avoir lieu dans Chrome 62, qui
sera expédiée au début ou à la mi-octobre.
Projet d'abandon | Chromestatus Tracker | Bug Chromium
Déplacer getContextAttributes() derrière un indicateur
La fonction getContextAttributes()
est compatible avec
CanvasRenderingContext2D
depuis 2013. Toutefois, cette fonctionnalité ne faisait partie d'aucune norme
fait partie de l'une d'elles depuis lors. Elle aurait dû être implémentée en arrière-plan
l'option de ligne de commande --enable-experimental-canvas-features
, mais qui a été supprimée par erreur ;
non. Dans Chrome 60, cette erreur a été corrigée. On pense que cela
le changement est sans risque, car aucune donnée n'indique que quelqu'un utilise la méthode.
Suppression de Headers.prototype.getAll()
La fonction Headers.prototype.getAll()
est supprimée conformément à la dernière
de la spécification Fetch.
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é était obsolète dans Chrome 58 et a été supprimée.
Projet de suppression | Chromestatus Tracker | Bug Chromium
Supprimer WEBKIT_KEYFRAMES_RULE et WEBKIT_KEYFRAME_RULE
Constantes WEBKIT_KEYFRAMES_RULE
et WEBKIT_KEYFRAME_RULE
non standards
sont supprimés de
Règle CSS.
Les développeurs doivent utiliser KEYFRAMES_RULE
et KEYFRAME_RULE
à la place.
Projet de suppression | Chromestatus Tracker | Bug Chromium
Interface utilisateur
Exiger un geste de l'utilisateur pour les boîtes de dialogue beforeunload
À partir de Chrome 60, la boîte de dialogue beforeunload
ne s'affiche que si le cadre
tentant d'afficher un écran, il a reçu un geste ou une interaction de l'utilisateur (ou si
si aucune image intégrée n'a reçu un tel geste). Précisons qu'il ne s'agit pas
modification de l'envoi de l'événement beforeunload
. Il s’agit simplement
d’un changement pour
si la boîte de dialogue est affichée.
La boîte de dialogue beforeunload
est une boîte de dialogue d'application. Par conséquent, il est intrinsèquement
hostile à l'utilisateur, c'est-à-dire qu'il répond à la navigation d'un utilisateur en interrogeant les
de la décision. Cette fonctionnalité peut s'avérer utile. Par exemple, il est souvent utilisé
pour avertir les utilisateurs lorsqu'ils perdront des données en naviguant.
Même si une page pouvait fournir du texte pour la boîte de dialogue beforeunload
,
supprimée il y a quelque temps, beforeunload
boîtes de dialogue restent un vecteur d'abus. Dans
En particulier, les boîtes de dialogue beforeunload
sont utilisées dans les sites Web frauduleux, où
les contenus audio en lecture automatique et les textes menaçants fournissent un contexte dans lequel le navigateur
fourni "Voulez-vous vraiment quitter cette page ?" le message devient inquiétant.
Nous voulons enchaîner les fils et n'autoriser que les bonnes utilisations de beforeunload
.
. La boîte de dialogue est utilisée à bon escient lorsque l'état de l'utilisateur
perdu. Si l'utilisateur n'a jamais interagi avec la page, il ne peut pas avoir
l'état qui pourrait être perdu. Ainsi, nous ne risquons pas de perdre des données utilisateur en
supprimant la boîte de dialogue dans ce cas.