Fecha de lanzamiento de la versión estable: 7 de abril de 2026
A menos que se indique lo contrario, los siguientes cambios se aplican a la versión del canal estable de Chrome 147 para Android, ChromeOS, Linux, macOS y Windows.
CSS y IU
Transiciones de vista con alcance de elementos
Expone element.startViewTransition() en elementos HTML arbitrarios.
El elemento establece un alcance para la transición, lo que significa que los pseudoelementos de transición se ven afectados por los recortes y las transformaciones de los elementos superiores, y que se pueden ejecutar varias transiciones en elementos separados de forma simultánea.
Seguimiento de errores n.° 394052227 | Entrada de ChromeStatus.com | Especificación
contrast-color() de CSS
Esta función te ayuda a cumplir con los requisitos de contraste para la accesibilidad.
Puedes usar la función contrast-color() en cualquier lugar de CSS donde se espere un valor de color. Toma un argumento de valor de color y muestra "black" o "white", según cuál proporcione el mayor contraste con el argumento de color.
Seguimiento de errores n.° 40142548 | Entrada de ChromeStatus.com | Especificación
Intervalo con nombre scroll de la línea de tiempo
Esta función expande el conjunto de intervalos con nombre para las líneas de tiempo de la vista agregando un intervalo scroll al conjunto existente de entry, exit, cover y contain.
Seguimiento de errores n.° 41483848 | Entrada de ChromeStatus.com | Especificación
Propiedad border-shape de CSS
La propiedad border-shape de CSS te permite crear bordes no rectangulares con cualquier forma arbitraria, por ejemplo, un polígono, un círculo o shape().
Aunque border-shape acepta las mismas formas que clip-path, es fundamentalmente diferente. border-shape define la forma del borde, lo decora y solo recorta el interior.
border-shape tiene dos variantes: una que traza una forma y otra que rellena entre dos formas.
Seguimiento de errores n.° 370041145 | Entrada de ChromeStatus.com | Especificación
Interfaz CSSPseudoElement
La interfaz CSSPseudoElement representa un pseudoelemento en JavaScript.
CSSPseudoElement se muestra desde Element.pseudo(type), donde type es
actualmente ::after, ::before, o ::marker. CSSPseudoElement es un objeto proxy que representa un pseudoelemento. A diferencia de un pseudoelemento, un CSSPseudoElement siempre existe.
CSSPseudoElement tiene los siguientes atributos y métodos:
- El atributo
typees una cadena que representa el tipo del pseudoelemento. - El atributo
elementes el elemento de origen definitivo del pseudoelemento. - El atributo
parentes el elemento de origen del pseudoelemento (ya seaElementoCSSPseudoElementpara pseudoelementos anidados). - El método
pseudo(type)recupera pseudoelementos anidados.
Seguimiento de errores n.° 40639103 | Entrada de ChromeStatus.com | Especificación
Pseudodestino en eventos
Los eventos específicos ahora incluyen un .pseudoTarget, que es CSSPseudoElement (si la interacción fue con un pseudoelemento) o null.
Esto proporciona información más específica sobre el origen del evento. Por ejemplo, indica que se hizo clic en un pseudoelemento ::after, no solo en el elemento de origen definitivo (Event.target). Ten en cuenta que Event.target no cambia, por lo que el evento solo tiene información adicional sobre la interacción con el pseudoelemento.
Los eventos son UIEvent, AnimationEvent y TransitionEvent.
Aún no se admiten mouseover, mouseout, mouseenter, mouseleave ni sus contrapartes pointer*.
Seguimiento de errores n.° 40639103 | Entrada de ChromeStatus.com | Especificación
Desvincula las propiedades *-width y *-style
Chrome 147 se alinea con las especificaciones CSS
actualizadas para el comportamiento de las propiedades
border-width, outline-width y column-rule-width. Anteriormente, si las propiedades border-style, outline-style o column-rule-style correspondientes se establecían en hidden o none, el ancho calculado de estas propiedades se forzaba a 0px, independientemente del valor especificado.
Con este cambio, los valores calculados de border-width, outline-width y column-rule-width siempre reflejarán los valores especificados por el autor, independientemente de la propiedad *-style. Además, los valores resueltos (como los que devuelve getComputedStyle()) para outline-width y column-rule-width también reflejan los valores especificados.
El cambio alinea Chrome con Firefox y WebKit, que ya implementaron este comportamiento.
Seguimiento de errores n.° 393631108 | Entrada de ChromeStatus.com | Especificación
Admite el atributo path en el elemento <textPath> de SVG
Este cambio agrega compatibilidad con el atributo path en el elemento <textPath>
de SVG. Esto permite a los desarrolladores definir la geometría de la ruta de texto intercalada con datos de ruta de SVG
y reduce la necesidad de elementos <path> definidos por separado.
El elemento <textPath> resuelve su geometría de ruta de texto con las siguientes
reglas:
- Si
pathyhrefestán presentes, la geometría se resuelve desde el atributopath. - Si solo está presente el atributo
pathy se analiza correctamente, se usa la definición de ruta intercalada. - Si el atributo
pathestá ausente o no se puede analizar, y se proporciona un atributohref, el elemento<path>al que se hace referencia se usa como resguardo. - El comportamiento existente solo de
hrefse conserva sin cambios.
Esta implementación sigue la definición del path
atributo en <textPath>de la especificación SVG 2. El comportamiento de resolución es coherente con otros motores de navegador, lo que mejora la interoperabilidad y el cumplimiento de los estándares. Nota:
Cuando se especifican path y href en <textPath>, path ahora tiene
prioridad, según la especificación SVG 2.
Seguimiento de errores n.° 374010056 | Entrada de ChromeStatus.com | Especificación
Dispositivo
Detección de planos de WebXR
La API de WebXR Plane Detection permite que los sitios recuperen el conjunto de planos detectados en el entorno del usuario. Esto requiere menos trabajo para los desarrolladores y es más potente que usar la función de WebXR de detección de profundidad. Por ejemplo, los planos, como las paredes que están ocluidas por objetos, aún se pueden representar por completo si el sistema conoce los límites de la pared. Un mapa de profundidad mostraría la pared, pero los objetos que están frente a ella la romperían, lo que podría ocultar el alcance completo de la pared. Además, la información de etiquetado semántico se expone cuando el dispositivo conoce esas etiquetas y se ajustan a categorías predefinidas, lo que proporciona un mejor conocimiento del mundo.
Seguimiento de errores n.° 394636076 | Entrada de ChromeStatus.com | Especificación
DOM
Compatibilidad con JSON y estilo para link rel=modulepreload
Agrega compatibilidad con los tipos de módulos JSON y de estilo como <link rel="modulepreload">
destinos. <link rel="modulepreload"> ya es compatible con Chromium (consulta la
función de Chromestatus), pero
actualmente solo admite la carga previa de secuencias de comandos de módulos similares a secuencias de comandos. Esta función
aborda una brecha de funcionalidad porque las secuencias de comandos de módulos JSON y CSS son compatibles
con Chromium en otros lugares, pero no como <link rel="modulepreload"> destinos. Puedes cargar previamente módulos de estilo con
<link rel="modulepreload" as="style" href="..."> y módulos JSON con
<link rel="modulepreload" as="json" href="...">.
Seguimiento de errores n.° 466888680 | Entrada de ChromeStatus.com | Especificación
Análisis XML en Rust para situaciones que no son XSLT
Implementa el analizador XML de Rust para situaciones en las que no se requiere procesamiento XSLT.
El analizador XML de Rust mejora la seguridad, ya que elimina los errores de corrupción de memoria en el análisis XML. Reemplaza el uso de libxml2 (escrito en C) por una alternativa segura.
Estamos dando de baja XSLT. Mientras continúa este proceso, ya puedes usar el análisis XML seguro de Rust en situaciones en las que no se requiere XSLT.
Seguimiento de errores n.° 466303347 | Entrada de ChromeStatus.com
Gráficos
Capas de WebXR
Las capas de WebXR ofrecen una forma más eficiente de dibujar contenido envolvente.
Además de admitir texturas de color y profundidad nativas y arreglos de texturas, también proporciona compatibilidad con diferentes tipos de capas que administra el compositor del sistema (en lugar de JavaScript).
Seguimiento de errores n.° 409255534 | Entrada de ChromeStatus.com | Especificación
JavaScript
Math.sumPrecise
Implementa una propuesta de TC39 para agregar un método para sumar varios valores en JavaScript.
Agrega un método Math.sumPrecise que toma un iterable y muestra la suma de los valores en el iterable con un algoritmo más preciso que la suma simple.
Seguimiento de errores n.° 374310075 | Entrada de ChromeStatus.com | Especificación
Red / conectividad
Atributo Request.isReloadNavigation
Agrega el atributo booleano de solo lectura isReloadNavigation a la interfaz Request de la API de Fetch. Este atributo indica si la solicitud de navegación actual se inició como una recarga activada por el usuario (por ejemplo, con el botón Actualizar , location.reload() o history.go(0)). Esta señal se expone principalmente en el objeto Request dentro del FetchEvent de un service worker.
Seguimiento de errores n.° 40487194 | Entrada de ChromeStatus.com | Especificación
Rendimiento
Actualiza los límites de la API de Device Memory
Actualizaciones a un nuevo conjunto de valores posibles para la API de Device Memory:
- Android: 1, 2, 4, 8
- Otros: 2, 4, 8, 16, 32 Estos valores reemplazan los valores anteriores de 0.25, 0.5, 1, 2, 4 y 8, que quedaron obsoletos.
Esto reduce los riesgos de huellas digitales en el extremo inferior, ya que las capacidades del dispositivo mejoraron desde que se configuraron. También permite un mejor uso y segmentación de los dispositivos de alta gama, como solicitaron los desarrolladores. Para obtener más información, consulta el problema de Device Memory issue.
Seguimiento de errores n.° 454354290 | Entrada de ChromeStatus.com | Especificación
Acceso a la red local (LNA)
Para obtener más información sobre LNA, consulta Acceso a la red local.
Restricciones de acceso a la red local en WindowClient.navigate() del service worker
Recientemente, se agregaron restricciones de acceso a la red local (LNA) para evitar que los sitios web realicen solicitudes de forma unilateral a redes locales y dispositivos locales. Estas restricciones se agregaron para las solicitudes de recuperación iniciadas por el service worker, pero no para las navegaciones que realizan los service workers a través de WindowClient.navigate().
Este lanzamiento cierra esta brecha agregando restricciones de LNA a las llamadas WindowClient.navigate(). Usa WindowClient como el iniciador de la navegación para determinar si la navegación es una solicitud de LNA.
Esto solo se aplica si el WindowClient al que se navega es un submarco. Actualmente, Chrome no aplica ninguna restricción de LNA en las navegaciones del marco principal.
Restricciones de acceso a la red local para WebTransport
Restringe la capacidad de realizar solicitudes a la red local del usuario con WebTransport, que se limita detrás de una solicitud de permiso.
Una solicitud de red local es cualquier solicitud de un sitio web público a una dirección IP local o bucle invertido, o de un sitio web local (por ejemplo, una intranet) a un bucle invertido. Limitar la capacidad de los sitios web para realizar estas solicitudes detrás de un permiso reduce la capacidad de los sitios para usar estas solicitudes y crear huellas digitales de la red local del usuario.
Este permiso está restringido a contextos seguros.
Seguimiento de errores n.° 421216834 | Entrada de ChromeStatus.com | Especificación
Restricciones de acceso a la red local para WebSockets
Las restricciones de acceso a la red local (LNA) se expanden para incluir WebSockets. Las conexiones de WebSockets a direcciones locales ahora activan solicitudes de permiso.
Todas las políticas empresariales de LNA actuales aún se aplican a las restricciones de LNA WebSockets (LocalNetworkAccessAllowedForUrls, LocalNetworkAccessBlockedForUrls y LocalNetworkAccessRestrictionsTemporaryOptOut).
Seguimiento de errores n.° 421156866 | Entrada de ChromeStatus.com | Especificación
Apps web aisladas (IWA)
API de Web Printing
Esta API permite una integración más profunda con la funcionalidad relacionada con la impresora en las apps web aisladas.
Esta API solo está orientada a las apps web aisladas y sigue el proceso de apps web aisladas.
Esta API proporciona un conjunto de métodos de JavaScript que permiten a los desarrolladores consultar impresoras locales, enviar trabajos de impresión a las impresoras más adecuadas y administrar las opciones y el estado de los trabajos de impresión. Para representar estos conceptos, se basa en nombres de atributos y semántica de las especificaciones del Protocolo de impresión de Internet (IPP).
Seguimiento de errores n.° 302505962 | Entrada de ChromeStatus.com | Especificación
Pruebas de origen
Representa previamente iframes de origen cruzado
Representa previamente iframes de origen cruzado con un encabezado de respuesta de participación.
Los navegadores ahora representan previamente todos los marcos de origen cruzado si la respuesta HTTP del marco de nivel superior incluye Supports-Loading-Mode: prerender-cross-origin-frames.
Prueba de origen | Seguimiento de errores n.° 440387014 | Entrada de ChromeStatus.com | Especificación
Evento de autocompletado
El autocompletado es una función clave de la Web que reduce la fricción para millones de usuarios todos los días. Sin embargo, lograr que el autocompletado funcione de manera confiable con formularios dinámicos en varias implementaciones requiere un esfuerzo significativo.
Esta función agrega un evento autofill que permite a los desarrolladores modificar sus formularios para que se ajusten a los datos autocompletados y notificar al navegador cuando lo hayan hecho.
Prueba de origen | Seguimiento de errores n.° 466333215 | Entrada de ChromeStatus.com | Especificación
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 la computadora de un usuario. Esto ayuda a implementar experiencias de AA coherentes, eficientes y confiables en la Web.
Prueba de origen | Seguimiento de errores n.° 40206287 | Entrada de ChromeStatus.com | Especificación
Bajas y retiros
Quita XSLT intercalado para la producción de SVG
Un archivo XML especialmente diseñado puede contener una hoja de estilo XSL que transforma datos XML genéricos en un archivo SVG.
Por ejemplo, consulta gist.github.com.
Este es un caso especial de procesamiento XSLT que, según los contadores de uso introducidos recientemente XSLPIInSVGImage (ID de UseCounter 5777) y XSLPIInSVGStandaloneDoc (ID de UseCounter 5778), consideramos prácticamente inexistente en la Web. Queremos darlo de baja y quitarlo antes de eliminar por completo XSLT.
Esto se lanza en sincronización con las pruebas experimentales del analizador XML basado en Rust. Esto no se implementará de inmediato al 100% en Chrome 147.
Seguimiento de errores n.° 482223009 | Entrada de ChromeStatus.com