Publicado el 1 de octubre de 2025
A menos que se indique lo contrario, estos cambios se aplican a la versión del canal beta de Chrome 142 para Android, ChromeOS, Linux, macOS y Windows. Obtén más información sobre estas funciones en los vínculos proporcionados o en ChromeStatus.com. Descarga la versión beta de Chrome 142 desde Google.com para computadoras o desde Google Play Store para Android.
CSS y la IU
Seudoclases :target-before
y :target-after
Estas seudoclases coinciden con los marcadores de desplazamiento que están antes o después del marcador activo (que coincide con :target-current
) dentro del mismo grupo de marcadores de desplazamiento, según lo determina el orden del árbol plano:
:target-before
: Coincide con todos los marcadores de desplazamiento que preceden al marcador activo en el orden del árbol plano dentro del grupo.:target-after
: Coincide con todos los marcadores de desplazamiento que siguen al marcador activo en el orden del árbol plano dentro del grupo.
Posicionamiento absoluto para el elemento ::view-transition
Las transiciones de vista usan un pseudoárbol secundario del elemento, con ::view-transition
como raíz de esa transición. Anteriormente, se especificaba que el elemento ::view-transition
tenía position: fixed
. El grupo de trabajo de CSS resolvió hacer que esto sea position: absolute
, por lo que Chrome ahora refleja ese cambio.
Este cambio no debería notarse porque el bloque contenedor de este elemento sigue siendo el bloque contenedor de la instantánea en el caso absoluto o fijo. La única diferencia notable se encuentra en getComputedStyle
.
Propiedad activeViewTransition
en el documento
La API de View Transitions permite que los desarrolladores inicien transiciones visuales entre diferentes estados. El punto de entrada principal de la SPA es startViewTransition()
, que devuelve un objeto de transición. Este objeto contiene varias promesas y funcionalidades para hacer un seguimiento del progreso de la transición, y te permite manipular transiciones, por ejemplo, omitiendo la transición o modificando sus tipos.
A partir de Chrome 142, los desarrolladores ya no necesitan almacenar este objeto. Una propiedad document.activeViewTransition
representa este objeto, o null
si no hay ninguna transición en curso.
Esto también se aplica a las transiciones de MPA, en las que el objeto solo está disponible a través de eventos pageswap
y pagereveal
. En esta actualización, document.activeViewTransition
se establece en este objeto durante la transición.
Sintaxis de rango para consultas de contenedor de diseño y if()
Chrome mejora las consultas de diseño de CSS y la función if()
agregando compatibilidad con la sintaxis de rangos.
Extiende las consultas de estilo más allá de la coincidencia de valores exactos (por ejemplo, style(--theme: dark)
). Los desarrolladores pueden usar operadores de comparación (como >
y <
) para comparar propiedades personalizadas, valores literales (por ejemplo, 10 px o 25%) y valores de funciones de sustitución como attr()
y env()
. Para que la comparación sea válida, ambos lados deben resolverse en el mismo tipo de datos. Se limita a los siguientes tipos numéricos: <length>
, <number>
, <percentage>
, <angle>
, <time>
, <frequency>
y <resolution>
.
Ejemplos:
Compara una propiedad personalizada con una longitud literal:
@container style(--inner-padding > 1em) {
.card {
border: 2px solid;
}
}
Comparar dos valores literales
@container style(1em < 20px) {
/* ... */
}
Cómo usar rangos de estilo en if()
:
.item-grid {
background-color: if(style(attr(data-columns, type<number>) > 2): lightblue; else: white);
}
Invocadores de interés (el atributo interestfor
)
Chrome agrega un atributo interestfor
a los elementos <button>
y <a>
. Este atributo agrega comportamientos de "interés" al elemento. Cuando un usuario "muestra interés" en el elemento, se activan acciones en el elemento objetivo, por ejemplo, se muestra una ventana emergente. El agente de usuario detecta cuando un usuario "muestra interés" en el elemento a través de métodos como mantener el puntero sobre el elemento, presionar teclas de acceso rápido especiales en el teclado o mantener presionado el elemento en pantallas táctiles. Cuando se muestra o se pierde el interés, se activa un InterestEvent
en el objetivo, que tiene acciones predeterminadas para las ventanas emergentes, como mostrar y ocultar la ventana emergente.
La propiedad font-language-override
Chrome ahora admite la propiedad font-language-override
de CSS. La propiedad permite que los desarrolladores anulen el idioma del sistema que se usa para la sustitución de glifos de OpenType especificando una etiqueta de idioma de cuatro caracteres directamente en CSS.
Permite un control tipográfico detallado, lo que resulta especialmente útil para el contenido multilingüe o las fuentes con variantes de glifos específicas para cada idioma.
El atributo download
en el elemento <a>
de SVG
Chrome introduce compatibilidad con el atributo download
en la interfaz SVGAElement
, lo que se alinea con la especificación de SVG 2. El atributo download
permite que los autores especifiquen que se descargue el destino de un hipervínculo SVG en lugar de navegar a él. Esto refleja el comportamiento que ya se admite en HTMLAnchorElement
. Promueve la interoperabilidad en los principales navegadores y garantiza un comportamiento coherente entre los elementos <a>
de HTML y SVG, además de mejorar la experiencia del desarrollador y las expectativas del usuario.
Paridad entre dispositivos móviles y computadoras de escritorio para los modos de renderización de elementos select
Con los atributos size
y multiple
, el elemento <select>
se puede renderizar como un listbox en la página o como un botón con una ventana emergente. Sin embargo, estos modos no tienen una disponibilidad coherente en Chrome para dispositivos móviles y computadoras. La renderización de cuadros de lista en la página no está disponible en dispositivos móviles, y no hay un botón con una ventana emergente disponible en computadoras de escritorio cuando el atributo multiple
está presente.
Esta actualización agrega el cuadro de lista a dispositivos móviles y una ventana emergente de selección múltiple a computadoras de escritorio, y garantiza que las habilitaciones con los atributos size
y multiple
generen el mismo modo de renderización en dispositivos móviles y computadoras de escritorio. Los cambios se resumen de la siguiente manera:
- Cuando el atributo
size
tiene un valor mayor que1
, siempre se usa la renderización en la página. Antes, los dispositivos móviles ignoraban esto. - Cuando el atributo
multiple
se configura sin el atributosize
, se usa la renderización en la página. Anteriormente, los dispositivos móviles usaban una ventana emergente en lugar de un cuadro de lista en la página. - Cuando el atributo
multiple
se establece consize=1
, se usa una ventana emergente. Anteriormente, los dispositivos de escritorio usaban un cuadro de lista en la página.
Activación del usuario persistente en navegaciones iniciadas por el renderizador del mismo origen
Chrome conserva el estado de activación del usuario persistente después de que una página navega a otra página del mismo origen. La falta de activación del usuario en la página posterior a la navegación impide algunos casos de uso, por ejemplo, mostrar teclados virtuales en el enfoque automático. Esto bloqueó a los desarrolladores que querían crear MPA en lugar de SPA.
Esto no abarca las solicitudes de navegación iniciadas por el navegador (recarga, navegación por el historial, URL escrita en la barra de direcciones, etcétera).
API web
WebGPU: Función primitive_index
WebGPU agrega una nueva capacidad opcional que expone una nueva función integrada del sombreador WGSL, primitive_index
. Proporciona un índice por primitiva para los sombreadores de fragmentos en el hardware compatible, similar a los elementos integrados vertex_index
y instance_index
. El índice de primitivas es útil para técnicas gráficas avanzadas, como la geometría virtualizada.
WebGPU: Formatos de texturas de nivel 1 y 2
Extiende la compatibilidad con el formato de texturas de la GPU con capacidades como render attachment, blending, multisampling, resolve y storage_binding.
Propiedad DataTransfer para los eventos de entrada insertFromPaste
, insertFromDrop
y insertReplacementText
Propaga la propiedad dataTransfer
en los eventos de entrada con valores inputType
de insertFromPaste
, insertFromDrop
y insertReplacementText
para proporcionar acceso a los datos de portapapeles y de arrastrar y soltar durante las operaciones de edición en elementos contenteditable.
El objeto dataTransfer
contiene los mismos datos que estaban disponibles durante el evento beforeinput
.
Esta función solo se aplica a los elementos contenteditable. En el caso de los controles de formulario ((textarea
, input
), el comportamiento no cambia.
Esta propiedad hace que Chrome sea interoperable con Safari y Firefox.
Sesión multimedia: Agrega un motivo a los detalles de la acción enterpictureinpicture
Agrega enterPictureInPictureReason
al objeto MediaSessionActionDetails
que se envía a la acción enterpictureinpicture
en la API de Media Session. Esto permite que los desarrolladores distingan entre las acciones de enterpictureinpicture
que el usuario activa de forma explícita (por ejemplo, desde un botón en el agente de usuario) y las acciones de enterpictureinpicture
que el agente de usuario activa automáticamente porque el contenido se obstruye.
Sugerencias contextuales de la API de Web Speech
Esta actualización permite que los sitios web admitan la adaptación contextual para el reconocimiento de voz agregando una lista de frases de reconocimiento a la API de Web Speech.
Los desarrolladores pueden proporcionar una lista de frases y actualizarlas para aplicar un sesgo a los modelos de reconocimiento de voz a favor de esas frases. Ayuda a mejorar la precisión y la relevancia del reconocimiento de voz personalizado y específico del dominio.
Validación más estricta del token de MIME *+json
para módulos JSON
Rechaza las respuestas de los módulos de secuencia de comandos JSON cuyo tipo o subtipo de MIME contengan puntos de código de token que no sean HTTP (por ejemplo, espacios) cuando coincidan con *+json
. Esto se alinea con la especificación de detección de MIME y otros motores. Forma parte del área de enfoque de los módulos de Interop2025.
FedCM: Compatibilidad para mostrar orígenes de iframe de terceros en la IU
Antes de Chrome 142, FedCM siempre mostraba el sitio de nivel superior en su IU.
Esto funciona bien cuando el iframe es conceptualmente propio (por ejemplo, foo.com
podría tener un iframe foostatic.com
, que no es significativo para el usuario).
Sin embargo, si el iframe es de terceros, es mejor mostrar su origen en la IU para que los usuarios comprendan mejor con quién comparten sus credenciales. Por ejemplo, un editor de fotos podría estar integrado en una app web de publicación de libros y podría querer permitir que los usuarios accedan a los archivos que almacenaron antes con el editor de fotos. Esta función ya está disponible.
Aislamiento de procesos con clave de origen
Cambia la política de aislamiento de procesos de bloquear procesos en un sitio (por ejemplo, example.com
) a bloquearlos en un origen específico (por ejemplo, foo.example.com
).
Para mejorar aún más la seguridad, Chrome está migrando a un modelo de aislamiento de procesos más detallado llamado "Aislamiento de origen". Chrome usaba el "aislamiento de sitios", que agrupaba diferentes orígenes del mismo sitio, por ejemplo, a.example.com
y b.example.com
, en un solo proceso de renderizador.
Con el aislamiento de orígenes, cada origen individual (como https://foo.example.com
) se aísla en su propio proceso de renderizador. Refuerza la arquitectura de seguridad de Chrome alineando los límites de los procesos con el modelo de seguridad fundamental basado en el origen de la Web, lo que ofrece una mayor protección contra posibles vulnerabilidades en los sitios.
Eventos pointerrawupdate
interoperables expuestos solo en contextos seguros
En 2020, la especificación de PointerEvents restringió pointerrawupdate
a contextos seguros, lo que ocultó tanto el disparo de eventos como los objetos de escucha de eventos globales de los contextos no seguros. Con esta actualización, Chrome cumple con la especificación actualizada y se vuelve interoperable con otros navegadores principales.
Pruebas de origen en curso
En Chrome 142, puedes habilitar las siguientes pruebas de origen nuevas.
Credenciales de sesión vinculadas al dispositivo
Es una forma en que los sitios web pueden vincular de forma segura una sesión a un solo dispositivo.
Permite que los servidores vinculen de forma segura una sesión a un dispositivo. El navegador renueva la sesión periódicamente cuando el servidor lo solicita, con una prueba de posesión de una clave privada.
Grupo de sockets TCP por sitio de nivel superior
En este experimento, se evalúa el impacto de cambiar el tamaño del grupo de sockets TCP por perfil de 256 (el valor predeterminado) a 513 y, al mismo tiempo, agregar un límite de 256 por sitio de nivel superior (para garantizar que ninguna pestaña pueda agotar el grupo). Se estudió la viabilidad de aumentar el límite por perfil a 512 y no se obtuvieron resultados negativos. El límite de 256 por sitio de nivel superior es igual al límite predeterminado por perfil, por lo que no debería afectar negativamente el rendimiento. Estos límites se imponen de forma independiente para el grupo de sockets de WebSocket y el grupo de sockets normal (HTTP).
La intención es lanzar este experimento directamente si no se producen efectos negativos.