Chrome 144

Fecha de lanzamiento de la versión estable: 13 de enero de 2026

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

CSS y la IU

Seudoelementos de resaltado de CSS para la búsqueda en la página

Esta función expone el diseño de los resultados de la búsqueda en la página a los autores como un seudoelemento de resaltado, similar a los errores de selección y ortografía. Esto permite a los desarrolladores cambiar los colores de primer plano y de fondo, o agregar decoraciones de texto. Esto es especialmente útil si los valores predeterminados del navegador no tienen suficiente contraste con los colores de la página o no son adecuados por otros motivos.

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

Coincidencia de nombres de contenedores sin alcance de árbol

Ignora el alcance del árbol cuando se hace coincidir container-name para las búsquedas de @container.

Anteriormente, la coincidencia de container-name para las consultas de contenedores usaba nombres o referencias con alcance de árbol para la coincidencia. Esto significaba que el mismo nombre no coincidía si la regla @container y la propiedad container-type provenían de diferentes árboles, de modo que la declaración container-type provenía de un árbol de sombra interno.

Con este cambio, los nombres de los contenedores coinciden independientemente de la regla @container o los orígenes de la declaración container-type.

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

Posicionamiento de anclaje de CSS con transformaciones

Cuando un elemento posicionado con anclaje está vinculado a un anclaje que tiene una transformación (o está contenido en un elemento con una transformación), resuelve las funciones anchor() y anchor-size() en relación con el cuadro delimitador del anclaje transformado.

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

Propiedad caret-shape de CSS

La forma del cursor en las aplicaciones nativas suele ser una barra vertical, un guion bajo o un bloque rectangular. Además, la forma suele variar según el modo de entrada, por ejemplo, insertar o reemplazar. La propiedad caret-shape de CSS permite que los sitios elijan una de estas formas para el cursor dentro de los elementos editables o dejen la elección al navegador. Los valores de propiedad reconocidos son auto, bar, block y underscore.

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

Cascada de CSS de SVG2

Alinea la implementación de Chrome con la especificación de SVG2 para que coincidan las reglas de CSS en los árboles de elementos <use>.

Haz coincidir los selectores con los elementos de instanciación <use> en lugar del subárbol de elementos de origen. Esto significa que los selectores ya no coinciden con los elementos secundarios y hermanos fuera del subárbol clonado. Lo que es más importante, los selectores de estado, por ejemplo, :hover, ahora comienzan a coincidir en las instancias de <use>.

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

Respeta overscroll-behavior en los contenedores de desplazamiento que no se pueden desplazar

La propiedad overscroll-behavior se aplica a todos los elementos del contenedor de desplazamiento, independientemente de si esos elementos tienen contenido desbordado o si el usuario puede desplazarse por ellos. Los desarrolladores pueden usar overscroll-behavior para evitar la propagación del desplazamiento en un fondo overflow: hidden o un elemento overflow: auto sin considerar si se desbordará actualmente.

Entrada de ChromeStatus.com | Especificación

Se respeta overscroll-behavior para los desplazamientos con el teclado

Cuando estableces overscroll-behavior en un valor distinto de auto, el navegador no debe realizar el encadenamiento de desplazamiento. El navegador respeta este valor para el desplazamiento con el mouse o táctil, pero el desplazamiento con el teclado lo ignoraba. Este cambio hace que el desplazamiento con el teclado también respete overscroll-behavior.

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

Compatibilidad con @scroll-state scrolled

Permite que los desarrolladores diseñen los elementos secundarios de los contenedores según la dirección de desplazamiento más reciente.

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

Sintaxis relativa al lado para las abreviaturas de background-position-x/y

Define la posición de la imagen de fondo en relación con uno de sus bordes.

Esta sintaxis les brinda a los desarrolladores mecanismos más flexibles y responsivos para definir la posición de la imagen de fondo, en lugar de usar valores fijos que necesitan adaptación al tamaño de la ventana o el marco.

Esta función también se aplica a la propiedad -webkit-mask-position para garantizar la compatibilidad web.

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

Método View transitions waitUntil()

