Fecha de publicación: 1 de mayo de 2025
A menos que se indique lo contrario, los siguientes cambios se aplican a la versión más reciente del canal beta de Chrome para Android, ChromeOS, Linux, macOS y Windows. Obtén más información sobre las funciones que se enumeran aquí a través de los vínculos proporcionados o de la lista en ChromeStatus.com. Chrome 130 es una versión beta a partir del 30 de abril de 2025. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store en Android.
CSS y IU
Esta versión agrega siete funciones nuevas de CSS y IU.
La función if()
La función if() de CSS proporciona una forma concisa de expresar valores condicionales. Acepta una serie de pares condición-valor, delimitados por punto y coma. La función
evalúa cada condición de forma secuencial y muestra el valor asociado con la
primera condición verdadera. Si ninguna de las condiciones se evalúa como verdadera, la función muestra un flujo de tokens vacío. Esto te permite expresar una lógica condicional compleja de una manera simple y concisa. Ejemplo:
div {
      color: var(--color);
      background-color: if(style(--color: white): black; else: white);
  }
  .dark {
      --color: black;
  }
  .light {
      --color: white;
  }
<div class="dark">dark</div>
<div class="light">light</div>
Las propiedades reading-flow y reading-order
La propiedad CSS reading-flow controla el orden en el que los elementos de un diseño flex, de cuadrícula o de bloque se exponen a las herramientas de accesibilidad y se enfocan con la navegación de enfoque del teclado de tabulación. Toma uno de los siguientes valores de palabras clave:
normalflex-visualflex-flowgrid-rowsgrid-columnsgrid-ordersource-order
La propiedad CSS reading-order te permite anular manualmente el orden dentro de un contenedor de flujo de lectura. Es un número entero con un valor predeterminado de 0.
Para obtener más información, lee Usa el flujo de lectura de CSS para la navegación de enfoque secuencial lógico y prueba algunos ejemplos de flujo de lectura.
offset-path: shape()
La función shape() ya es compatible con clip-path y permite el recorte responsivo. Si lo habilitas también para offset-path, se cierra una pequeña brecha en la que se puede usar el mismo tipo de forma para esa propiedad.
Se agregó compatibilidad con el atributo transform en SVGSVGElement.
Esta función permite aplicar propiedades de transformación, como escalamiento, rotación, traslación y sesgo, directamente al elemento raíz <svg> con su atributo transform. Esta mejora te permite manipular todo el sistema de coordenadas SVG o su contenido en su totalidad, lo que proporciona una mayor flexibilidad en la creación de gráficos vectoriales dinámicos, responsivos e interactivos. Con la compatibilidad con este atributo, el elemento SVG se puede transformar sin requerir elementos de wrapper adicionales ni soluciones complejas de CSS, lo que optimiza el proceso de compilación de gráficos web escalables y animados.
Omite el fragmento para permitir que <use> haga referencia al elemento raíz de un documento externo.
En esta función, simplificamos el elemento <use> de SVG flexibilizando los requisitos de referencia. Actualmente, debes hacer referencia de forma explícita a los fragmentos dentro del documento SVG. Si no se proporciona un ID de fragmento, <use> no podrá resolver el destino y no se renderizará ni se hará referencia a nada.
Con esta función, omitir fragmentos o simplemente proporcionar el nombre del archivo SVG externo hará que se haga referencia automáticamente al elemento raíz, lo que elimina la necesidad de alterar el documento al que se hace referencia solo para asignar un ID a la raíz. Esta mejora simplifica este proceso de edición manual y mejora la eficiencia.
El color de los elementos destacados del sistema para la propiedad accent-color se expandió a Windows y ChromeOS.
Esto te permite usar el color de contraste del sistema operativo para los elementos de formulario. Cuando
usas la propiedad CSS accent-color, puedes asegurarte de que los elementos de formulario, como
las casillas de verificación, los botones de selección y las barras de progreso, adopten automáticamente el color de acento
definido por el sistema operativo del usuario. Esta función es compatible con macOS desde 2021 y ahora también lo es con Windows y ChromeOS.
view-transition-name: match-element
El valor match-element de la propiedad view-transition genera un ID único según la identidad del elemento y permanece igual para este elemento. Esto se usa en casos de apps de una sola página en los que el elemento se mueve y quieres animarlo con una transición de vista.
API web
Se alineó el tipo de error que se generaba para la creación de credenciales de WebAuthn de "pago".
Corrige el tipo de error que se generaba durante la creación de credenciales de WebAuthn para credenciales de payment. Debido a una discrepancia histórica en las especificaciones, crear una credencial payment en un iframe de origen cruzado sin una activación del usuario arrojaría una SecurityError en lugar de una NotAllowedError, que es lo que se arroja para las credenciales de no pago. Este es un cambio rotundo. Se vería afectado el código que antes detectaba el tipo de error generado (por ejemplo, e instanceof SecurityError). El código que solo controla errores durante la creación de credenciales (por ejemplo, catch (e)) seguirá funcionando correctamente.
Partición de URLs de BLOB: recuperación y navegación
Como continuación de Storage Partitioning, se implementa la partición del acceso a la URL de BLOB por clave de almacenamiento (sitio de nivel superior, origen de marco y el booleano has-cross-site-ancestor), a excepción de las navegaciones de nivel superior que permanecerán particionadas solo por el origen del marco.
Para revertir este cambio temporalmente, establece la política PartitionedBlobURLUsage. La política dejará de estar disponible cuando se den de baja las otras políticas empresariales relacionadas con la partición de almacenamiento.
Pilas de llamadas en informes de fallas de páginas web que no responden
Esta función captura la pila de llamadas de JavaScript cuando una página web deja de responder debido a que el código de JavaScript ejecuta un bucle infinito o alguna otra operación de procesamiento muy larga. Esto ayuda a los desarrolladores a identificar la causa de la falta de respuesta y solucionarla con mayor facilidad. La pila de llamadas de JavaScript se incluye en la API de informes de fallas cuando el motivo no responde.
Tipos de colores de punto flotante del lienzo
Presenta la capacidad de usar formatos de píxeles de punto flotante (en lugar de punto fijo de 8 bits) con CanvasRenderingContext2D, OffscreenCanvasRenderingContext2D y ImageData. Esto es necesario para las aplicaciones de alta precisión (por ejemplo, la visualización médica), el contenido de alto rango dinámico y los espacios de color de trabajo lineales.
No permitir la renderización previa de HTTP de texto simple no confiable
Actualmente, la renderización previa se permite a través de HTTP y HTTPS, mientras que la carga previa solo funciona a través de HTTPS. Restringe la renderización previa para que sea coherente con la precarga.
Document-Isolation-Policy
Document-Isolation-Policy permite que un documento habilite crossOriginIsolation por sí mismo, sin tener que implementar COOP o COEP, y sin importar el estado crossOriginIsolation de la página. La política está respaldada por el aislamiento de procesos. Además, los subrecursos entre dominios del documento que no sean de CORS se cargarán sin credenciales o deberán tener un encabezado CORP.
Obtén más información en Política de aislamiento de documentos: Habilita funciones web potentes con facilidad.
Ed25519 en la criptografía web
Esta función agrega compatibilidad con los algoritmos Curve25519 en la API de Web Cryptography, es decir, el algoritmo de firma Ed25519.
Registro y generación de informes de direcciones IP
Chrome Enterprise mejorará sus capacidades de supervisión de seguridad y respuesta ante incidentes recopilando y registrando direcciones IP locales y remotas, y enviándolas a los registros de investigación de seguridad (SIT). Además, Chrome Enterprise permitirá que los administradores envíen las direcciones IP a proveedores externos y propios de administración de eventos de seguridad y de información (SIEM) a través del conector de informes de Chrome Enterprise. Esta función estará disponible para los clientes de Chrome Enterprise Core.
Integración de promesas de JavaScript
La integración de promesas de JavaScript (JSPI) es una API que permite que las aplicaciones de WebAssembly se integren con promesas de JavaScript. Permite que un programa de WebAssembly actúe como generador de una promesa y que interactúe con APIs que contienen promesas. En particular, cuando una aplicación usa JSPI para llamar a una API con promesas (JavaScript), se suspende el código de WebAssembly y al llamador original del programa de WebAssembly se le otorga una promesa que se cumplirá cuando el programa de WebAssembly finalmente se complete.
API de Language Detector
La API de Language Detector es una API de JavaScript que identifica el idioma de una cadena proporcionada. Esta API está respaldada por un modelo subyacente que se ajusta para realizar tareas de detección de idioma.
Dada una cadena, la API de Language Detector muestra una lista ordenada de los idiomas detectados, junto con una puntuación de confianza para cada resultado.
De manera opcional, los desarrolladores pueden pasar una lista de idiomas de entrada esperados cuando crean una instancia de Language Detector para ayudar a optimizar los casos de uso en los que se espera que la detección se realice en ciertos idiomas.
Se restringieron los atributos y argumentos de números de punto flotante en SVGMatrix, SVGRect y SVGPoint.
Cuando configures atributos o argumentos de números de punto flotante en SVGMatrix, SVGRect y SVGPoint, ahora no podrás configurarlos como Infinity o Nan. Se genera una excepción de JavaScript si intentas configurarlo, como se define en la especificación de SVG.
API de Selection getComposedRanges y direction
Esta función envía dos métodos de API nuevos para la API de Selection:
Selection.direction, que muestra la dirección de la selección como"none","forward"o"backward"Selection.getComposedRanges(), que muestra una lista de 0 o 1StaticRange“compuestas”
Un StaticRange "compuesto" puede cruzar los límites de las sombras, lo que los Ranges normales no pueden hacer.
Por ejemplo:
const range = getSelection().getComposedRanges({ shadowRoots: [root] });
Si la selección cruza un límite de raíz de sombra que no se proporciona en la lista shadowRoots, los extremos de StaticRange se "redefinirán" para que estén fuera de ese árbol. Esto garantiza que no expongamos árboles de sombras desconocidos.
Extensiones de alcance de la app web
Agrega un campo de manifiesto de app web scope_extensions que permite que las apps web extiendan su
alcance a otros orígenes.
Ejemplo:
{
  "name": "Example",
  "display": "standalone",
  "start_url": "/index.html",
  "scope_extensions": [
    {"type" : "type", "origin" : "https://example.com"}
  ]
}
Esto permite que los sitios que controlan varios subdominios y dominios de nivel superior se presenten como una sola app web.
Requiere que los orígenes enumerados confirmen la asociación con la app web mediante un archivo de configuración .well-known/web-app-origin-association.
{
  "https://sample-app.com/": {
    "scope": "/"
  }
}
Sugerencias de Branch para WebAssembly
Mejora el rendimiento del código WebAssembly compilado, ya que le informa al motor que es muy probable que una instrucción de rama en particular tome una ruta específica. Esto permite que el motor tome mejores decisiones para el diseño de código (mejora los aciertos de la caché de instrucciones) y la asignación de registros.
WebGPU: GPUTextureView para la vinculación de externalTexture
Ahora se permite usar un GPUTextureView para una vinculación externalTexture cuando se crea un GPUBindGroup.
WebGPU: sobrecarga de copyBufferToBuffer
El método copyBufferToBuffer() de GPUCommandEncoder ahora incluye una forma más sencilla de copiar búferes completos con una nueva sobrecarga con parámetros de tamaño y compensaciones opcionales.
Nuevas pruebas de origen
En Chrome 137, puedes habilitar las siguientes pruebas de origen nuevas.
Atributo de bloqueo de renderización de velocidad de fotogramas completa
Se agregó un nuevo token de bloqueo de renderización de velocidad de fotogramas completa a los atributos de bloqueo. Cuando el renderizador se bloquea con el token de velocidad de fotogramas completa, este funcionará a una velocidad de fotogramas más baja para reservar más recursos para la carga.
Pausa la reproducción de contenido multimedia en iframes que no se renderizaron
Agrega una política de permisos "media-playback-while-not-rendered" para permitir que los sitios web de incorporación detengan la reproducción de contenido multimedia de iframes incorporados que no se renderizan, es decir, que tienen su propiedad "display" establecida en "none". Esto debería permitir a los desarrolladores compilar experiencias más fáciles de usar y mejorar el rendimiento, ya que permite que el navegador controle la reproducción de contenido que no es visible para los usuarios.
API de Rewriter
La API de Rewriter transforma y reformula el texto de entrada de las formas solicitadas, con la seguridad de un modelo de lenguaje de IA integrado en el dispositivo. Los desarrolladores pueden usar esta API para quitar redundancias dentro de un texto para que se ajuste a un límite de palabras, reformular mensajes para que se adapten al público objetivo o para que sean más constructivos si se detecta que un mensaje usa lenguaje tóxico, reformular una publicación o un artículo para usar palabras y conceptos más simples, y mucho más.
API de Writer
La API de Writer se puede usar para escribir material nuevo a partir de una instrucción de tarea de escritura, respaldada por un modelo de lenguaje de IA integrado en el dispositivo. Los desarrolladores podrán usar esta API para generar explicaciones textuales de datos estructurados, redactar una publicación sobre un producto en función de opiniones o descripciones, expandir las listas de pros y contras en vistas completas y mucho más.