Chrome 140

Fecha de lanzamiento de la versión estable: 2 de septiembre de 2025

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

CSS

Aritmética con escritura de CSS

La aritmética con tipos te permite escribir expresiones en CSS, como calc(10em / 1px) o calc(20% / 0.5em * 1px). Esto es útil, por ejemplo, en tipografía, ya que te permite convertir un valor escrito en uno sin tipo y reutilizarlo para propiedades que aceptan números. Otro caso de uso es multiplicar el valor sin unidades por otro tipo. Por ejemplo, ahora puedes convertir de píxeles a grados.

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

Propiedad caret-animation de CSS

Chromium admite la animación de la propiedad caret-color. Sin embargo, cuando se anima, el comportamiento parpadeante predeterminado del cursor interfiere con la animación.

La propiedad caret-animation de CSS tiene dos valores posibles: auto y manual. auto significa que se usa el valor predeterminado del navegador (parpadeo) y manual significa que el desarrollador controla la animación del cursor. Además, los usuarios que se sientan molestos por las imágenes parpadeantes o destellantes, o que tengan reacciones adversas a ellas, pueden inhabilitar el parpadeo con una hoja de estilo del usuario.

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

API de highlightsFromPoint

La API de highlightsFromPoint permite a los desarrolladores interactuar con los aspectos destacados personalizados. Detecta qué destacados existen en un punto específico dentro de un documento. Esta interactividad es valiosa para las funciones web complejas en las que se pueden superponer varios elementos destacados o existir dentro del DOM de sombra. Al proporcionar una detección precisa de los momentos destacados basada en puntos, la API permite a los desarrolladores administrar las interacciones dinámicas con momentos destacados personalizados de manera más eficaz. Por ejemplo, los desarrolladores pueden responder a los clics del usuario o a los eventos de desplazamiento del mouse sobre las regiones destacadas para activar tooltips personalizados, menús contextuales o cualquier otra función interactiva.

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

Opción de contenedor ScrollIntoView

La opción de contenedor ScrollIntoViewOptions permite a los desarrolladores realizar una operación de scrollIntoView que solo desplaza el contenedor de desplazamiento superior más cercano. Por ejemplo, el siguiente fragmento solo desplaza el contenedor de desplazamiento de target para que target se muestre, pero no desplazará todos los contenedores de desplazamiento a la ventana gráfica:

target.scrollIntoView({container: 'nearest'});

Entrada de ChromeStatus.com | Especificación

Transiciones de vista: Heredan más propiedades de animación

Se agregan más propiedades de animación para heredar a través del seudoárbol de transición de vista:

  • animation-timing-function
  • animation-iteration-count
  • animation-direction
  • animation-play-state

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

Los seudoelementos de transición de vista heredan animation-delay.

Además de la actualización anterior, ahora la propiedad animation-delay se hereda a través del seudoárbol de transición de vistas.

Entrada de ChromeStatus.com | Especificación

Grupos de transiciones de vista anidados

Esta función permite que las transiciones de vista generen un árbol de seudoelementos anidados en lugar de uno plano. Esto permite que la transición de vista parezca más acorde con sus elementos originales y su intención visual. Permite el recorte, las transformaciones 3D anidadas y la aplicación adecuada de efectos como opacidad, enmascaramiento y filtros.

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

Propaga el viewport overscroll-behavior desde la raíz

Este cambio propaga overscroll-behavior desde la raíz en lugar del cuerpo.

El grupo de trabajo de CSS resolvió no propagar las propiedades de <body> al viewport. En cambio, las propiedades del viewport se propagan desde el elemento raíz (<html>). Por lo tanto, overscroll-behavior debe propagarse desde el elemento raíz. Sin embargo, Chrome tiene un problema de larga data: propaga overscroll-behavior desde <body> en lugar de la raíz. Este comportamiento no es interoperable con otros navegadores. Este cambio hace que Chrome cumpla con la especificación y sea interoperable con otras implementaciones.

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

counter() y counters() de CSS en el texto alternativo de la propiedad content

Esta función agrega la capacidad de usar counter() y counters() en el texto alternativo de la propiedad content. Esto proporciona información más significativa para mejorar la accesibilidad.

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

Propiedad scroll-target-group de CSS

La propiedad scroll-target-group especifica si el elemento es un contenedor de grupo de marcadores de desplazamiento. Acepta uno de los siguientes valores:

  • "none": El elemento no establece un contenedor de grupo de marcadores de desplazamiento.
  • "auto": El elemento establece un contenedor de grupo de marcadores de desplazamiento que forma un grupo de marcadores de desplazamiento que contiene todos los elementos de marcadores de desplazamiento para los que este es el contenedor de grupo de marcadores de desplazamiento principal más cercano.