Las transiciones de vista construyen automáticamente un árbol de seudoelementos para mostrar y animar los elementos participantes en la transición. Según la especificación, este subárbol se construye cuando la transición de vista comienza a animarse y se destruye cuando las animaciones asociadas con todos los seudoelementos de transición de vista están en el estado final (o, más precisamente, en un estado no en ejecución y no en pausa).

Esto funciona en la mayoría de los casos y proporciona una experiencia fluida para los desarrolladores. Sin embargo, para casos más avanzados, esto no es suficiente porque, a veces, los desarrolladores quieren que el seudobloque de transición de vista persista más allá del estado de finalización de la animación.

Un ejemplo es vincular las transiciones de vista con las animaciones controladas por desplazamiento. Cuando una línea de tiempo de desplazamiento controla la animación, el subárbol no debe destruirse cuando finalizan las animaciones, ya que el desplazamiento hacia atrás aún debe animar los seudoelementos.

Para habilitar usos avanzados de la transición de vista, este intent agrega una función waitUntil() en el objeto ViewTransition que toma una promesa. Esta promesa retrasa la destrucción del seudoárbol hasta que se estabiliza.

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

Dispositivo

XRVisibilityMaskChange

Agrega un evento XRVisibilityMaskChange que proporciona una lista de vértices y una lista de índices para representar la malla de la parte visible de la ventana gráfica del usuario. Luego, estos datos pueden limitar la cantidad de la ventana gráfica que se dibuja, lo que mejora el rendimiento. Para brindar una mejor compatibilidad con este evento, los objetos XRView también reciben identificadores únicos para facilitar la vinculación con las máscaras asociadas. Esta extensión de la especificación principal de WebXR.

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

DOM

El elemento <geolocation>

Se presenta el elemento <geolocation>, un control declarativo activado por el usuario para acceder a su ubicación. Simplifica el recorrido del usuario y del desarrollador, ya que controla el flujo de permisos y proporciona directamente datos de ubicación al sitio. Esto suele eliminar la necesidad de una llamada a la API de JavaScript independiente.

Esto soluciona el problema de larga data de las indicaciones de permisos que se activan directamente desde JavaScript sin un indicador sólido de la intención del usuario. Cuando se incorpora un elemento controlado por el navegador en la página, el clic del usuario proporciona un indicador claro y deliberado. Esto permite una mejor UX de la solicitud y, lo que es fundamental, proporciona una ruta de recuperación para los usuarios que anteriormente rechazaron el permiso.

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

Gráficos

WebGPU: Diseño estándar del búfer uniforme

Ya no es necesario que los búferes uniformes declarados en sombreadores de WGSL tengan una alineación de 16 bytes en los elementos del array ni que se agregue relleno a los desplazamientos de la estructura anidada hasta un múltiplo de 16 bytes.

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

WebGPU: Función subgroup_id

Los valores integrados subgroup_id y num_subgroups están disponibles cuando se habilita la extensión de subgrupos.

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

JavaScript

Temporal en ECMA262

La API de Temporal en ECMA262 es una nueva API que proporciona objetos y funciones estándar para trabajar con fechas y horas. Date ha sido un problema persistente en ECMAScript. Esta propuesta incluye Temporal, un objeto Object global que actúa como un espacio de nombres de nivel superior (similar a Math) y que incorpora una API de fecha y hora moderna al lenguaje ECMAScript.

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

Compatibilidad con ping, hreflang, type y referrerPolicy para SVGAElement

Se agregó compatibilidad con los atributos ping, hreflang, type y referrerPolicy en SVGAElement, lo que alinea su comportamiento con HTMLAnchorElement para un manejo coherente de los vínculos en HTML y SVG.

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

Duplicación de operadores MathML de RTL

Admite la duplicación a nivel de caracteres y glifos cuando se renderizan operadores de MathML en el modo de derecha a izquierda.

Cuando se usa el modo RTL, algunos operadores se pueden invertir cambiándolos a otro punto de código. Por ejemplo, un paréntesis de cierre se convierte en un paréntesis de apertura. Se trata de una duplicación a nivel de caracteres, con equivalencias definidas por la propiedad Bidi_Mirrored de Unicode.

