Bajas y eliminaciones en Chrome 99

Se lanzó la versión beta de Chrome 99 el 3 de febrero de 2022, y se espera que se convierta en la versión estable a principios de marzo de 2022.

Quita la API de Battery Status en orígenes inseguros

La API de estado de batería ya no es compatible con orígenes inseguros, como páginas HTTP o iframes HTTPS incorporados en páginas HTTP. La API de estado de la batería permite a los desarrolladores web acceder, entre otras cosas, al nivel de carga de la batería del sistema y si se está cargando. Es una función potente que existe desde hace más de una década y, por lo tanto, se diseñó en un principio con diferentes restricciones de seguridad.

Quita font-family -webkit-standard

Esta versión de Chrome quita la compatibilidad con el valor font-family "-webkit-standard". Este valor es simplemente un alias para la palabra clave "-webkit-body" y solo se expone porque se heredó de WebKit. Quitar esto mejora la alineación con las especificaciones de CSS y con Firefox.

Quitar GamepadList

Ahora, el método navigator.getGamepads() muestra un array de objetos Gamepad en lugar de una GamepadList. GamepadList ya no es compatible con Chrome. Esto pone a Chrome en línea con la especificación, con Gecko y Webkit. Para obtener información sobre los controles de juegos en general, consulta Cómo jugar al juego del dinosaurio de Chrome con tu control de mando.

Actualiza WebCodecs para que coincidan con la especificación

Chrome quitó dos elementos debido a cambios recientes en la especificación de WebCodecs.

El método EncodedVideoChunkOutputCallback() usa un diccionario EncodedVideoChunkMetadata. Anteriormente, un miembro llamado temporalLayerId se encontraba en EncodedVideoChunkMetadata.temporalLayerId. En línea con la especificación, ahora se encuentra en EncodedVideoChunkMetadata.SvcOutputMetadata.temporalLayerId.

La especificación requiere que el constructor VideoFrame() incluya un argumento de marca de tiempo (VideoFrameInit.timestamp) para los tipos CanvasImageSource que no tienen una marca de tiempo implícita (por ejemplo, HTMLCanvasElement). No incluir la marca de tiempo debería dar como resultado una TypeError, pero Chrome la había cambiado de forma predeterminada a cero. Esto parece útil, pero es problemático si envías VideoFrame a un VideoEncoder, donde se usan las marcas de tiempo para guiar el control de la tasa de bits.

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.
  • Son experimentos iniciales que nunca tuvieron éxito en otros navegadores y, por lo tanto, pueden aumentar la carga de la compatibilidad para los 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 anticipación para que puedan realizar los cambios necesarios a fin de que sigan en ejecución sus sitios.

Actualmente, Chrome cuenta con un proceso para las bajas y las eliminaciones de las APIs, que es básicamente el siguiente:

  • Anuncia en la lista de distribución de blink-dev.
  • Configura advertencias y asigna escalas de tiempo 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 que se quitaron si aplicas el filtro quitado. También intentaremos resumir algunos de los cambios, el razonamiento y las rutas de migración en estas publicaciones.