Establecer un contenedor de grupo de marcadores de desplazamiento permite que cualquier elemento HTML de anclaje con un identificador de fragmento que se encuentre dentro de dicho contenedor sea el equivalente en HTML de los seudoelementos ::scroll-marker. El elemento de anclaje cuyo destino de desplazamiento está actualmente a la vista se puede diseñar con la seudoclase :target-current.

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

Se admite el descriptor font-variation-settings en la regla @font-face

CSS permite a los desarrolladores ajustar el peso, el ancho, la inclinación y otros ejes de una fuente con la propiedad font-variation-settings en elementos individuales. Sin embargo, los navegadores basados en Chromium no admiten esta propiedad dentro de las declaraciones de @font-face. Esta función admite la sintaxis basada en cadenas para font-variation-settings, como se define en CSS Fonts Level 4. Las etiquetas de funciones no válidas o no reconocidas se ignoran según la especificación. No se admiten formularios binarios ni no estándares. Las fuentes variables se adoptan cada vez más por su rendimiento y flexibilidad tipográfica. Agregar compatibilidad con este descriptor en Chromium mejora el control, reduce la repetición y admite un enfoque más moderno y escalable para la tipografía web.

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

DOM

Atributo de fuente ToggleEvent

El atributo source de un ToggleEvent contiene el elemento que activó el ToggleEvent, si corresponde. Por ejemplo, si un usuario hace clic en un elemento <button> con el atributo popovertarget o commandfor establecido para abrir una ventana emergente, el evento ToggleEvent que se activa en la ventana emergente tendrá su atributo de origen establecido en el elemento <button> de invocación.

Entrada de ChromeStatus.com | Especificación

Apps web aisladas (IWA)

API de Controlled Frame (solo disponible para las IWA)

Esta función agrega una API de Controlled Frame que solo está disponible para las apps web aisladas (IWA). Al igual que las APIs con nombres similares en otras plataformas, Controlled Frame permite incorporar todo el contenido, incluso el contenido de terceros que no se puede incorporar en <iframe>. Controlled Frame también permite controlar el contenido incorporado con una colección de métodos y eventos de la API. Para obtener más información sobre las apps web aisladas, consulta la explicación sobre las apps web aisladas.

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

JavaScript

Uint8Array hacia y desde Base64 y hexadecimal

Base64 es una forma común de representar datos binarios arbitrarios como ASCII. JavaScript tiene Uint8Arrays para los datos binarios. Sin embargo, carece de un mecanismo integrado para codificar esos datos como base64 o para tomar datos base64 y producir un Uint8Array correspondiente. Esta función agrega la capacidad y los métodos para convertir entre cadenas hexadecimales y Uint8Arrays.

Entrada de ChromeStatus.com | Especificación

Visualiza el cambio de tiempo de la promesa de finalización de la transición

El tiempo actual de la promesa finalizada ocurre dentro de los pasos del ciclo de vida de la renderización. Esto significa que el código que se ejecuta como resultado de la resolución de la promesa se ejecuta después de que se produce el fotograma visual que quita la transición de vista. Esto puede causar un parpadeo al final de la animación si el script mueve los estilos para conservar un estado visualmente similar. Este cambio resuelve el problema trasladando los pasos de limpieza de la transición de vista para que se ejecuten de forma asíncrona después de que se complete el ciclo de vida.

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

API web

Opción ReadableStreamBYOBReader min

Esta función introduce una opción min al método ReadableStreamBYOBReader.read(view) existente. El método ya acepta un ArrayBufferView en el que lee datos, pero actualmente no garantiza cuántos elementos se escriben antes de que se resuelva la lectura. Si especificas un valor de min, puedes requerir que la transmisión espere hasta que haya disponible al menos esa cantidad de elementos antes de resolver la lectura. Esto mejora el comportamiento actual, en el que las lecturas pueden resolverse con menos elementos de los que puede contener la vista.

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

La API de Get Installed Related Apps (navigator.getInstalledRelatedApps) proporciona a los sitios acceso para saber si sus aplicaciones relacionadas correspondientes están instaladas. Los sitios solo pueden usar esta API si la aplicación tiene una asociación establecida con el origen web.

La API se lanzó en Chrome 80 para Android. En Chrome 140, se habilitó la compatibilidad adicional con las apps web en computadoras.

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

En algunos casos, es importante distinguir en el servidor entre las cookies establecidas por el servidor y las establecidas por el cliente. Uno de estos casos involucra las cookies que normalmente siempre establece el servidor. Sin embargo, es posible que se establezcan códigos inesperados (como un exploit de XSS, una extensión maliciosa o una confirmación de un desarrollador confundido) en el cliente. Esta propuesta agrega un indicador que permite que los servidores hagan esa distinción. Más específicamente, define los prefijos __Http y __HostHttp, que garantizan que no se establezca una cookie en el cliente con una secuencia de comandos.

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