Algunos operadores no tienen un carácter de duplicación adecuado. En este caso, se aplica la duplicación a nivel de glifo con la función de fuente rtlm, en la que otro glifo puede reemplazarlo en un contexto duplicado. Algunas implementaciones existentes reflejan el glifo original directamente, pero esto podría cambiar el significado de los caracteres asimétricos, por ejemplo, la integral de contorno en sentido horario.

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

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, por ejemplo, los clientes de escritorio remoto, mantengan sus portapapeles sincronizados con el portapapeles del sistema. Proporciona una alternativa eficiente a la sondeo del portapapeles (con JavaScript) para detectar cambios.

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

Permisos

Política de permisos de User-Agent Client Hints ch-ua-high-entropy-values

Se agregó compatibilidad con una política de permisos ch-ua-high-entropy-values que permite que un sitio de nivel superior restrinja qué documentos pueden recopilar sugerencias del cliente de alta entropía con la API de JavaScript navigator.userAgentData.getHighEntropyValues().

Es posible restringir la recopilación de sugerencias de alta entropía a través de HTTP con las políticas de permisos existentes por sugerencia del cliente.

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

Rendimiento

Rendimiento y tiempo del evento: interactionCount

La API de Event Timing forma parte del Registro de rendimiento y mide el rendimiento de las interacciones del usuario. Algunos eventos tienen un valor interactionId asignado. Esto resulta útil para agrupar interacciones relacionadas según los gestos o las entradas físicas comunes del usuario.

Esta función agrega una propiedad performance.interactionCount, que es la cantidad total de interacciones que se produjeron en la página.

En particular, esta función es útil para calcular el valor de la métrica Interaction to Next Paint (INP). Esto requiere conocer la cantidad total de interacciones para calcular una puntuación de percentil alta (p98 para las páginas con más de 50 interacciones totales).

Esta función se especificó hace mucho tiempo, se creó un prototipo en Chromium hace mucho tiempo, pero nunca se lanzó, forma parte de Interop 2025 y está disponible en otros navegadores.

Entrada de ChromeStatus.com | Especificación

Entrada del usuario

Eventos de límite del puntero y el mouse interoperables después de los cambios en el DOM

Después de que se quita un destino de evento del DOM, el destino lógico del puntero, según lo implican los eventos de límite de puntero y mouse (es decir, los eventos over, out, enter y leave), debe ser el ancestro más cercano que aún esté adjunto al DOM.

Recientemente, el PEWG llegó a un consenso sobre este comportamiento.

Chrome hacía un seguimiento de un nodo incluso después de que se quitaba del DOM. Como resultado, si el puntero se mueve a un nuevo nodo B después de que el nodo A de la prueba de detección de hits se quita del DOM, la secuencia de eventos de límite (eventos pointerover, pointerout, pointerenter y pointerleave, y los eventos del mouse correspondientes) implica un movimiento del puntero de A a B. Según el nuevo consenso, la secuencia de eventos implica un movimiento del puntero desde "el elemento superior de A" hacia B.

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

Bloqueo del puntero en Android

Proporciona acceso al movimiento sin procesar del mouse bloqueando el destino de los eventos del mouse en un solo elemento y ocultando el cursor del mouse.

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

WebRTC

RTCDegradationPreference valor de enumeración maintain-framerate-and-resolution

maintain-framerate-and-resolution inhabilita la adaptación de video interna de WebRTC. Esto permite que la aplicación implemente su propia lógica de adaptación y evita la interferencia de la adaptación interna.

De la especificación de sugerencias de contenido de WebRTC MediaStreamTrack:

Mantener la velocidad de fotogramas y la resolución independientemente de la calidad del video El agente de usuario no debería preferir reducir la velocidad de fotogramas o la resolución por motivos de calidad y rendimiento, pero podría descartar fotogramas antes de la codificación si es necesario para no abusar de los recursos de red y del codificador.

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

Apps web aisladas (IWA)

Se agregó compatibilidad con multicast para la API de Direct Sockets.

