Chrome 132

Fecha de lanzamiento estable: 14 de enero de 2025

A menos que se indique lo contrario, los siguientes cambios se aplican a la versión del canal estable de Chrome 132 para Android, ChromeOS, Linux, macOS y Windows.

HTML y DOM

Lanza una excepción para los diálogos y las ventanas emergentes en documentos no activos

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

Error de seguimiento #373684393 | Entrada de ChromeStatus.com | Especificación

Eventos de activació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, en el que sería más fácil un evento.

Este cambio incorpora el mismo ToggleEvent que despachan los popovers, pero para los 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 closewatcher), debe enviar un ToggleEvent con newState=closed.

Error de seguimiento #41494780 | Entrada de ChromeStatus.com | Especificación

Se corrigió la selección isCollapsed en Shadow DOM.

Selection isCollapsed debe mostrar verdadero solo si el ancla y el enfoque son los mismos. Esto debería ser cierto tanto si la selección comienza o termina dentro de un árbol de luces o de sombras.

Demo | Error de seguimiento #40400558 | Entrada de ChromeStatus.com | Especificación

CSS

Posicionamiento de anclaje de CSS: 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.

Error de seguimiento #346521300 | Entrada de ChromeStatus.com | Especificación

Modos de escritura lateral 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.

MDN writing-mode | Error de seguimiento #40501131 | Entrada de ChromeStatus.com | Especificación

Cargando

Recuperar: 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. Para leerlo, debes crear una vista, como Uint8Array. El método bytes() mejora la ergonomía de obtener el cuerpo de la solicitud y la respuesta.

Error de seguimiento #340206277 | Entrada de ChromeStatus.com | Especificación

Ignora Strict-Transport-Security para localhost

Los encabezados de respuesta 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 causa 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 configura 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.

Error de seguimiento #41251622 | Entrada de ChromeStatus.com

Medios

Cómo capturar todas las pantallas

Captura todas las pantallas conectadas 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.

Documento de diseño | Error de seguimiento #40216442 | Entrada de ChromeStatus.com | Especificación

Captura de elementos

Dado un video MediaStreamTrack 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 a partir de 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.

Demo | Error de seguimiento #270230413 | Entrada de ChromeStatus.com | Especificación

API web

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, por lo 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.

MDN PushMessageData: método bytes() | Error de seguimiento #373336950 | Entrada de ChromeStatus.com | Especificación

Contenedores de desplazamiento enfocables con el teclado

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

Desplazadores enfocables con el teclado | Error de seguimiento #40113891 | Entrada de ChromeStatus.com | Especificación

API de Device Posture

Esta API ayuda a los desarrolladores a detectar la postura actual de un dispositivo plegable. La postura del dispositivo es la posición física en la que se encuentra un dispositivo, que puede derivarse de los sensores, además del ángulo.

Desde mejorar la usabilidad de un sitio web evitando el área de un pliegue hasta permitir casos de uso innovadores para la Web, conocer la postura de un dispositivo puede ayudar a los desarrolladores a adaptar su contenido a diferentes dispositivos.

El contenido se puede consumir y explorar incluso cuando el dispositivo no está plano, en cuyo caso el desarrollador puede proporcionar un diseño diferente según el estado de la postura en el que se usa el dispositivo.

Repositorio de Git | Error de seguimiento #40124716 | Entrada de ChromeStatus.com | Especificación

Consultas guardadas en sharedStorage.selectURL

sharedStorage.selectURL() ahora permite que las consultas se guarden y se vuelvan a usar por página, en la 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 de selectURL() que asigna un nombre a la consulta.

Error de seguimiento #367440966 | Entrada de ChromeStatus.com | Especificación

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

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).

Entrada de ChromeStatus.com | Especificación

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 Acceder a la 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 no están en su cuenta. 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.

Demo | Error de seguimiento #370694829 | Entrada de ChromeStatus.com | Especificación

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 brinda 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ó en computadoras de escritorio en Chrome 86 y, con Chrome 132, está disponible en Android y WebView.

La API de acceso al sistema de archivos | Error de seguimiento #40091667 | Entrada de ChromeStatus.com | Especificación

API de WebAuthn Signal

Permite que las partes de confianza de WebAuthn indiquen información sobre las credenciales existentes a los proveedores de almacenamiento de credenciales, de modo que las credenciales incorrectas o revocadas se puedan actualizar o quitar 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.

Demo | Error de seguimiento #361751877 | Entrada de ChromeStatus.com | Especificación

Renderización y gráficos

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

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

Error de seguimiento #369649348 | Entrada de ChromeStatus.com | Especificación

WebGPU: Expone GPUAdapterInfo desde GPUDevice

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

Error de seguimiento #376600838 | Entrada de ChromeStatus.com | Especificación

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 al usuario solicitar 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.

Error de seguimiento #363903526 | Entrada de ChromeStatus.com | Especificación

Pruebas de origen

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 con entusiasmo en archivos JavaScript. La información se codificará como comentarios mágicos.

Prueba de origen | Explicación | Error de seguimiento #42203853 | Entrada de ChromeStatus.com

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 de origen cruzado del documento que no sean de CORS se cargarán sin credenciales o deberán tener un encabezado CORP.

Prueba de origen | Error de seguimiento #333029146 | Entrada de ChromeStatus.com | Especificación

Bajas y eliminaciones

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.

Entrada de ChromeStatus.com | Especificación

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.

Entrada de ChromeStatus.com

Lecturas adicionales

¿Buscas más? Consulta estos recursos adicionales.

Descargar Google Chrome

Descarga Chrome para Android, computadoras o iOS.