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 abandonnées et supprimées dans Chrome 57, qui est en version bêta depuis début février. Cette liste est susceptible d'être modifiée à tout moment.
Suppression de l'attribut BluetoothDevice.uuids
L'attribut BluetoothDevice.uuids
est supprimé pour mettre l'API Web Bluetooth en conformité avec la spécification actuelle. Vous pouvez récupérer tous les services GATT autorisés en appelant device.getPrimaryServices().
Supprimer l'élément de génération de clés
Depuis Chrome 49, le comportement par défaut de <keygen>
est de renvoyer la chaîne vide, sauf si une autorisation a été accordée à cette page. IE/Edge n'est pas compatible avec <keygen>
et n'a pas indiqué de signaux publics pour prendre en charge <keygen>
.
Firefox limite déjà <keygen>
derrière un geste utilisateur, mais soutient publiquement sa suppression. Safari fournit <keygen>
et n'a pas exprimé d'avis publics concernant sa prise en charge continue. Avec Chrome 57, cet élément est supprimé.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de l'API de gestion des tampons de temporisation des ressources avec préfixe
Deux méthodes et un gestionnaire d'événements, webkitClearResourceTimings()
, webkitSetResourceTimingBufferSize()
et onwebkitresourcetimingbufferfull
, sont obsolètes et spécifiques au fournisseur. Les versions standards de ces API sont compatibles depuis Chrome 46, et les fonctions avec préfixe ont également été abandonnées dans cette version. Ces fonctionnalités ont été implémentées à l'origine dans WebKit, mais Safari ne les a pas activées. Firefox, IE 10 et versions ultérieures, et Edge ne disposent que de la version non préfixée de l'API. Par conséquent, les versions WebKit sont supprimées.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression de ServiceWorkerMessageEvent au profit de MessageEvent
La spécification HTML a étendu MessageEvent
pour autoriser ServiceWorker
comme type pour l'attribut source
. client.postMessage()
et la création d'événements de message personnalisés sont modifiés pour utiliser MessageEvent
au lieu de ServiceWorkerMessageEvent
.
ServiceWorkerMessageEvent
a bien été supprimé.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Suppression des alias globaux IndexedDB avec préfixe webkit
Le point d'entrée IndexedDB
et les constructeurs globaux ont été exposés avec des préfixes webkit
vers Chrome 11. Les versions sans préfixe ont été ajoutées dans Chrome 24, et les versions avec préfixe ont été abandonnées dans Chrome 38. Les interfaces suivantes sont concernées:
webkitIndexedDB
(point d'entrée principal)webkitIDBKeyRange
(constructeur global non appelable, mais avec des méthodes statiques utiles)webkitIDBCursor
webkitIDBDatabase
webkitIDBFactory
webkitIDBIndex
webkitIDBObjectStore
webkitIDBRequest
webkitIDBTransaction
(constructeurs globaux non appelables)
Intent to Remove | Chromestatus Tracker | Bug Chromium
WebAudio: suppression des préfixes AudioContext et OfflineAudioContext
Chrome est compatible avec WebAudio
depuis mi-2011, y compris avec AudioContext
.
OfflineAudioContext
a été ajouté l'année suivante. Compte tenu de la durée de prise en charge des interfaces standards et de l'objectif à long terme de Google de supprimer les fonctionnalités avec préfixe, les versions avec préfixe de ces interfaces sont obsolètes depuis fin 2014 et sont en cours de suppression.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Abandon et suppression de webkitCancelRequestAnimationFrame
La méthode webkitCancelRequestAnimationFrame()
est une API obsolète, spécifique au fournisseur, et la cancelAnimationFrame()
standard est depuis longtemps compatible avec Chromium. Par conséquent, la version WebKit est en cours de suppression.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Abandon 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 tel algorithme complexe n'était pas nécessaire, et même que 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 est obsolète dans Chrome 57 et devrait être supprimé dans Chrome 58.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Abandon de FileReaderSync dans les service workers
La spécification du service worker a toujours inclus la note (non normative) selon laquelle "aucun type de requêtes synchrones ne doit être lancé dans un service worker", afin d'éviter de le bloquer. Le blocage du service worker bloquerait toutes les requêtes réseau provenant des pages contrôlées. Malheureusement, l'API FileReaderSync
est disponible depuis longtemps dans les service workers.
Actuellement, seuls Firefox et Chrome exposent FileReaderSync
dans les service workers.
Firefox est d'accord dans la discussion sur les spécifications que ce problème doit être corrigé. La suppression est prévue pour Chrome 59.
Intent to Remove | Chromestatus Tracker | Bug Chromium
Abandon 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é est obsolète. Après la suppression, qui devrait intervenir dans Chrome 58, l'appel génèrera 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
Abandon de la valeur "negotiate" pour RTCRtcpMuxPolicy
Chrome utilise rtcpMuxPolicy
pour spécifier sa règle préférée concernant l'utilisation du multiplexage RTP/RTCP. Dans Chrome 57, nous avons remplacé la valeur par défaut rtcpMuxPolicy
par "require" et abandonné "negotiate" pour les raisons suivantes:
- Le RTCP non multiplexé utilise des ressources réseau supplémentaires.
- La suppression de "negotiate" simplifiera la surface de l'API, car un "RtpSender"/"RtpReceiver" n'aura alors qu'un seul transport.
Dans Chrome 57, "negotiate" est obsolète. Nous pensons qu'il s'agit d'un changement sans interruption, car l'utilisateur recevra un message d'abandon et RTCPeerConnection
pourra toujours être créé. La suppression est prévue dans Chrome 63.
Intent to Deprecate | Bug Chromium
Abandon de la prise en charge des identifiants intégrés dans les requêtes de sous-ressources
L'encodage en dur des identifiants dans les requêtes de sous-ressources pose problème d'un point de vue de sécurité, car il a permis aux pirates informatiques de forcer les identifiants par le passé. Ces dangers sont exacerbés pour les requêtes de sous-ressources authentifiées qui atteignent des plages d'adresses IP internes (vos routeurs, etc.). Compte tenu de la faible utilisation, la fermeture de cette (petite) faille de sécurité semble tout à fait raisonnable.
Les développeurs peuvent intégrer des ressources qui ne nécessitent pas d'authentification de base/digest, en s'appuyant plutôt sur des cookies et d'autres mécanismes de gestion des sessions.