Versión beta de Chrome 116

Ruta de movimiento de CSS, la API de NotRestoredReason para atrás/adelante, la función Pantalla en pantalla del documento y mucho más.

A menos que se indique lo contrario, los cambios descritos se aplican a la versión más reciente del canal beta de Chrome para Android, ChromeOS, Linux, macOS y Windows. Obtén más información sobre las funciones que se enumeran aquí a través de los vínculos proporcionados o de la lista en ChromeStatus.com. Chrome 116 está beta desde el 19 de julio de 2023. Puedes descargar la versión más reciente en Google.com para computadoras o desde Google Play Store para Android.

CSS

Esta versión agrega dos funciones de CSS nuevas.

Ruta de movimiento de CSS

La ruta de movimiento permite a los autores posicionar cualquier objeto gráfico y animarlo en una ruta especificada por el desarrollador. Esto permite una serie de nuevas posibilidades de transformación potentes, como el posicionamiento con coordenadas polares (con la función ray()) en lugar de las coordenadas rectangulares estándar que usa la función translate() o animar un elemento a lo largo de un trazado definido. Esto facilita la definición de transiciones espaciales en 2D complejas y atractivas. Una ruta se puede especificar como circle(), ellipse(), rect(), inset(), xywh(), polygon(), ray() y url().

Animaciones de visualización y visibilidad del contenido

Chrome 116 admite las propiedades display y content-visibility en las animaciones de fotogramas clave. Esta compatibilidad permite a los desarrolladores crear animaciones de salida, después de las cuales el elemento se convierte automáticamente en display: none o content-visibility: hidden sin necesidad de escribir JavaScript para controlar ese interruptor una vez que finaliza la animación. Esto permite que las animaciones de salida para los elementos se agreguen solo en CSS.

API web

AbortSignal.any()

Devuelve un indicador que se anula cuando se anula cualquiera de los indicadores de origen. Los desarrolladores pueden usar esto para combinar fuentes de anulación independientes, por ejemplo, tiempos de espera especificados con AbortSignal.timeout() y indicadores asociados con un AbortController, y pasarlos a APIs asíncronas como fetch().

Compatibilidad con "trae tu propia botella" para la recuperación de datos

La implementación de ReadableStream de Chrome admite lectores de trae tu propio búfer (BYOB) para transmisiones de bytes legibles. Ahora, Response.body también es un flujo de bytes legible en lugar de un flujo "predeterminado". en un flujo legible. Esto permite usar la Fetch API con lectores BYOB, lo que reduce la sobrecarga de recolección de elementos no utilizados y copias, y mejora la capacidad de respuesta para los usuarios. Blob.stream() ahora también se beneficia de esta optimización.

API de NotRestoredReason para la memoria caché atrás/adelante

La API de NotRestoredReason, a través de la API de PerformanceNavigationTiming, informará la lista de motivos por los que una página no se publica desde BFcache en una estructura de árbol de marcos.

Pantalla en pantalla en documentos

Pantalla en pantalla de documento agrega una nueva API para abrir una ventana siempre activa que se puede propagar con HTMLElements arbitrario. Esta es una expansión de la API de HTMLVideoElement existente que solo permite que un HTMLVideoElement se coloque en una ventana de pantalla en pantalla (PIP). Esto permite que los desarrolladores web proporcionen una mejor experiencia de PIP a los usuarios.

Comodines expandidos en los orígenes de políticas de permisos

Los comodines de subdominios en las listas de entidades permitidas proporcionaban cierta flexibilidad, pero diferían de los analizadores de comodines existentes y requerían código novedoso y trabajo de especificaciones. Este intent reducirá la sobrecarga reutilizando partes de la especificación existente de la Política de Seguridad del Contenido y permitiendo que scheme + wildcard domain y wildcard port estén en la lista de entidades permitidas. Específicamente, este intent adoptaría la definición de fuente del host y fuente del esquema en lugar del origen en la definición de la lista de entidades permitidas y requiere que la parte de la ruta de acceso esté vacía (ya que se aplican las políticas de permisos a orígenes coincidentes).

Paquete de FedCM: API de Access Hint, API de User Info y API de RP Context

