Versión beta de Chrome 132

Fecha de publicación: 13 de noviembre de 2024

A menos que se indique lo contrario, los siguientes cambios 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 132 es una versión beta a partir del 13 de noviembre de 2024. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store en Android.

CSS

Esta versión agrega dos funciones nuevas de CSS.

Posicionamiento de anclaje de CSS: Se permite anchor-size() en las propiedades inset y margin.

Originalmente, anchor-size() solo se permitía en las propiedades de tamaño. Se cambió la especificación para permitir anchor-size() en inserciones y márgenes.

Modos de escritura horizontal de CSS

Compatibilidad con las palabras clave sideways-rl y sideways-lr para la propiedad CSS writing-mode sideways-rl y sideways-lr son útiles para escribir texto que no sea CJK de forma vertical. A diferencia de vertical-rl y vertical-lr, no tienen comportamientos favorables para los idiomas CJK.

API web

Captura todas las pantallas

Captura todas las pantallas conectadas actualmente al dispositivo con getAllScreensMedia().

Llamar a getDisplayMedia() varias veces requiere varios gestos del usuario, le impone la tarea de elegir la siguiente pantalla cada vez y no garantiza a la app que se hayan seleccionado todas las pantallas. El método getAllScreensMedia() mejora en todos estos aspectos.

Esta función solo se envía en computadoras.

Eventos de activación o desactivación de diálogo

Es útil saber cuándo se abren y se cierran los elementos <dialog>, y popover ya tiene ToggleEvent, que se envía cuando se abre o se cierra un popover. Anteriormente, para detectar cuándo se abre un <dialog>, debías registrar un observador de mutación para verificar si está abierto. Sin embargo, esto es mucho trabajo, y sería más fácil usar un evento.

Este cambio incorpora el mismo ToggleEvent que despachan los popovers, pero para elementos <dialog>: cuando se llama a showModal o show, <dialog> despacha un ToggleEvent con newState=open. Cuando se cierra un <dialog> (con el formulario, el botón o el objeto closewatcher), debe enviar un ToggleEvent con newState=closed.

Captura de elementos

Dado un MediaStreamTrack de video obtenido a través de medios preexistentes para iniciar la captura de pestañas, la Captura de elementos permite mutar la pista para capturar solo un subárbol del DOM que comienza en un elemento determinado.

La API se parece a la API de Region Capture, pero ofrece una mayor flexibilidad para las aplicaciones, ya que el contenido ocluyente y el contenido ocluido se excluyen de la captura.

Funciones de autorización de FedCM

Este paquete incluye algunas funciones que los proveedores de identidad (IdP) pueden usar para implementar flujos de autorización, como permitir que un usuario otorgue acceso a su calendario a una parte de confianza (RP). En particular, haz lo siguiente:

  • El IdP debe poder mostrar un mensaje personalizado para el permiso (API de Continuation).
  • El RP necesita una forma extensible de comunicarle al IdP a qué quiere acceder (API de parámetros).
  • El RP debe poder personalizar o suprimir el texto que hace referencia a la IdP que comparte "nombre, dirección de correo electrónico y foto de perfil" porque, en esta situación, solicita información diferente (API de campos).
  • Es posible que el IdP desee usar un extremo diferente para implementar el flujo de autorización (varios configURLs).
  • Es posible que algunas cuentas solo sean aptas para uno de los flujos de autenticación y autorización, por lo que debe haber una forma de mostrar diferentes cuentas en los dos flujos (API de etiquetas de cuenta).

API de FedCM Mode y API de Use Other Account