Esta función permite que las apps web aisladas (IWA) se suscriban a grupos de multidifusión, reciban paquetes del protocolo de datagramas de usuario (UDP) desde ellos y especifiquen parámetros adicionales cuando envían paquetes UDP a direcciones de multidifusión.

Entrada de ChromeStatus.com | Especificación

Pruebas de origen

API de Canvas mejorada TextMetrics

Se expande la API de TextMetrics Canvas para admitir rectángulos de selección, consultas de cuadros delimitadores y operaciones basadas en clústeres de glifos.

Esta nueva funcionalidad permite crear aplicaciones complejas de edición de texto con una selección, una posición del cursor y una prueba de detección precisas. Además, la renderización basada en clústeres facilita efectos de texto sofisticados, por ejemplo, animaciones y diseño de caracteres independientes.

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

Elementos multimedia adaptados al contexto

Los elementos multimedia adaptados al contexto son un control declarativo activado por el usuario para acceder a transmisiones de medios y para interactuar con ellas.

Esto soluciona el problema de larga data de que las solicitudes de permisos se activan directamente desde JavaScript sin un indicador sólido de la intención del usuario. Cuando se incorpora un elemento controlado por el navegador en la página, el clic del usuario proporciona un indicador claro y deliberado. Esto permite una mejor UX de la solicitud y, lo que es fundamental, proporciona una ruta de recuperación para los usuarios que rechazaron el permiso anteriormente.

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

Bajas y eliminaciones

Se descontinúa y quita la API de Private Aggregation

La API de Private Aggregation es un mecanismo genérico para medir datos agregados en varios sitios de una manera que preserva la privacidad. Se diseñó originalmente para un futuro sin cookies de terceros.

Tras el anuncio de Chrome de que se mantendrá el enfoque actual de las cookies de terceros, Chrome planea retirar y quitar la API de Private Aggregation (junto con otras APIs de Privacy Sandbox, como se indica en la página de estado de las funciones de Privacy Sandbox). Esta API solo se expone a través de las APIs de Shared Storage y Protected Audience, que también se planean dar de baja y quitar. Por lo tanto, no se requiere trabajo adicional para la Agregación privada.

Entrada de ChromeStatus.com | Especificación

Baja y retiro de la API de Shared Storage

La API de Shared Storage es una API web que preserva la privacidad y permite el almacenamiento sin particionar por un sitio de origen.

Tras el anuncio de Chrome de que se mantendrá el enfoque actual de las cookies de terceros, Chrome planea dar de baja y quitar la API de Shared Storage (junto con otras APIs de Privacy Sandbox, como se describe en la página de estado de las funciones de Privacy Sandbox).

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

Baja y retiro de Protected Audience

La API de Protected Audience proporciona un método de publicidad basada en grupos de interés sin cookies de terceros ni seguimiento de usuarios en los sitios.

Tras el anuncio de Chrome de que se mantendrá el enfoque actual de las cookies de terceros, Chrome planea dar de baja y quitar la API de Protected Audience (junto con otras APIs de Privacy Sandbox, como se indica en la página de estado de las funciones de Privacy Sandbox).

Entrada de ChromeStatus.com | Especificación

Entidades cargadas externamente en el análisis de XML

Chrome recupera de forma síncrona entidades XML externas o DTD y las incorpora al análisis en circunstancias específicas. En este documento, se propone quitar esta función.

Por ejemplo, http/tests/security/contentTypeOptions/xml-external-entity.xml muestra cómo se pueden definir entidades externas en la parte final de la instrucción DOCTYPE. Luego, estas entidades hacen referencia a recursos que se cargan de forma síncrona y se incluyen como contexto cuando se analiza el código XML.

Otro ejemplo de sintaxis es un DOCTYPE que, con la palabra clave SYSTEM seguida de una URL, apunta a una DTD que contiene definiciones de entidades adicionales.

El analizador sintáctico pasa esas solicitudes de carga externas.

Según la especificación de XML, los procesadores no validadores no están obligados a leer entidades externas.

Chrome planea desaprobar la carga de definiciones de entidades externas en documentos XML que no usan XSLT.

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