Chrome 146

Fecha de lanzamiento de la versión estable: 10 de marzo de 2026

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

CSS y la IU

Animaciones activadas por desplazamiento

Esta función agrega el control de animaciones basado en la posición de desplazamiento, por ejemplo, para reproducir, pausar y restablecer animaciones.

Un patrón común en las páginas de la Web es iniciar una animación cuando se alcanza una posición de desplazamiento. Los desarrolladores suelen hacer esto con JavaScript para detectar manualmente que un elemento se encuentra dentro de la ventana gráfica de su contenedor de desplazamiento y para iniciar una animación correspondiente (por ejemplo, deslizar ese elemento a la vista). Muchos de estos casos de uso se basan en información proporcionada de forma declarativa. Esta función te permite crear esas interacciones de forma declarativa con CSS, lo que permite que el agente de usuario descargue esta interacción en un subproceso de trabajo. La API también incluye interfaces de JavaScript que te permiten extender la función a animaciones web, además de las animaciones de CSS.

Error de seguimiento núm. 390314945 | Entrada de ChromeStatus.com | Especificación

La propiedad trigger-scope

La propiedad trigger-scope te permite limitar los nombres de animation triggers declarados por trigger-instantiating properties.

Trigger-instantiating properties, por ejemplo, timeline-trigger, declara nombres a los que la propiedad animation-trigger puede hacer referencia para adjuntar animaciones a los activadores. Sin embargo, estos nombres son globales de forma predeterminada (de manera similar a anchor-name), y suele ser útil limitar la visibilidad de los nombres para aislar las interacciones de animación a activación.

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

meta name="text-scale"

El tamaño de fuente predeterminado de root element se ajusta proporcionalmente a la configuración de escala de texto del sistema operativo y del navegador. Esto permite que las páginas que siguen las prácticas recomendadas en torno a font-relative units (es decir, que usan rem y em para los tamaños de fuente y los elementos de la página que se adaptan a las preferencias de tamaño de texto del usuario) respeten el parámetro de configuración de escala de texto a nivel del SO del usuario. Esto también inhabilita los mecanismos existentes basados en el navegador (es decir, el zoom de página completa en Windows) y las heurísticas (es decir, el ajuste automático del tamaño del texto en dispositivos móviles). Puedes indicarle al navegador que la página se creó de una manera (es decir, con rem y em) que se adapta bien a las diferentes preferencias de tamaño de fuente seleccionadas por el usuario. De manera similar a env(preferred-text-scale), que proporciona una forma de acceder a la escala de texto, esta API extiende esta función permitiendo el ajuste de escala con el tamaño de fuente predeterminado de root element y la inhabilitación del ajuste de escala de texto automático.

Error de seguimiento núm. 430566925 | Entrada de ChromeStatus.com | Especificación

Registro de elementos personalizados con alcance

Esta función permite que existan varias definiciones de elementos personalizados para un solo nombre de etiqueta en una página. Esto evita conflictos de nombres de elementos personalizados cuando una app web usa bibliotecas de varias fuentes. Esto se logra permitiendo que el código del usuario cree varios registros de elementos personalizados y los asocie con ámbitos de árbol y elementos que funcionan como objetos de alcance.

Error de seguimiento núm. 40826514 | Entrada de ChromeStatus.com | Especificación

Funciones

Cómo completar targetURL durante el control de archivos

La implementación de Launch Handler ahora garantiza que LaunchParams.targetURL se complete cuando se inicia una PWA con el controlador de archivos. Antes de este cambio, la propiedad era nula cuando el inicio de un archivo se dirigía a una ventana existente. Este cambio garantiza que la URL del campo action del manifiesto (la misma URL que el documento debe cargar actualmente) esté disponible para el consumidor launchQueue.

Error de seguimiento nº 464314997 | Entrada de ChromeStatus.com | Especificación

Se detuvo el reenvío de LaunchParams en la recarga.

Evita que launchQueue vuelva a enviar el último LaunchParams (incluidos los identificadores de archivos) cuando un usuario vuelve a cargar la página. Anteriormente, la actualización de una página volvía a activar el consumidor de lanzamiento con los datos del lanzamiento original. Este cambio garantiza que una recarga se trate como una navegación estándar en lugar de un "reinicio", y que launchQueue no se complete con archivos duplicados, a menos que se produzca un nuevo evento de inicio de archivo.