Dos extensiones nuevas para FedCM:

  • Modo: El modo active permite que los sitios web llamen a FedCM dentro de un clic en un botón (por ejemplo, hacer clic en un botón Sign in to IdP), lo que requiere que FedCM garantice que siempre responderá con una interfaz de usuario visible. Si llamas a la API de FedCM en el modo activo, los usuarios acceden al proveedor de identidad (IdP) cuando salieron de sus cuentas. Además, como se llama al modo activo dentro de un gesto explícito del usuario, la IU también es más prominente (por ejemplo, centrada y modal) en comparación con la IU del modo pasivo (que no requiere un requisito de gesto del usuario y se puede llamar cuando se carga la página).
  • Usar otra cuenta: Con esta extensión, un IdP puede permitir que los usuarios accedan a otras cuentas.

Recuperación: Request.bytes() y Response.bytes()

Agrega un método bytes() a las interfaces Request y Response, que muestra una promesa que se resuelve con un Uint8Array. Si bien Request y Response tienen un método arrayBuffer(), no puedes leer directamente desde un búfer. Debes crear una vista, como un Uint8Array, para leerla. El método bytes() mejora la ergonomía de obtener el cuerpo de la solicitud y la respuesta.

Acceso al sistema de archivos para Android y WebView

Esta API permite a los desarrolladores compilar apps potentes que interactúan con otras apps (no web) en el dispositivo del usuario con el sistema de archivos del dispositivo. Después de que un usuario otorga acceso a una app web, esta API permite que la app lea o guarde cambios directamente en los archivos y las carpetas que seleccionó el usuario. Además de leer y escribir archivos, esta API proporciona la capacidad de abrir un directorio y enumerar su contenido, así como almacenar controladores de archivos y directorios en IndexedDB para recuperar el acceso al mismo contenido más adelante.

El acceso al sistema de archivos se envió a computadoras de escritorio en Chrome 86 y, con Chrome 132, está disponible en Android y WebView.

Ignora Strict-Transport-Security para localhost

Los encabezados de respuesta de Strict-Transport-Security (STS) pueden causar problemas para los servidores web de localhost, ya que STS se aplica en todo el host, en todos los puertos. Esto genera problemas de compatibilidad para los desarrolladores web que realizan pruebas de forma local. También afecta a los usuarios finales que usan paquetes de software que suelen iniciar servidores web localhost por motivos efímeros. Por ejemplo, la comunicación de un token de autenticación desde un acceso web a un paquete de software local. Si un objeto de escucha local establece Strict-Transport-Security en una respuesta de localhost, se aplica a todas las solicitudes de localhost posteriores, independientemente del puerto.

Chrome 132 resuelve este problema ignorando los encabezados Strict-Transport-Security en las respuestas de las URLs de localhost.

Contenedores de desplazamiento enfocables en el teclado

El lanzamiento de esta función (a partir de Chrome 130) se detuvo debido a una regresión de accesibilidad. Se corrigió el problema, y la función seguirá lanzándose con Chrome 132.

Comodín de la lista de entidades permitidas predeterminada de la política de permisos de la API de Private State Tokens

El acceso a la API de Private State Tokens está restringido por las funciones de la Política de Permisos. Chrome 132 actualiza la lista de entidades permitidas predeterminada para las funciones private-state-token-issuance y private-state-token-redemption de self a * (comodín).

PushMessageData::bytes()

La interfaz PushMessageData imita la interfaz Body, que se modificó a principios de este año con un nuevo método bytes(), siguiendo el principio de que, en general, las APIs deben vender búferes de bytes como Uint8Arrays. Chrome 132 se vuelve a alinear con la interfaz Body, ya que también proporciona el accesor bytes() en la interfaz PushMessageData.

Consultas guardadas en sharedStorage.selectURL

sharedStorage.selectURL() ahora permite que las consultas se guarden y se vuelvan a usar por página, en las que los dos presupuestos por carga de página se cobran la primera vez que se ejecuta una consulta guardada, pero no para las ejecuciones posteriores de la consulta guardada durante la misma carga de página. Esto se logra con un parámetro savedQuery en las opciones para selectURL() que asigna un nombre a la consulta.

Lanza una excepción para los pop-overs y los diálogos en documentos no activos.

