Fecha de lanzamiento estable: 1 de abril de 2025
A menos que se indique lo contrario, los siguientes cambios se aplican a la versión del canal estable de Chrome 135 para Android, ChromeOS, Linux, macOS y Windows.
HTML y DOM
Comandos de invocador: los atributos command y commandfor
Los atributos command
y commandfor
en los elementos <button>
te permiten asignar comportamiento a los botones de una manera más accesible y declarativa.
Error de seguimiento #1490919 | Entrada de ChromeStatus.com | Especificación
Vincula rel=facilitated-payment
para admitir pagos push
Se agregó compatibilidad con <link rel="facilitated-payment" href="...">
como una sugerencia de que el navegador debe notificar a los clientes de pagos registrados sobre un pago push pendiente.
Error de seguimiento #1477049 | Entrada de ChromeStatus.com
CSS
Pseudoelemento ::column
para carruseles
Un pseudoelemento ::column
, que permite aplicar un conjunto limitado de diseños a los fragmentos generados. Específicamente, esto se limitaría a los estilos que no afectan el diseño y, por lo tanto, se pueden aplicar después del diseño.
Pseudoelementos ::scroll-button()
Permite la creación de botones de desplazamiento interactivos como pseudoelementos, por ejemplo:
.scroller {
overflow: auto;
}
.scroller::scroll-button(inline-start) {
content: "<";
}
.scroller::scroll-button(inline-end) {
content: ">";
}
Deben poder enfocarse y comportarse como un botón (incluidos sus estilos de UA). Cuando se activa, se debe realizar un desplazamiento en la dirección por una cantidad determinada. Cuando no es posible desplazarse en esa dirección, deben estar inhabilitados (y aplicarles diseño con :disabled
). De lo contrario, están habilitados (y se les aplica diseño con :enabled
).
El selector te permite definir botones en cuatro direcciones lógicas: block-start
, block-end
, inline-start
y inline-end
, así como en cuatro direcciones físicas: up
, down
, left
y right
.
Error de seguimiento #370067113 | Entrada de ChromeStatus.com | Especificación
::scroll-marker
y ::scroll-marker-group
Agrega los pseudoelementos ::scroll-marker
y ::scroll-marker-group
para contenedores de desplazamiento.
Te permiten crear un conjunto de marcadores enfocables para todos los elementos asociados dentro del contenedor de desplazamiento.
Error de seguimiento #332396355 | Entrada de ChromeStatus.com | Especificación
Inercia de CSS: la propiedad interactivity
La propiedad interactivity
especifica si un elemento y sus descendientes de árbol plano (incluidos los tramos de texto) son inertes o no.
Si haces que un elemento sea inerte, se verá afectado si se puede enfocar, editar, seleccionar y buscar con la función Buscar en la página. También afecta si es visible en el árbol de accesibilidad.
Entrada de ChromeStatus.com | Especificación
Desbordamiento lógico de CSS
Las propiedades CSS overflow-inline
y overflow-block
permiten configurar el desbordamiento en la dirección intercalada y de bloque en relación con el modo de escritura. En un modo de escritura horizontal, overflow-inline
se asigna a overflow-x
, mientras que en un modo de escritura vertical, se asigna a overflow-y
.
Error de seguimiento #41489999 | Entrada de ChromeStatus.com | Especificación
Compensación de desplazamiento recordada del posicionamiento de anclaje de CSS
Se agregó compatibilidad con el concepto de desplazamiento recordado.
Cuando un elemento posicionado tiene un ancla predeterminada y está conectado a esta ancla en un borde y contra el bloque contenedor original en el otro borde, se tendrá en cuenta el desplazamiento cuando se defina el tamaño del elemento. De esta manera, puedes usar todo el espacio visible (con position-area
) para el elemento anclado cuando se desplaza el documento en un desplazamiento determinado.
Para evitar el diseño (cambiar el tamaño del elemento) cada vez que se desplaza el documento (que es un comportamiento no deseado y también es malo para el rendimiento), se usará un llamado "desplazamiento recordado", en lugar de usar siempre el desplazamiento actual. El desplazamiento recordado se actualiza en un llamado "punto de recálculo de la ancla", que puede ser uno de los siguientes:
- Cuando se muestra inicialmente el elemento posicionado.
- Cuando se elige una opción de posición diferente (
position-try-fallbacks
).
Error de seguimiento #373874012 | Entrada de ChromeStatus.com | Especificación
Función shape()
de CSS
La función shape()
permite formas de formato libre responsivas en clip-path
.
Puedes definir una serie de verbos, aproximadamente equivalentes a los verbos de path()
, pero en los que los verbos aceptan unidades responsivas (como %
o vw
), así como cualquier valor de CSS, como las propiedades personalizadas.
Error de seguimiento #40829059 | Entrada de ChromeStatus.com | Especificación
Variables safe-area-max-inset-*
Esta función agrega variables max-area-safe-inset-*
que no cambian y representan el inserto de área segura máximo posible.
El caso de uso que resuelve esto es evitar la necesidad de volver a diseñar la página en los casos en que el pie de página (por ejemplo) puede simplemente deslizarse a medida que crece el valor de desplazamiento del área segura, en lugar de cambiar de tamaño.
Error de seguimiento #391621941 | Entrada de ChromeStatus.com | Especificación
Aplicación de diseño a seudoelementos anidados
Permite aplicar diseño a los elementos pseudo que están anidados dentro de otros elementos pseudo. Hasta el momento, la compatibilidad se definió para lo siguiente:
::before::marker
::after::marker
Con ::column::scroll-marker
, se admitirá en el futuro.
Error de seguimiento #373478544 | Entrada de ChromeStatus.com | Especificación
Audio y video
Se agregó compatibilidad con MediaStreamTrack a la API de Web Speech
Se agregó compatibilidad con MediaStreamTrack a la API de Web Speech.
La API de Web Speech es una API estándar de la Web que permite a los desarrolladores incorporar el reconocimiento y la síntesis de voz en sus páginas web. Actualmente, la API de Web Speech usa el micrófono predeterminado del usuario como entrada de audio. La compatibilidad con MediaStreamTrack permite que los sitios web usen la API de Web Speech para subtitular otras fuentes de audio, incluidas las pistas de audio remotas.
Entrada de ChromeStatus.com | Especificación
API web
Crea un cliente de service worker y hereda el controlador de service worker para el iframe de srcdoc
Actualmente, los documentos de contexto de srcdoc no son clientes de service worker y no están cubiertos por el service worker de su página superior. Esto genera algunas discrepancias (por ejemplo, el Tiempo de recursos informa las URLs que cargan estos documentos, pero el service worker no las intercepta). El objetivo de este cambio es corregir las discrepancias creando clientes de service worker para los iframes de srcdoc y hacer que hereden el controlador de service worker superior.
Error de seguimiento #41411856 | Entrada de ChromeStatus.com | Especificación
Reflexión de elementos
Esta función permite que los atributos de relación de ARIA se reflejen en IDL como referencias de elementos en lugar de cadenas DOM.
Esto implementa los atributos IDL en la interfaz ARIAMixin con un tipo de elemento o FrozenArray<Element>
, a excepción de ariaOwnsElements
.
Error de seguimiento #981423 | Entrada de ChromeStatus.com | Especificación
Marcos delimitados: Compatibilidad automática con datos de píxeles contadores de origen cruzado
Si se cargan a través de una API como Protected Audience o Shared Storage, los marcos delimitados o los iframes de URN pueden enviar píxeles contadores de informes automáticamente si se produce algún evento (actualmente, solo se admiten píxeles contadores de navegación de nivel superior). Esta función se actualizó anteriormente para permitir que los documentos de origen cruzado cargados en el árbol del marco de límite raíz enviaran píxeles contadores automáticos si se habilitaba esta opción, pero aún se conservaba la restricción de que solo los marcos que tienen el mismo origen que el que carga la API podían establecer los datos que se enviarían como parte del píxel contador. Esta función expande esa funcionalidad para permitir que el documento de origen cruzado establezca los datos que se usarán en el píxel contador automático.
Para permitir esto y, al mismo tiempo, preservar la privacidad, tanto el documento raíz del marco protegido como el documento del submarco de origen cruzado deben habilitarse de forma explícita. Esta es la misma forma de habilitación que otras funciones de FFAR entre orígenes. Específicamente, la trama raíz debe habilitarse con el encabezado Allow-Fenced-Frame-Automatic-Beacons
, y el submarco de origen cruzado que establece los datos debe habilitarse con el parámetro crossOriginExposed
en la llamada a setReportEvent()
.
Entrada de ChromeStatus.com | Especificación
Float16Array
Agrega el array escrito Float16Array
. Los valores numéricos se redondean a IEEE fp16 cuando se escriben en instancias de Float16Array
.
Error de seguimiento #42203953 | Entrada de ChromeStatus.com | Especificación
Prevención de seguimiento de HSTS
Mitiga el seguimiento de usuarios por parte de terceros que usan la caché de HSTS.
Esta función solo permite actualizaciones de HSTS para navegaciones de nivel superior y bloquea las actualizaciones de HSTS para solicitudes de subrecursos. De esta manera, los sitios de terceros no pueden usar la caché de HSTS para realizar un seguimiento de los usuarios en la Web.
Error de seguimiento #40725781 | Entrada de ChromeStatus.com
sourceElement de NavigateEvent
Cuando un elemento inicia una navegación (por ejemplo, con un clic en un vínculo o el envío de un formulario), la propiedad sourceElement
en NavigateEvent
será el elemento inicializador.
Error de seguimiento #40281924 | Entrada de ChromeStatus.com | Especificación
Cambio de nombre del motivo de la API de NotRestoredReasons
La API de NotRestoredReasons cambiará algunos de los textos de los motivos para que se alineen con los nombres estandarizados. Si supervisas estos motivos, es posible que notes un cambio en los textos de los motivos.
Error de seguimiento #331754704 | Entrada de ChromeStatus.com | Especificación
API de Observable
Los observables son un paradigma popular de programación reactiva para controlar un flujo asíncrono de eventos basados en notificaciones push. Se pueden considerar promesas, pero para varios eventos, y su objetivo es hacer lo que las promesas hicieron para las devoluciones de llamada y el anidamiento. Es decir, permiten un manejo ergonómico de eventos, ya que proporcionan un objeto Observable que representa el flujo asíncrono de eventos.
Puedes suscribirte al objeto para recibir eventos a medida que llegan y llamar a cualquiera de sus operadores o combinadores para describir de forma declarativa el flujo de transformaciones por el que pasan los eventos. Esto contrasta con la versión imperativa, que a menudo requiere anidamientos complicados con elementos como addEventListener()
.
Error de seguimiento #1485981 | Entrada de ChromeStatus.com | Especificación
Se quitó la restricción de setInterval(...)
a >= 1 ms.
Antes de Chrome 135, setInterval
con un valor inferior a 1 se limitaba a 1. A partir de Chrome 135, se quitará esta restricción.
- Antes:
setInterval(..., 0)
= demora de1ms
. - Después:
setInterval(..., 0)
= demora de0ms
.
Error de seguimiento #41380458 | Entrada de ChromeStatus.com
La URL del cliente del servicio trabajador ignora los cambios de history.pushState()
.
Modifica la propiedad Client.url
del trabajador del servicio para ignorar los cambios en la URL del documento con history.pushState()
y otras APIs de historial similares.
La propiedad Client.url
debe ser la URL de creación del documento HTML que ignora esos cambios.
Error de seguimiento #41337436 | Entrada de ChromeStatus.com | Especificación
Se admiten los atributos rel
y relList
para SVGAElement
.
La interfaz SVGAElement en SVG 2.0 permite la manipulación de elementos <a>
similares a los elementos de anclaje HTML.
La compatibilidad con los atributos rel
y relList
mejora la seguridad y la privacidad para los desarrolladores.
Esta alineación con los elementos de anclaje HTML garantiza la coherencia y la facilidad de uso en todas las tecnologías web.
Error de seguimiento #40589293 | Entrada de ChromeStatus.com | Especificación
Marcas de tiempo para tramas codificadas de RTC
Esta función consiste en exponer a la Web algunas marcas de tiempo que están presentes en los fotogramas codificados de WebRTC que se transmiten con RTCPeerConnection. Las marcas de tiempo en cuestión son las siguientes:
- Marca de tiempo de captura: Es la marca de tiempo en la que se capturó un fotograma originalmente.
- Marca de tiempo de recepción: Es la marca de tiempo en la que se recibió un fotograma.
Error de seguimiento #391114797 | Entrada de ChromeStatus.com | Especificación
Actualiza los encabezados, el cuerpo y la política de referer de la solicitud HTTP en el redireccionamiento de CORS
Para actualizar la solicitud HTTP en el redireccionamiento de CORS, quita los encabezados y el cuerpo de la solicitud si cambió el método y actualiza la política de referencia. Estas actualizaciones de solicitudes se alinean con las especificaciones de recuperación y coinciden con el comportamiento que implementan Firefox y Safari para mejorar la compatibilidad.
Error de seguimiento #40686262 | Entrada de ChromeStatus.com | Especificación
API de fetchLater
fetchLater()
es una API de JavaScript para solicitar una recuperación diferida. Una vez que se llama a una solicitud diferida en un documento, el navegador la pone en cola en el estado PENDING y la invocará cuando se cumpla la primera de las siguientes condiciones:
- Se destruye el documento.
- Después de un tiempo especificado por el usuario Por motivos de privacidad, todas las solicitudes pendientes se borrarán cuando el documento ingrese a bfcache, sin importar cuánto tiempo quede.
- El navegador decide que es hora de enviarlo.
La API muestra un FetchLaterResult que contiene un campo booleano "activated" que se puede actualizar para indicar si se envió la solicitud diferida o no. Si el envío se realiza correctamente, el navegador ignorará toda la respuesta, incluido el cuerpo y los encabezados. No se debe procesar ni actualizar nada, ya que es posible que la página ya no exista.
Ten en cuenta que, desde el punto de vista del usuario de la API, se desconoce la hora de envío exacta.
Error de seguimiento #1465781 | Entrada de ChromeStatus.com | Especificación
API de highlightsFromPoint
La API de highlightsFromPoint permite a los desarrolladores interactuar con destacados personalizados mediante la detección de los que existen en un punto específico dentro de un documento. Esta interactividad es valiosa para funciones web complejas en las que varios elementos destacados pueden superponerse o existir dentro del DOM sombreado. Debido a que proporciona una detección precisa de puntos destacados basados en puntos, la API permite a los desarrolladores administrar interacciones dinámicas con puntos destacados personalizados de manera más eficaz, como responder a los clics del usuario o los eventos de desplazamiento del mouse sobre regiones destacadas para activar información sobre herramientas personalizadas, menús contextuales y otras funciones interactivas.
Error de seguimiento #365046212 | Entrada de ChromeStatus.com | Especificación
Pruebas de origen
Credenciales de sesión vinculada al dispositivo
Es una forma para que los sitios web vinculen de forma segura una sesión a un solo dispositivo.
Permitirá que los servidores tengan una sesión vinculada de forma segura a un dispositivo. El navegador renovará la sesión periódicamente según lo solicite el servidor, con un comprobante de posesión de una clave privada.
Prueba de origen | Entrada de ChromeStatus.com | Especificación
Invocadores de intereses
Esta función agrega un atributo interesttarget
a los elementos <button>
y <a>
. El atributo interesttarget
agrega comportamientos de "interés" al elemento, de modo que, cuando el usuario "muestra interés" en el elemento, se activan acciones en el elemento objetivo. Las acciones pueden incluir acciones como mostrar un popover. El usuario-agente se encargará de detectar cuando el usuario "muestra interés" en el elemento, por ejemplo, cuando coloca el cursor sobre él con el mouse, presiona teclas de acceso rápido especiales en el teclado o mantiene presionado el elemento en pantallas táctiles. Cuando se muestre o se pierda el interés, se activará un InterestEvent
en el objetivo, que tiene acciones predeterminadas en el caso de los pop-overs: mostrar y ocultar el pop-over.
Prueba de origen | Error de seguimiento #326681249 | Entrada de ChromeStatus.com | Especificación
Integridad basada en firmas
Esta función les brinda a los desarrolladores web un mecanismo para verificar la procedencia de los recursos de los que dependen, lo que crea una base técnica para confiar en las dependencias de un sitio. En resumen, los servidores pueden firmar respuestas con un par de claves Ed25519, y los desarrolladores web pueden exigir que el usuario-agente verifique la firma con una clave pública específica. Esto ofrece una adición útil a las verificaciones basadas en URLs que ofrece la Política de seguridad del contenido, por un lado, y las verificaciones basadas en el contenido de la Integridad de subrecursos, por otro.
Prueba de origen | Error de seguimiento #375224898 | Entrada de ChromeStatus.com | Especificación
Reglas de especulación: campo target_hint
Esto extiende la sintaxis de las reglas de especulación para permitir que los desarrolladores especifiquen el campo target_hint.
Este campo proporciona una sugerencia para indicar un destino navegable en el que se activará una página renderizada previamente. Por ejemplo, cuando se especifica _blank como una sugerencia, se puede activar una página renderizada previamente para una página navegable abierta por window.open(). El campo no tiene efecto en la precarga.
La especificación permite que este campo acepte cualquier cadena válida como nombre de destino navegable o palabra clave como valor, pero este lanzamiento solo admite una de las cadenas "_self"
o "_blank"
. Si no se especifica la sugerencia, se trata como si se especificara "_self"
.
Prueba de origen | Error de seguimiento #40234240 | Entrada de ChromeStatus.com | Especificación
Bajas y eliminaciones
Se quitó el método navigator.xr.supportsSession
obsoleto
En septiembre de 2019, el método navigator.xr.isSessionSupported
reemplazó a navigator.xr.supportsSession
en la especificación de WebXR después de recibir comentarios sobre la forma de la API de la TAG. Desde entonces, se marcó como obsoleto en Chromium, lo que genera una advertencia de la consola que redirecciona a los desarrolladores a la API actualizada.
El uso de la llamada es muy bajo, y se confirmó que todos los frameworks principales que se usan para compilar contenido de WebXR se actualizaron para usar la llamada más reciente.
Entrada de ChromeStatus.com | Especificación
Se quitó el límite de WebGPU maxInterStageShaderComponents
.
Se quitará el límite de maxInterStageShaderComponents
debido a una combinación de factores:
- Redundancia con
maxInterStageShaderVariables
: Este límite ya tiene un propósito similar, que es controlar la cantidad de datos que se pasan entre las etapas del sombreador. - Discrepancias menores: Si bien hay ligeras diferencias en la forma en que se calculan los dos límites, estas son menores y se pueden administrar de manera eficaz dentro del límite de
maxInterStageShaderVariables
. - Simplificación: Quitar
maxInterStageShaderComponents
optimiza la interfaz del sombreador y reduce la complejidad para los desarrolladores. En lugar de administrar dos límites separados (que se aplican de forma simultánea, pero con diferencias sutiles), pueden enfocarse en elmaxInterStageShaderVariables
más apropiado y completo.
Error de seguimiento #364338810 | Entrada de ChromeStatus.com | Especificación