Esta actualización integrada permite personalizaciones en los flujos de acceso federado que usan la API de Federated Credential Management (FedCM).

Con la API de Insinuación de acceso, el usuario de confianza (RP) puede especificar una sugerencia sobre la cuenta de usuario que desea que se muestre en la IU de FedCM. Esto se utiliza principalmente para proporcionar una mejor UX a los usuarios recurrentes.

La API de User Info permite que el proveedor de identidad (IdP) recupere la información del usuario para personalizar la experiencia de acceso de los usuarios recurrentes, por ejemplo, a través de botones personalizados “Acceder con IdP”.

Con la API de Contexto del RP, el RP puede solicitar que el diálogo de FedCM reemplace el título "Acceder" con "Registrarse", "Usar" o "Continuar", para alinear la intención real para el usuario.

Eventos de entrada y salida de mouse y puntero no compuestos

Haz que la propiedad event.composed en los eventos "false" de mouseenter, mouseleave, pointerenter y pointerleave cumpla con las especificaciones y corrija las brechas de interoperabilidad. Tanto la especificación de eventos de la IU para los eventos del mouse como la especificación de eventos del puntero definen estos eventos como no compuestos. Ambas especificaciones cambiaron de sus definiciones originales hace unos años: https://github.com/w3c/uievents/pull/210 https://github.com/w3c/pointerevents/pull/461. Además de abordar la brecha de interoperabilidad, este cambio también corrige un envío doble o triple de estos eventos a un shadow DOM en el host del DOM cuando el shadow DOM también escucha en Chromium.

Quita la herencia de la zona de pruebas de document.open

Actualmente, las marcas de zona de pruebas del emisor se aplican al destinatario cuando document.open se orienta a una ventana diferente. Después de este cambio, esto ya no sucederá.

Informar sobre un reinicio crítico de CH causada en NavigationTiming

Los sitios web pueden indicar que una sugerencia de cliente específica es fundamental para la página si la incluyen en un encabezado de respuesta HTTP Critical-CH. Esto activará el reinicio de la conexión si la sugerencia que se indica en el encabezado de respuesta HTTP Critical-CH se podría incluir (pero no se incluyó) en la solicitud HTTP enviada inicialmente. Este intent propone agregar readonly attribute DOMHighResTimeStamp criticalCHRestart; a la interfaz PerformanceNavigationTiming.

Pruebas de origen en curso

En Chrome 116, puedes habilitar las siguientes pruebas de origen nuevas.

COOP: restringe-propiedades

La Política de abridor de origen cruzado se utiliza para cortar la relación entre los elementos de apertura y las ventanas emergentes, y así aumentar la seguridad. "restrict-properties" es un valor propuesto que restringe la relación en lugar de dividirla por completo. Habilitaría crossOriginIsolated cuando se combine con COEP.

Regístrate en la prueba de orígenes de restricción de propiedades de COOP.

API de estado de acceso de FedCM

La API de estado de acceso del IdP de la API de Federated Credential Management (FedCM) permite que un proveedor de identidad (IdP) indique al navegador cuando sus usuarios acceden o salen para que FedCM pueda aumentar sus propiedades de privacidad optimizando su UX.

Regístrate en la prueba de origen del estado de acceso de FedCM

API de EditContext

La API de EditContext simplifica el proceso de integración de una app web con métodos avanzados de entrada de texto, como la escritura de formas de VK, los paneles de escritura a mano, el reconocimiento de voz y las composiciones de IME. La API mejora la accesibilidad y el rendimiento, y desbloquea nuevas capacidades para editores basados en la Web.

Regístrate en la prueba de origen de la API de EditContext

Latencia de fotogramas de animación extensa

Esta es una extensión de tareas largas. Mide la tarea junto con la actualización de renderización posterior y agrega información como secuencias de comandos de larga duración, el tiempo de renderización y el tiempo dedicado al diseño y el estilo forzados, lo que se conoce como paginación excesiva de diseños.

Los desarrolladores pueden usar esto como diagnóstico de "lenta", que mide el INP, ya que encuentran las causas de la congestión del subproceso principal, que suele ser la causa de una INP deficiente.

Regístrate en la prueba de origen de Long Animation Frame Timing