Abandons et suppressions dans Chrome 80

Joe Medley
Joe Medley

Interdire la requête XMLHTTPRequest() synchrone dans le processus de fermeture de page

Chrome interdit désormais les appels synchrones à XMLHTTPRequest() pendant la page Fermeture lorsque l'utilisateur quitte la page ou la ferme Cela s'applique à beforeunload, unload, pagehide et visibilitychange.

Pour vous assurer que les données sont envoyées au serveur lors du déchargement d'une page, nous vous recommandons sendBeacon() ou Fetch keep-alive. Pour le moment, les utilisateurs professionnels peuvent utiliser Indicateur de règle AllowSyncXHRInPageDismissal et les développeurs peuvent utiliser l'origine Option d'essai allow-sync-xhr-in-page-dismissal pour autoriser les requêtes XHR synchrones lors du déchargement de la page. Il s'agit d'une option de désactivation temporaire mesurer, et nous nous attendons à supprimer cet indicateur dans Chrome 88.

Pour en savoir plus à ce sujet et les alternatives, consultez Interdire la méthode XMLHTTPRequest() synchrone lors de la fermeture de la page.

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Compatibilité FTP obsolète

La mise en œuvre FTP actuelle de Chrome ne prend pas en charge le chiffrement les connexions (FTPS) ni les proxys. L'utilisation du FTP dans le navigateur est suffisamment faible. qu'il n'est plus viable d'investir dans l'amélioration du client FTP existant. Dans De nouveaux clients FTP plus performants sont disponibles sur toutes les plates-formes concernées.

Chrome 72 ne permet plus d'extraire des sous-ressources de documents via FTP et le rendu des ressources FTP de premier niveau. Accès en cours aux résultats d'URL FTP dans l'affichage d'un annuaire ou d'un téléchargement en fonction du type de ressource. Un bug dans Google Chrome 74 et versions ultérieures a entraîné l'abandon de la prise en charge de l'accès URL FTP sur des proxys HTTP. La prise en charge du proxy FTP a été entièrement supprimée dans Google Chrome 76

Les autres fonctionnalités de l'implémentation FTP de Google Chrome sont limitées à l'affichage d'une liste de répertoires ou au téléchargement d'une ressource les connexions non chiffrées.

Le calendrier d'abandon est provisoirement fixé comme suit:

Chrome 80 (stable en février 2020)

Le protocole FTP est désactivé par défaut pour les clients non professionnels, mais peut être activé. à l'aide de --enable-ftp ou de --enable-features=FtpProtocol options de ligne de commande. Vous pouvez également l'activer à l'aide de l'#enable-ftp dans chrome://flags.

Chrome 81 (stable en mars 2020)

Le protocole FTP est désactivé par défaut pour toutes les installations de Chrome, mais peut être activé. à l'aide de --enable-ftp ou de --enable-features=FtpProtocol options de ligne de commande.

Chrome 82 (stable en avril 2020)

Le protocole FTP ne sera plus du tout pris en charge.

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Ne pas autoriser les pop-ups pendant le déchargement de la page

Les pages ne peuvent plus utiliser window.open() pour ouvrir une nouvelle page lors du déchargement. La Cette fonctionnalité était déjà interdite par le bloqueur de pop-up de Chrome, mais il est désormais interdit ou si le bloqueur de pop-up est activé.

Les entreprises peuvent utiliser l'option de règle AllowPopupsDuringPageUnload pour autoriser pop-ups pendant le déchargement. Chrome prévoit de supprimer cet indicateur dans Chrome 82.

Projet de suppression | Chromestatus Tracker | Bug Chromium

Suppression de la sérialisation et du transfert ImageBitmap non propres à l'origine

Des erreurs sont désormais générées lorsqu'un script tente de sérialiser ou de transférer une ImageBitmap non propre. Un ImageBitmap sans origine propre est un élément qui contient des données provenant d'images multi-origines non validées par la logique CORS.

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

La gestion du protocole nécessite désormais un contexte sécurisé

Les méthodes registerProtocolHandler() et unregisterProtocolHandler() sont maintenant nécessitent un contexte sécurisé. Ces méthodes permettant de reconfigurer les états des clients afin de permettre la transmission de données potentiellement sensibles réseau.

La méthode registerProtocolHandler() fournit à une page Web un mécanisme pour s'enregistrer lui-même pour gérer un protocole après le consentement d'un utilisateur. Par exemple, un navigateur Web l'application de messagerie pourrait s'inscrire pour gérer le schéma mailto:. L'erreur correspondante La méthode unregisterProtocolHandler() permet à un site d'abandonner son l'enregistrement de la gestion du protocole.

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Composants Web v0 supprimés

Web Components v0 est désormais supprimé de Chrome. Les API Web Components v1 sont Google Chrome, Safari, Firefox et (prochainement) Périphérie. Pour obtenir des conseils sur la mise à niveau, consultez Mise à jour des composants Web: plus de temps pour passer aux API v1. La Les fonctionnalités suivantes ont été supprimées. Cet abandon concerne les éléments comme indiqué ci-dessous.

Éléments personnalisés

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Importations HTML

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Shadow DOM

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Suppression de -webkit-appearance:button pour les éléments arbitraires

Modification de -webkit-appearance:button pour qu'il ne fonctionne qu'avec <button> et <input> . Si button est spécifié pour un élément non compatible, l'élément a l'apparence par défaut. Tous les autres mots clés (-webkit-appearance) disposent déjà une telle restriction.

Projet de suppression | État de la plate-forme Chrome | Bug Chromium

Règlement d'obsolescence

Pour garantir le bon fonctionnement de la plate-forme, nous supprimons parfois de la plate-forme Web les API qui ont suivi leur cours. Plusieurs raisons peuvent expliquer la suppression API, par exemple:

  • Elles sont remplacées par des API plus récentes.
  • Elles ont été mises à jour pour refléter les modifications apportées aux spécifications afin d'assurer la cohérence et la cohérence avec les autres navigateurs.
  • Il s'agit de tests préliminaires qui n'ont jamais abouti dans d'autres navigateurs, ce qui peut augmenter la charge d'assistance des développeurs Web.

Certaines de ces modifications n'auront un effet que sur un très petit nombre de sites. Pour limiter ces problèmes à l'avance, nous essayons d'en informer les développeurs à l'avance afin qu'ils puissent apporter les modifications nécessaires pour que leurs sites continuent de fonctionner.

Chrome propose actuellement un processus d'obsolescence et de suppression d'API, qui repose principalement sur les éléments suivants:

  • Faites une annonce sur la liste de diffusion blink-dev.
  • Définissez des avertissements et des échelles temporelles dans la console des outils pour les développeurs Chrome lorsque des éléments d'utilisation sont détectés sur la page.
  • Attendez, surveillez, puis supprimez la fonctionnalité à mesure que l'utilisation diminue.

Vous pouvez consulter la liste de toutes les fonctionnalités obsolètes sur chromestatus.com à l'aide du filtre "obsolète" et celles supprimées en appliquant le filtre "supprimé". Nous essaierons également de résumer certains des changements, raisonnements et chemins de migration présentés dans ces articles.