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 129 es una versión beta a partir del 21 de agosto de 2024. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store para Android.
CSS
Esta versión agrega dos funciones nuevas de CSS y actualiza tres.
Funciones interpolate-size property
y calc-size()
de CSS
La propiedad interpolate-size
de CSS permite que una página habilite animaciones y transiciones de palabras clave de tamaño intrínseco de CSS, como auto
, min-content
y fit-content
, en los casos en que esas palabras clave se puedan animar.
La función calc-size()
de CSS es una función de CSS similar a calc()
. Sin embargo, también admite operaciones en exactamente una palabra clave de tamaño compatible. Actualmente, las palabras clave de tamaño admitidas son auto
, min-content
, max-content
y fit-content
. Otras palabras clave de tamaño que podrían admitirse en el futuro son stretch
(actualmente, se admite como -webkit-fill-available
con prefijo) y contain
. Esta función se usa para representar los valores en medio de las animaciones que permite la propiedad interpolate-size
.
Se cambió el nombre de inset-area
a position-area
para el posicionamiento de anclaje de CSS
El CSSWG resolvió cambiar el nombre de esta propiedad de inset-area
a position-area
. Chrome 129 incluye position-area
. El nombre inset-area
se quitará en una versión futura.
Posicionamiento de anclaje de CSS: inset-area()
sin unir
Reemplaza la función inset-area()
por valores de área insertada directamente dentro de position-try-fallbacks
. Por ejemplo, en lugar de position-try-fallbacks:inset-area(top)
, usa position-try-fallbacks:top
.
Actualiza backdrop-filter de CSS para usar mirror edgeMode
La propiedad CSS backdrop-filter
aplica uno o más filtros al fondo de un elemento. El fondo es el contenido pintado que se encuentra detrás del elemento.
Un filtro común es un desenfoque que permite a los diseñadores crear cuadros de diálogo con “vidrio esmerilado”, superposiciones de video, encabezados de navegación translúcidos y mucho más.
Inicialmente, se implementó de la misma manera que un desenfoque normal, pero el muestreo más allá de los bordes del elemento permitió que los colores de los bordes se extendieran. Se cambió la especificación para muestrear píxeles fuera de los bordes del fondo duplicando los píxeles en el borde. Sin embargo, esto genera un parpadeo extremo del contenido a medida que entra en el borde del fondo. El último cambio en las especificaciones refleja el fondo cuando se toma una muestra más allá del borde, lo que permite una introducción gradual y fluida de colores nuevos en los bordes sin sobrecargar líneas individuales de color.
API web
Compatibilidad con blobs en los canales de datos de WebRTC
Se implementó RTCDataChannel.send(Blob)
, y el evento onMessage
ahora puede recibir datos de tipo Blob
de forma opcional con el atributo binaryType
.
Además de admitir el envío de cadenas y ArrayBuffers, ahora puedes elegir enviar un Blob
, siempre que su tamaño sea inferior al maxMessageSize
de transporte SCTP, como se indica en la especificación de WebRTC.
Con el atributo binaryType
configurado en "blob"
, el atributo de datos del evento onMessage será de tipo Blob
en lugar del ArrayBuffer
compatible actualmente.
Comandos de la extensión de WebDriver de Compute Pressure
Expone los comandos de WebDriver para crear, quitar y actualizar muestras de fuentes de presión para fuentes de presión virtuales. Estas fuentes de presión no dependen de la compatibilidad subyacente con el hardware o el sistema operativo y se pueden usar para pruebas.
Intl.DurationFormat
Proporciona un método para dar formato a las duraciones, por ejemplo, "1 hr 40 min 30 sec", que admite varias configuraciones regionales.
API de Private Aggregation: Combinación de contribuciones del cliente
Modifica la API de Private Aggregation para combinar las contribuciones del histograma con el mismo bucket y el ID de filtrado antes de incorporarlas en la carga útil encriptada del informe agregable.
La agregación privada impone un límite a la cantidad de contribuciones que se pueden incorporar en un solo informe agregable, y se descartan las contribuciones adicionales. Si combinamos las contribuciones siempre que sea posible, podemos obtener una utilidad adicional del límite. Ten en cuenta que, si se ignora la eliminación de contribuciones excesivas, la combinación de este tipo de contribuciones no debería tener ningún impacto en los resultados finales, por ejemplo, los informes de resumen.
scheduler.yield()
Proporciona un método para ceder el control al navegador, que se puede usar para dividir tareas largas. Esperar la promesa que devuelve scheduler.yield()
hace que la tarea actual se genere y continúe en una tarea nueva del navegador. Esto se puede usar para mejorar los problemas de capacidad de respuesta causados por tareas largas. Las continuaciones se priorizan para mitigar los problemas de rendimiento de las alternativas existentes.
API de Web Authentication: Métodos de serialización de JSON
Los métodos PublicKeyCredential.toJSON()
, parseCreationOptionsFromJSON()
y parseRequestOptionsFromJSON()
de WebAuthn permiten a los desarrolladores serializar una respuesta de WebAuthn en un objeto JSON o deserializar un objeto de solicitud de WebAuthn desde su representación JSON.
Compatibilidad con el rango extendido (HDR) de WebGPU
Agrega parámetros de asignación de tonos a la configuración del lienzo de WebGPU y agrega opciones de standard
(el comportamiento actual de restringir el contenido al rango SDR de la pantalla) como predeterminado y extended
(no imponer esta restricción) como un comportamiento nuevo. Esto permite que el contenido de WebGPU use el rango completo de una pantalla.
Pruebas de origen en curso
En Chrome 129, puedes habilitar las siguientes pruebas de origen nuevas.
Interfaz FileSystemObserver
La interfaz FileSystemObserver notifica a los sitios web los cambios en el sistema de archivos. Los sitios observan cambios en los archivos y directorios del dispositivo local del usuario (como se especifica en WICG/file-system-access) o en el sistema de archivos de Bucket (como se especifica en fs.spec.whatwg.org) y se les notifica información básica sobre los cambios, como el tipo de cambio.
Regístrate en la prueba de origen de FileSystemObserver.
Bajas y eliminaciones
Esta versión de Chrome presenta las bajas y las eliminaciones que se indican a continuación. Visita ChromeStatus.com para obtener listas de bajas planificadas, bajas actuales y eliminaciones anteriores.
Esta versión de Chrome da de baja una función.
Se da de baja 0.0.0.0
para el acceso a redes privadas
Chrome bloqueará el acceso a la dirección IP 0.0.0.0
antes de que se lance por completo el Acceso a redes privadas (PNA).
Chrome dará de baja el acceso directo a los extremos de red privada desde sitios web públicos como parte de la especificación de PNA.
Los servicios que escuchan en localhost (127.0.0.0/8
) se consideran privados según la especificación. Se puede omitir la protección de PNA de Chrome con la dirección IP 0.0.0.0
para acceder a los servicios que escuchan en el host local en macOS y Linux.
También se puede abusar de esto en los ataques de revinculación de DNS dirigidos a una aplicación web que escucha en el host local.
Esta versión de Chrome quita tres funciones.
Se quitó el argumento includeShadowRoots
en DOMParser
El argumento includeShadowRoots
era un argumento nunca estandarizado para la función DOMParser.parseFromString()
, que estaba ahí para permitir el análisis imperativo de contenido HTML que incluye Shadow DOM declarativo. Este se envió en Chrome 90 como parte del envío inicial del Shadow DOM declarativo.
Ahora que una versión estandarizada de esta función está disponible con los métodos setHTMLUnsafe()
y parseHTMLUnsafe()
, se quitará el argumento includeShadowRoots
no estándar. El código se debe actualizar de la siguiente manera:
En lugar de esta sintaxis:
((new DOMParser()).parseFromString(html,'text/html',{includeShadowRoots: true});
Usar:
Document.parseHTMLUnsafe(html);
Se quitó la serialización de Shadow DOM declarativo no estándar
La implementación del prototipo de DOM secundario declarativo contenía un método llamado getInnerHTML()
que se usaba para serializar árboles de DOM que incluían raíces secundarias. Esa parte del prototipo no se estandarizó con el resto de Shadow DOM declarativo y, en su lugar, se diseñó un reemplazo: getHTML()
.
Por lo tanto, el método getInnerHTML()
anterior ahora se quitará de Chrome. Debes usar getHTML()
como reemplazo, que pronto será interoperable en todos los navegadores.
Quita PointerEvent.getCoalescedEvents()
de los contextos no seguros
El grupo de trabajo de eventos del puntero restringió PointerEvent.getCoalescedEvents()
a contextos seguros hace más de cuatro años, lo que quitó la API de contextos no seguros. Originalmente, Chrome envió el comportamiento anterior y no siguió el cambio de especificación de inmediato debido a problemas de compatibilidad.
Ahora lo quitaremos de los contextos no seguros porque el uso de Chrome en contextos no seguros resultó ser muy bajo.