Anteriormente, llamar a showPopover() o showModal() en un pop-up o diálogo que reside en un documento inactivo fallaba de forma silenciosa. No se arrojaría ninguna excepción, pero como el documento está inactivo, no se mostrará ningún cuadro flotante ni diálogo. A partir de Chrome 132, estas situaciones ahora arrojan InvalidStateError.

API de WebAuthn Signal

Permite que las partes de confianza de WebAuthn informen información sobre las credenciales existentes a los proveedores de almacenamiento de credenciales, de modo que se puedan actualizar o quitar las credenciales incorrectas o revocadas de la IU del proveedor y del sistema.

Obtén más información sobre la API de Signal para llaves de acceso en Chrome para computadoras.

WebGPU: Combinación de texturas de punto flotante de 32 bits

La función de GPU float32-blendable permite combinar texturas de GPU con los formatos r32float, rg32float y rgba32float.

WebGPU: Expón GPUAdapterInfo desde GPUDevice

El atributo adapterInfo de GPUDevice expone el mismo GPUAdapterInfo que el objeto GPUAdapter.

WebGPU: Uso de la vista de textura

Agrega un campo opcional a la creación de vistas de texturas de WebGPU para solicitar un subconjunto de las marcas de uso de la textura de origen.

De forma predeterminada, el uso de la vista de textura hereda de la textura de origen, pero hay formatos de vista que pueden ser incompatibles con el conjunto completo de usos heredados. Agregar un campo de uso a la creación de la vista de textura permite que el usuario solicite un subconjunto de los usos de la textura de origen que sean válidos con el formato de vista y específicos para el uso previsto de la vista de textura.

Las implementaciones de WebGPU también pueden optimizar la creación de recursos de bajo nivel y mejorar el rendimiento cuando se usan vistas con marcas de uso más especializadas.

Nuevas pruebas de origen

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

Document-Isolation-Policy

Document-Isolation-Policy permite que un documento habilite crossOriginIsolation por sí mismo, sin tener que implementar COOP o COEP, y sin importar el estado crossOriginIsolation de la página. La política está respaldada por el aislamiento de procesos. Además, los subrecursos entre dominios del documento que no sean de CORS se cargarán sin credenciales o deberán tener un encabezado CORP.

Sugerencias de compilación explícitas con comentarios mágicos

Esta función te permite adjuntar información sobre qué funciones se deben analizar y compilar de forma anticipada en archivos JavaScript. La información se codificará como comentarios mágicos.

Bajas y eliminaciones

Esta versión de Chrome presenta las siguientes bajas y eliminaciones. Visita ChromeStatus.com para obtener listas de bajas planificadas, bajas actuales y eliminaciones anteriores.

Esta versión de Chrome quita dos funciones.

navigator.storage se convirtió en EventTarget para el evento de presión de almacenamiento, que nunca pasó de la fase de prototipo. Se quitará este código muerto y, como resultado, navigator.storage ya no extenderá EventTarget.

Se quitaron las APIs de pantalla completa de HTMLVideoElement con prefijo

Las APIs de pantalla completa de HTMLVideoElement con prefijo dejaron de estar disponibles en Chrome

Se reemplazaron por la API de Element.requestFullscreen(), que se envió por primera vez sin prefijo en Chrome 71, en 2018. A partir de 2024, la mayoría de los navegadores ya admiten las APIs sin prefijo desde hace algunos años.

Chrome 132 quita lo siguiente de HTMLVideoElement:

  • El atributo webkitSupportsFullscreen
  • El atributo webkitDisplayingFullscreen
  • El método webkitEnterFullscreen().
  • El método webkitExitFullscreen(). Observa la diferente mayúscula de la “S” en FullScreen.
  • El método webkitEnterFullScreen().
  • El método webkitExitFullScreen().

Estos métodos ahora son solo alias para la API moderna. Su uso ha disminuido de forma constante a lo largo de los años.