Error de seguimiento núm. 40204185 | Entrada de ChromeStatus.com

DOM

API de Navigation: Se agregó post-commit handler desde precommit

Cuando se interceptan navegaciones con el evento navigate, se pasan por separado los controladores ordinarios precommitHandlers y posteriores a la confirmación.

Esto funciona bien cuando solo hay una opción o la otra, pero puede ser engorroso cuando el flujo incluye un precommitHandler que lleva a un post-commit handler.

Esta adición es una pequeña mejora ergonómica que te permite registrar un controlador posterior a la confirmación mientras invocas un controlador previo a la confirmación.

Error de seguimiento núm. 465487215 | Entrada de ChromeStatus.com | Especificación

Gráficos

WebGPU: Let de textura y de muestreador

Agrega una función de lenguaje a WGSL, texture_and_sampler_let, que te permite almacenar objetos texture y sampler en una declaración let en WGSL.

Error de seguimiento núm. 459500757 | Entrada de ChromeStatus.com | Especificación

WebGPU: Adjuntos transitorios

Esta función agrega funcionalidad a la especificación de WebGPU después de su primer envío en un navegador.

Un nuevo TRANSIENT_ATTACHMENT GPUTextureUsage te permite crear archivos adjuntos que permiten que las operaciones de pase de renderización permanezcan en la memoria de la segmentación, lo que evita el tráfico de VRAM y, posiblemente, la asignación de VRAM para las texturas.

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

Modo de compatibilidad de WebGPU

Este modo agrega un subconjunto de la API de WebGPU con restricciones leves y habilitado de forma predeterminada que puede ejecutar APIs de gráficos más antiguas, por ejemplo, OpenGL y Direct3D11. Si habilitas este modo y cumples con sus restricciones, puedes extender el alcance de tus aplicaciones WebGPU a muchos dispositivos más antiguos que no tienen las APIs de gráficos explícitas y modernas que requiere WebGPU principal. En el caso de las aplicaciones simples, el único cambio obligatorio es especificar el compatibility featureLevel cuando se llama a requestAdapter. Para aplicaciones más avanzadas, es posible que se necesiten algunas modificaciones para adaptarse a las restricciones del modo. Dado que el modo de compatibilidad es un subconjunto, las aplicaciones resultantes también son aplicaciones válidas de WebGPU Core y se ejecutan incluso en agentes de usuario que no admiten el modo de compatibilidad.

Error de seguimiento núm. 442618060 | Entrada de ChromeStatus.com | Especificación

JavaScript

Secuenciación de iteradores

Una propuesta de TC39 para crear iterators secuenciando iterators existentes. Esto introduce Iterator.concat (...items).

Error de seguimiento núm. 434977727 | Entrada de ChromeStatus.com | Especificación

Intervención de permisos selectivos

Cuando le otorgas permiso a un sitio web para acceder a una API potente (por ejemplo, Bluetooth, Camera, Clipboard, DisplayCapture, Geolocation, Microphone, Serial y USB), tu consentimiento se destina al sitio, no necesariamente a cada secuencia de comandos de terceros que se ejecuta en la página. En particular, las secuencias de comandos de anuncios integradas que se ejecutan en el marco principal o en los iframe del mismo origen pueden usar el permiso de la página para acceder de forma oportunista a estos datos sensibles. Es posible que no sepas que un anuncio está accediendo a tu información.

Esta intervención tiene como objetivo alinear mejor un permiso otorgado con tu intención, ya que impide que la secuencia de comandos de anuncios en un contexto con permiso de API lo use, lo que refuerza tu confianza y control sobre tus datos.

Error de seguimiento núm. 435214052 | Entrada de ChromeStatus.com | Especificación

Conserva los valores de dropEffect de los eventos de dragover a drop

El objeto HTML5 Drag and Drop API permite que las aplicaciones web controlen las operaciones de arrastrar y soltar a través de una serie de eventos: dragstart, dragenter, dragover, dragleave, drop y dragend. Durante estos eventos, la propiedad dataTransfer.dropEffect indica qué operación (copy, move, link o none) se debe realizar.

Según HTML5 specification, el valor de dropEffect establecido por las aplicaciones web durante el último evento dragover se debe conservar y estar disponible en el evento drop posterior.

Sin embargo, los navegadores basados en Chromium sobrescribían el valor dropEffect de la aplicación web con la propia operación negociada del navegador antes de que se activara el evento drop, lo que incumplía el cumplimiento de las especificaciones y limitaba tu control sobre el comportamiento de arrastrar y soltar. Este comportamiento se modificó.

