Bajas y eliminaciones en Chrome 80

Joe Medley
Jo Medley

.

No permitir el uso de XMLHTTPRequest() síncrono cuando se rechaza la página

Chrome ahora no permite las llamadas síncronas a XMLHTTPRequest() durante el descarte de páginas cuando el usuario la abandona o la cierra. Esto se aplica a beforeunload, unload, pagehide y visibilitychange.

Para asegurarte de que los datos se envíen al servidor cuando se descarga una página, recomendamos sendBeacon() o Fetch keep-alive. Por ahora, los usuarios empresariales pueden usar la marca de política AllowSyncXHRInPageDismissal, y los desarrolladores pueden usar la marca de prueba de origen allow-sync-xhr-in-page-dismissal para permitir las solicitudes XHR síncronas durante la descarga de páginas. Esta es una medida temporal de "inhabilitación", y esperamos quitar esta función experimental en Chrome 88.

Si deseas obtener información sobre esto y las alternativas, consulta Cómo inhabilitar XMLHTTPRequest() síncrona durante el rechazo de la página.

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

La compatibilidad con FTP ya no está disponible

La implementación actual de FTP en Chrome no admite conexiones encriptadas (FTPS) ni proxies. El uso de FTP en el navegador es lo suficientemente bajo como para no ser viable invertir en mejorar el cliente de FTP existente. Además, hay disponibles clientes FTP más capaces en todas las plataformas afectadas.

En Chrome 72, se quitó la compatibilidad para la recuperación de subrecursos de documentos a través de FTP y la renderización de recursos de FTP de nivel superior. Cuando se navega a las URLs de FTP, se muestra una lista de directorios o una descarga, según el tipo de recurso. Un error en Google Chrome 74 y versiones posteriores dio como resultado que ya no se admita el acceso a las URLs del FTP a través de proxies HTTP. La compatibilidad de proxy para FTP se quitó por completo en Google Chrome 76.

Las funciones restantes de la implementación de FTP de Google Chrome están restringidas a mostrar una lista de directorios o descargar un recurso a través de conexiones no encriptadas.

El cronograma de baja se establece de la siguiente manera:

Chrome 80 (estable en febrero de 2020)

El FTP está inhabilitado de forma predeterminada para los clientes no empresariales, pero se puede activar con las marcas de línea de comandos --enable-ftp o --enable-features=FtpProtocol. También se puede activar mediante la opción #enable-ftp en chrome://flags.

Chrome 81 (estable en marzo de 2020)

El FTP está inhabilitado de forma predeterminada para todas las instalaciones de Chrome, pero se puede activar con las funciones experimentales de línea de comandos --enable-ftp o --enable-features=FtpProtocol.

Chrome 82 (estable en abril de 2020)

Se quitará por completo la compatibilidad con FTP.

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

No permitir las ventanas emergentes durante la descarga de páginas

Es posible que las páginas ya no usen window.open() para abrir una página nueva durante la descarga. El bloqueador de ventanas emergentes de Chrome ya prohibió esto, pero ahora está prohibido independientemente de si el bloqueador de ventanas emergentes está habilitado o no.

Las empresas pueden usar la marca de política AllowPopupsDuringPageUnload para permitir ventanas emergentes durante descargas. Chrome espera quitar esta función experimental en Chrome 82.

Intent de quitar | Seguimiento de Chromestatus | Error de Chromium

Se quitaron la serialización y la transferencia de ImageBitmap no limpios de origen.

Ahora se generarán errores cuando una secuencia de comandos intente serializar o transferir un ImageBitmap no limpio de origen. Un ImageBitmap no limpio de origen es el que contiene datos de imágenes de origen cruzado que la lógica CORS no verifica.

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

El manejo de protocolos ahora requiere un contexto seguro

Los métodos registerProtocolHandler() y unregisterProtocolHandler() ahora requieren un contexto seguro. Estos métodos son capaces de reconfigurar los estados de los clientes de modo que permitan la transmisión de datos potencialmente sensibles a través de una red.

El método registerProtocolHandler() le brinda a una página web un mecanismo para registrarse y administrar un protocolo después de que el usuario da su consentimiento. Por ejemplo, una aplicación de correo electrónico basada en la Web podría registrarse para controlar el esquema mailto:. El método unregisterProtocolHandler() correspondiente permite que un sitio abandone su registro de control de protocolos.

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

Se quitó Web Components v0

Se quitaron de Chrome Web Components v0. Las APIs de Web Components v1 son un estándar de plataforma web que se incluyó en Chrome, Safari, Firefox y (próximamente) Edge. Para obtener información sobre la actualización, consulta Actualización de componentes web: más tiempo para actualizar a las APIs de la versión 1. Se quitaron las siguientes funciones. Esta baja abarca los elementos que se enumeran a continuación.

Elementos personalizados

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

Importaciones de HTML

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

Shadow DOM

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

Se quitó -webkit-appance:button para elementos arbitrarios.

Se cambió -webkit-appearance:button para que funcione solo con los botones <button> y <input>. Si se especifica button para un elemento no compatible, este tendrá la apariencia predeterminada. Todas las demás palabras clave -webkit-appearance ya tienen esa restricción.

Intención de quitar | Estado de la plataforma Chrome | Error de Chromium

Política de baja

Para mantener la plataforma en buen estado, a veces quitamos las APIs de la plataforma web que ejecutaron su curso. Puede haber muchos motivos por los que quitaremos una API, como los siguientes:

  • Se reemplazaron por API más nuevas.
  • Se actualizan para reflejar los cambios en las especificaciones a fin de alinear y mantener la coherencia con otros navegadores.
  • Se trata de experimentos iniciales que nunca tuvieron éxito en otros navegadores y, por lo tanto, pueden aumentar la carga de la asistencia para desarrolladores web.

Algunos de estos cambios afectarán a unos pocos sitios. A fin de mitigar los problemas con anticipación, tratamos de avisarles a los desarrolladores con un aviso anticipado para que puedan realizar los cambios necesarios y mantener sus sitios en ejecución.

Actualmente, Chrome cuenta con un proceso para la baja y la eliminación de las API, que es básicamente el siguiente:

  • Anunciarlo en la lista de distribución blink-dev.
  • Establece advertencias y asigna escalas en la consola de Herramientas para desarrolladores de Chrome cuando se detecte uso en la página.
  • Espera, supervisa y quita la función a medida que disminuye el uso.

Puedes encontrar una lista de todas las funciones obsoletas en chromestatus.com con el filtro obsoleto y las funciones quitadas aplicando el filtro quitado. También intentaremos resumir algunos de los cambios, el razonamiento y las rutas de migración de estas publicaciones.