Versión beta de Chrome 132

Publicado: 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 mencionan aquí a través de los vínculos proporcionados o de la lista en ChromeStatus.com. Chrome 132 es beta desde el 13 de noviembre de 2024. Puedes descargar la versión más reciente en Google.com para computadoras o en Google Play Store para Android.

CSS

En esta versión, se agregan dos nuevas funciones de 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 las inserciones y los márgenes también.

Modos de escritura lateral de CSS

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

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, lo obliga a elegir la siguiente pantalla cada vez y no garantiza a la app que se seleccionaron todas las pantallas. El método getAllScreensMedia() mejora todos estos aspectos.

Esta función solo se lanzará en computadoras.

Eventos de activación de diálogos

Es útil saber cuándo se abren y cierran los elementos <dialog>, y popover ya tiene ToggleEvent, que se envía cuando se abre o cierra una ventana emergente. Anteriormente, para detectar cuándo se abría un <dialog>, debías registrar un observador de mutaciones para verificar si estaba abierto. Sin embargo, esto requiere mucho trabajo, mientras que un evento sería más sencillo.

Este cambio incorpora el mismo ToggleEvent que despachan los elementos emergentes, 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 objeto CloseWatcher), debe despachar un ToggleEvent con newState=closed.

Captura de elementos

Dado un video MediaStreamTrack obtenido a través de medios preexistentes para iniciar la captura de pestañas, Element Capture permite mutar el segmento 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 mayor flexibilidad para las aplicaciones, ya que el contenido obstruido y el obstruyente 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 entidad externa (RP). En particular, haz lo siguiente:

  • El IdP debe poder mostrar un mensaje personalizado para el permiso (API de continuación).
  • El RP necesita una forma extensible de comunicar al IdP a qué quiere acceder (API de parámetros).
  • El RP debe poder personalizar o suprimir el texto que hace referencia al IdP que comparte el "nombre, la dirección de correo electrónico y la foto de perfil", ya que, en esta situación, se solicita información diferente (campos de la API).
  • Es posible que el IdP quiera usar un extremo diferente para implementar el flujo de autorización (varias 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).

APIs de FedCM Mode y Use Other Account

Dos nuevas extensiones 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 al IdP), lo que requiere que FedCM garantice que siempre responderá con una interfaz de usuario visible. Llamar a la API de FedCM en modo activo lleva a los usuarios a acceder al proveedor de identidad (IdP) cuando no han accedido. Además, dado que el modo activo se invoca 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 gesto del usuario y se puede invocar 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 devuelve 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 leerlo. El método bytes() mejora la ergonomía para obtener el cuerpo de Request y Response.

Acceso al sistema de archivos para Android y WebView

Esta API permite a los desarrolladores crear apps potentes que interactúan con otras apps (que no son web) en el dispositivo del usuario a través del 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 permite abrir un directorio y enumerar su contenido, así como almacenar identificadores de archivos y directorios en IndexedDB para recuperar el acceso al mismo contenido más adelante.

El acceso al sistema de archivos se lanzó en computadoras 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 en los servidores web de localhost porque STS se aplica en todo el host, en todos los puertos. Esto causa problemas de compatibilidad para los desarrolladores web que realizan pruebas locales. También afecta a los usuarios finales que utilizan paquetes de software que suelen iniciar servidores web localhost por motivos efímeros. Por ejemplo, la comunicación de un token de autorizació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 con el teclado

El lanzamiento de esta función (desde Chrome 130) se detuvo debido a una regresión de accesibilidad. Este problema se corrigió y la función continúa lanzándose con Chrome 132.

Comodín de 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á controlado 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(), según el principio de que las APIs generalmente deben vender búferes de bytes como Uint8Arrays. Chrome 132 se alinea con la interfaz Body proporcionando el descriptor de acceso bytes() en la interfaz PushMessageData también.

Consultas guardadas en sharedStorage.selectURL

sharedStorage.selectURL() ahora permite que las consultas se guarden y reutilicen por página, en la que los dos presupuestos de carga por 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 nombra la consulta.

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 lanzaría ninguna excepción, pero como el documento está inactivo, no se mostrará ninguna ventana emergente ni diálogo. A partir de Chrome 132, estas situaciones ahora arrojan InvalidStateError.

API de WebAuthn Signal

Permite que los usuarios 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.

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

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

WebGPU: Expone GPUAdapterInfo desde GPUDevice

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

WebGPU: Uso de vistas de texturas

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 se 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 son 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 de crossOriginIsolation de la página. La política está respaldada por el aislamiento de procesos. Además, los recursos secundarios entre dominios que no son de CORS del documento 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 los archivos de JavaScript. La información se codificará como comentarios mágicos.

Bajas y eliminaciones

En esta versión de Chrome, se introducen las siguientes bajas y eliminaciones. Visita ChromeStatus.com para ver listas de las bajas planificadas, las bajas actuales y las eliminaciones anteriores.

En esta versión de Chrome, se quitaron dos funciones.

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

Quitar 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 el 2018. A partir de 2024, la mayoría de los navegadores ya admiten las APIs sin prefijo desde hace algunos años.

En Chrome 132, se quitaron los siguientes elementos de HTMLVideoElement:

  • El atributo webkitSupportsFullscreen
  • El atributo webkitDisplayingFullscreen
  • El método webkitEnterFullscreen().
  • El método webkitExitFullscreen(). Ten en cuenta la diferencia en el uso de mayúsculas 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.