Error de seguimiento núm. 40068941 | Entrada de ChromeStatus.com | Especificación

Multimedia

API de Playback Statistics para WebAudio

Esta función agrega un atributo AudioContext.playbackStats que devuelve un objeto AudioPlaybackStats. Este objeto proporciona estadísticas de reproducción de audio, por ejemplo, average latency, minimum/maximum latency, underrun duration y underrun count. Esta API permite que las aplicaciones web supervisen la calidad de la reproducción de audio y detecten fallas.

Error de seguimiento núm. 475838360 | Entrada de ChromeStatus.com | Especificación

Red

Conservación del parámetro del tipo de MIME de la URL de datos

Conserva MIME type parameters (por ejemplo, charset, boundary) en los encabezados de la URL de datos Content-Type como se especifica en Fetch Standard.

Error de seguimiento núm. 40487194 | Entrada de ChromeStatus.com | Especificación

Rendimiento

LCP: Coincide con el comportamiento especificado para emitir candidatos

El algoritmo de LCP ahora emite candidatos en función de la imagen pintada más grande en lugar de la imagen pendiente, pero aún no pintada, más grande. Esto podría hacer que se emitan más candidatos intermedios en la línea de tiempo del rendimiento.

En cada fotograma de la animación, después de que se presenta, el algoritmo de LCP emite un nuevo candidato (como máximo, uno) a la línea de tiempo del rendimiento si hay un nuevo texto o imagen más grande que se pintó en ese fotograma. El algoritmo también hace un seguimiento de la "imagen pendiente más grande", que es la imagen más grande que aún se está cargando, y usa el tamaño de esa imagen para determinar si la nueva candidata es la más grande. Esto significa que una imagen grande que se carga lentamente puede impedir la emisión de candidatos intermedios para el LCP, y estos candidatos suelen proporcionar información útil para comprender la progresión de la carga.

Este comportamiento surgió durante Interop 2025 como una diferencia con otros motores, y el equipo acordó alinearse para emitir, como máximo, un candidato por fotograma según el conjunto de elementos de imagen y texto renderizados para ese fotograma.

Error de seguimiento núm. 482261053 | Entrada de ChromeStatus.com | Especificación

Seguridad

API de Sanitizer

La API de Sanitizer ofrece una forma de quitar el contenido que podría ejecutar secuencias de comandos desde contenido HTML arbitrario proporcionado por el usuario. El objetivo es facilitar la creación de aplicaciones web sin XSS.

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

Pruebas de origen

WebNN

WebNN permite que las aplicaciones y los frameworks web aprovechen los servicios nativos del sistema operativo para el aprendizaje automático y las capacidades de hardware subyacentes disponibles en tu computadora para implementar experiencias de AA coherentes, eficientes y confiables en la Web.

Prueba de origen | Error de seguimiento núm. 40206287 | Entrada de ChromeStatus.com | Especificación

API de CPU Performance

Esta API expone información sobre la energía del dispositivo. Esta API está orientada a las aplicaciones web que usan esta información para proporcionar una mejor experiencia del usuario, posiblemente en combinación con la API de Compute Pressure, que proporciona información sobre la presión o el uso de la CPU del dispositivo y permite que las aplicaciones reaccionen a los cambios en la presión de la CPU.

Error de seguimiento núm. 449760252 | Entrada de ChromeStatus.com | Especificación

Reglas de especulación: Campo form_submission

Esto extiende la sintaxis de speculation rules y te permite especificar el campo form_submission para prerender.

Este campo indica al navegador que prepare el prerender como un envío de formulario, de modo que se pueda activar con navegaciones de envío de formulario reales. Por ejemplo, un formulario de búsqueda simple genera una navegación de solicitud GET de /search?q=XXX; los desarrolladores web solicitaron compatibilidad con esto.

Error de seguimiento núm. 346555939 | Entrada de ChromeStatus.com | Especificación

Focusgroup

La función Focusgroup facilita la navegación con el enfoque del teclado entre un conjunto de elementos enfocables con las teclas de flecha del teclado.

Obtén más información sobre focusgroup en Solicitud de comentarios de desarrolladores: focusgroup.

Prueba de origen | Error de seguimiento núm. 1286127 | Entrada de ChromeStatus.com | Especificación