Service worker

La secuencia de comandos de SharedWorker hereda el controlador para la URL de la secuencia de comandos de BLOB

La especificación indica que los trabajadores deben heredar controladores para la URL de BLOB. Sin embargo, el código existente permite que solo los dedicated workers hereden el controlador. Los shared workers no lo heredan. Esto corrige el comportamiento de Chrome para que se alinee con la especificación. La política empresarial SharedWorkerBlobURLFixEnabled controla esta función.

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

Agregar ServiceWorkerStaticRouterTimingInfo

Esta función agrega información de sincronización para la API de enrutamiento estático de ServiceWorker, que se expone en la API de Navigation Timing y la API de Resource Timing para uso de los desarrolladores. ServiceWorker proporciona información de sincronización para marcar ciertos puntos en el tiempo.

Esta función agrega dos elementos de información de tiempo relevantes para la API de Static Routing:

  • RouterEvaluationStart: Es el tiempo que se tarda en comenzar a hacer coincidir una solicitud con las reglas del router registradas.
  • CacheLookupStart: Es el tiempo para comenzar a buscar el almacenamiento en caché si la fuente es "cache".

Además, esta función agrega dos elementos de información sobre la fuente del router: la fuente del router coincidente y la fuente del router final.

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

Pruebas de origen

Cómo habilitar las notificaciones de llamadas entrantes

Esta función extiende la API de Notifications para permitir que las PWA instaladas envíen notificaciones de llamadas entrantes, es decir, notificaciones con botones de estilo de llamada y un tono de llamada. Esta extensión ayuda a las apps web de VoIP a crear experiencias más atractivas, ya que facilita a los usuarios reconocer y responder las notificaciones de llamadas. Además, esta función ayuda a reducir la brecha entre las implementaciones nativas y web de las apps que tienen ambas.

Prueba de origen | Error de seguimiento #detail?id=1383570 | Entrada de ChromeStatus.com | Especificación

API de clave-valor de Crash Reporting

Esta función presenta una nueva API de clave-valor, tentativamente window.crashReport, respaldada por un mapa por documento que contiene datos agregados a los informes de fallas.

Los datos colocados en el mapa de respaldo de esta API se envían en CrashReportBody si se produce alguna falla en el proceso de renderizador del sitio. Esto permite que los desarrolladores depuren qué estado específico de su aplicación podría estar causando una falla determinada.

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

Agrega el evento clipboardchange

El evento clipboardchange se activa cada vez que una app web o cualquier otra aplicación del sistema cambia el contenido del portapapeles del sistema. Esto permite que las apps web, como los clientes de escritorio remoto, mantengan sus portapapeles sincronizados con el portapapeles del sistema. Proporciona una alternativa eficiente para sondear el portapapeles con JavaScript en busca de cambios.

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

Cómo habilitar SharedWorker en Android

La demanda de compatibilidad con SharedWorker en Android se debe a varias necesidades expresadas por los desarrolladores web:

  • Uso compartido y eficiencia de los recursos: Los desarrolladores buscan compartir una sola conexión de WebSocket o de eventos enviados por el servidor (SSE) en varias pestañas, lo que permite conservar recursos.
  • Administración de recursos persistentes: Se requiere compartir y conservar recursos en diferentes pestañas, en especial para tecnologías como SQLite basado en WASM.
  • Cierre de una brecha de funciones: Otros navegadores móviles importantes, como Safari en iOS y Firefox en Android, ya admiten SharedWorker, lo que convierte a Chrome en Android en el último navegador importante en abordar esta brecha.

Prueba de origen | Entrada de ChromeStatus.com | Especificación

Eliminaciones

Dejar de enviar el encabezado Purpose: prefetch desde las búsquedas previas y las renderizaciones previas

Las cargas previas y las renderizaciones previas ahora usan el encabezado Sec-Purpose, por lo que se quitará el encabezado heredado Purpose: prefetch.

Esto se limitará a las reglas de especulación prefetch, las reglas de especulación prerender, <link rel=prefetch> y el <link rel=prerender> no estándar de Chromium.

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

Las reglas especiales de tamaño de fuente para H1 están obsoletas en algunos elementos.

La especificación de HTML contiene una lista de reglas especiales para las etiquetas <h1> anidadas dentro de las etiquetas <article>, <aside>, <nav> o <section>:

Estas reglas especiales están obsoletas porque causan problemas de accesibilidad. Es decir, reducen visualmente el tamaño de la fuente de los elementos <h1> anidados para que "parezcan" elementos <h2>, pero nada en el árbol de accesibilidad refleja esta degradación.

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