Chrome 125

Fecha de lanzamiento estable: 14 de mayo de 2024

A menos que se indique lo contrario, los siguientes cambios se aplican a la versión estable de Chrome 125 versión del canal para Android, ChromeOS, Linux, macOS y Windows.

HTML y DOM

Serialización de shadow DOM declarativa

Es una función que permite a los desarrolladores serializar árboles del DOM que contienen shadow roots. recientemente estandarizado en el estándar HTML.

Error de seguimiento #41490936 | Entrada de ChromeStatus.com | Especificación

CSS

Posicionamiento de los anclajes de CSS

El posicionamiento de los anclajes de CSS permite a los desarrolladores conectar un elemento absolutamente posicionado. a uno o más elementos de la página (los fijos), de forma declarativa, sin usar JavaScript. El posicionamiento de los anclajes funciona de manera eficiente cuando se pueden desplazar. Un caso de uso común es posicionar un cuadro emergente, como una información sobre herramientas, junto al elemento que lo invocó, o un menú de selección y su lista de opciones de cuadro emergente. Antes de la función de posicionamiento de ancla, estos casos de uso requerían que JavaScript posicionara el popover de forma dinámica y lo mantuviera anclado a medida que se desplazaba el elemento de invocación, lo que es un problema de rendimiento y difícil de hacer bien. Con el posicionamiento de anclas, estos casos de uso se pueden implementar de forma declarativa y con alto rendimiento.

La función de posicionamiento de ancla consta de una gran cantidad de propiedades CSS. R algunas de las propiedades clave son las siguientes:

  • anchor-name: Establece un elemento para que sea un ancla para otros elementos.
  • position-anchor: Describe el valor “predeterminado”. ancla que un elemento anclado para el posicionamiento de los anclajes.
  • La función anchor(): Se usa para hacer referencia a la posición del elemento de ancla, en el posicionamiento del elemento anclado.
  • inset-area: Es una abreviatura de posicionamiento para posiciones relativas comunes.

Presentación de la API de posicionamiento de anclajes de CSS | Error de seguimiento #40059176 | Entrada de ChromeStatus.com | Especificaciones

Funciones de valor escalonado de CSS: round(), mod() y rem()

Las funciones de valor escalonado, round(), mod() y rem(), todas transforman un determinado de acuerdo con otro "step value" (valor del paso).

La función de CSS round() muestra un número redondeado en función de un redondeo seleccionado de administración de amenazas.

La función de CSS mod() muestra un módulo que queda cuando se modifica el primer parámetro dividido por el segundo parámetro, similar al operador de resto de JavaScript (%). El módulo es el valor que queda cuando un operando, el dividendo, dividida por un segundo operando, el divisor. Siempre lleva la señal del divisor.

La función de CSS rem() muestra un resto cuando el primer parámetro se divide por el segundo parámetro, de forma similar al operador de resto de JavaScript (%). El resto es el valor que queda cuando un operando, el dividendo, dividida por un segundo operando, el divisor. Siempre lleva la señal del dividendo.

Error de seguimiento #40253179 | Entrada de ChromeStatus.com | Especificación

Nueva sintaxis para :state() personalizado de CSS

El estado personalizado de CSS permite que los elementos personalizados expongan sus propias pseudoclases. El la sintaxis se especificó en el CSSWG, y Chrome 125 ahora admite el nuevo la sintaxis :state(foo). Este cambio tendrá una ventana en la que Chrome admitirá la sintaxis anterior (:--foo) y la nueva para que los sitios web puedas cambiar al nuevo.

Entrada de ChromeStatus.com | Especificaciones

Se quitó la discontinuidad de los colores Oklab y Oklch con una luminosidad de casi el 100% o 0.

Antes de este cambio, todos los colores Lab, LCH, Oklab y Oklch con un valor de luminosidad del 100% se procesaron como blancos, independientemente de los otros dos parámetros. Todos los colores de estos espacios con un valor de luminosidad de 0 se renderizaron como negros. Estas dos asignaciones causaron discontinuidades en los gradientes y fueron inesperadas para los desarrolladores web.

Con esta reversión, estos colores ya no se asignan de forma artificial y el color que se muestra será continuo con los colores cercanos y dependerá de la asignación de gama de la pantalla.

Entrada de ChromeStatus.com | Especificación

Barras de desplazamiento raíz del esquema de colores usadas

Hace que el navegador use el esquema de colores preferido del usuario para renderizar el viewport barras de desplazamiento si el valor de "esquemas de color admitidos por la página" es “normal” o no especificado, y el valor calculado de color-scheme para el elemento raíz es normal. Las barras de desplazamiento del viewport se pueden considerar fuera del contenido web. Por lo tanto, los agentes de usuario deben respetar el esquema de colores preferido del usuario cuando rendericen las barras de desplazamiento del viewport si el desarrollador no especificó explícitamente la compatibilidad con los esquemas de colores.

Este cambio no impide que los desarrolladores controlen el esquema de colores para con barras de desplazamiento. El nuevo comportamiento hace que el navegador use el navegador esquema de colores para procesar barras de desplazamiento no superpuestas en el viewport solo si el desarrollador no especificó el esquema de colores del elemento raíz.

título | Error de seguimiento #40259909 | Entrada de ChromeStatus.com | Especificación

Clase view-transitions

Hay una nueva propiedad de CSS view-transition-class que te permite especificar una o más clases de transición de vistas. Luego, puedes seleccionar los pseudoelementos ViewTransition con estas clases, por ejemplo, ::view-transition-group(*.class).

Esta es una extensión de la API de ViewTransition que simplifica el diseño de los pseudoelementos de transición de vistas de manera similar. que las clases de CSS simplifican el estilo de los elementos regulares del DOM.

Error de seguimiento #41492972 | Entrada de ChromeStatus.com | Especificación

Cargando

Aceptar URLs HTTP y HTTPS cuando se construye WebSocket

Esta actualización habilita los esquemas HTTP y HTTPS en el constructor de WebSocket, por lo que también permite que los desarrolladores usen URLs relativas. Estos se normalizan a los esquemas internos ws: y wss:.

Error de seguimiento #325979102 | Entrada de ChromeStatus.com | Especificación

API web

Incorporaciones a la API de Attribution Reporting

Se agregaron funciones a la API de Attribution Reporting para crear funciones de depuración de errores, al admitir el análisis de informes de depuración de errores, mejorar la API de ergonomía, ya que admite un campo que especifica la plataforma de registro preferida mejorar la privacidad.

Entrada de ChromeStatus.com

La API de Compute Pressure

La API de Compute Pressure ofrece estados de alto nivel que representan la carga de CPU en el sistema. Permite que las para usar las métricas de hardware subyacentes correctas y de garantizar que los usuarios puede aprovechar toda la potencia de procesamiento a su disposición, siempre y cuando el sistema no se encuentre bajo un estrés inmanejable.

Intel lideró el trabajo de diseño e implementación de esta API, que permitirá que las apps de videoconferencia equilibren de forma dinámica las funciones y el rendimiento.

API de Compute Pressure | Error de seguimiento #40683064 | Entrada de ChromeStatus.com | Especificaciones

Con esto, se lanza la extensión propuesta de la API de Storage Access (retrocesivamente) compatible y haya estado en prueba de origen) para permitir el acceso a cookies no particionadas y el almacenamiento sin cookies en un contexto de terceros. La API actual solo proporciona acceso a cookies, que tienen casos de uso diferentes al almacenamiento sin cookies.

Error de seguimiento #40282415 | Entrada de ChromeStatus.com | Especificación

Requisito de CORS de FedCM en el extremo de aserción de ID

Es difícil razonar sobre las recuperaciones en la API de FedCM debido a las propiedades que se les requieren. Aunque hay un debate continuo sobre las cuentas extremo, también hay un gran consenso de que el extremo de aserción de ID debe usan CORS. Esta actualización alinea más las propiedades de seguridad de esta recuperación otras recuperaciones en la plataforma web.

Actualizaciones de FedCM: Prueba de origen de la API de modo de botón, CORS y SameSite | Error de seguimiento #40284123 | Entrada de ChromeStatus.com

Ahora, FedCM envía solicitudes de aserción de ID con CORS. Ese cambio significa que Chrome ya no envía cookies SameSite=Strict al extremo de la aserción de ID, aunque aún envía SameSite=None. Dado que no tiene sentido enviar un conjunto diferente de cookies al extremo de cuentas y al extremo de la aserción de ID, este cambio los hace coherentes.

No enviar cookies de SameSite=Strict también es coherente con Comportamiento de requestStorageAccess y las solicitudes entre sitios en general.

Error de seguimiento #329145816 | Entrada de ChromeStatus.com | Especificación

Acción predeterminada interoperable mousemove

Chrome permitió cancelar los eventos mousemove para evitar que otras APIs, como Text (e incluso arrastrar y soltar en el pasado). No coincide con los demás navegadores principales ni cumple con la especificación de eventos de la IU. Ahora, la selección de texto ya no será la acción predeterminada de mousemove. Aun así, es posible evitar la selección de texto y la función de arrastrar y soltar a través de la cancelación de los eventos selectstart y dragstart, respectivamente.

Esta función se lanzará de forma gradual a partir de Chrome 125 y se espera que esté disponible para todos los usuarios en Chrome 126.

Demo | Error de seguimiento #40078978 | Entrada de ChromeStatus.com | Especificación

Modificadores de expresiones regulares

Los modificadores de expresiones regulares agregan la capacidad de modificar localmente i, m, y s' marcas dentro de un patrón.

Si deseas habilitar una marca para una subexpresión, usa (?X:subexpr), en el que X sea uno de i, m o s. Para inhabilitar una marca para una subexpresión, usa (-X:subexpr).

Por ejemplo, para la marca i que no distingue mayúsculas de minúsculas, haz lo siguiente:

const re1 = /^[a-z](?-i:[a-z])$/i;
re1.test("ab"); // true
re1.test("Ab"); // true
re1.test("aB"); // false

const re2 = /^(?i:[a-z])[a-z]$/;
re2.test("ab"); // true
re2.test("Ab"); // true
re2.test("aB"); // false

Entrada de ChromeStatus.com | Especificación

Grupos de captura con nombre duplicados de la expresión regular

Los grupos de captura con nombre duplicados te permiten usar el mismo nombre de grupo de captura en todas las alternativas. Por ejemplo:

const re = /(?<year>[0-9]{4})-[0-9]{2}|[0-9]{2}-(?<year>[0-9]{4})/;

En este caso, year es válido para la 1ª alternativa ((?<year>[0-9]{4})-[0-9]{2}) o la 2ª alternativa ([0-9]{2}-(?<year>[0-9]{4})).

Entrada de ChromeStatus.com | Especificación

Apps de Chrome

API de Direct Sockets en apps de Chrome

Esta actualización facilita la transición de apps especializadas de Chrome Apps a Apps web aisladas habilitando Direct Sockets en Apps de Chrome y permitiendo así que las apps web establecer el protocolo de control de transmisión directa (TCP) y el protocolo de datagramas de usuario (UDP) con dispositivos y sistemas de red.

Entrada de ChromeStatus.com | Especificaciones

Nuevas pruebas de origen

API de FedCM Button Mode y API de otras cuentas

Esta prueba de origen incluye las siguientes dos APIs de FedCM.

La API de Button Mode permite que los sitios web llamen a FedCM con un clic en un botón, como haciendo clic en el botón Acceder al IdP. Esto requiere que FedCM lo garantice responde con una interfaz de usuario visible, en lugar del modo widget, que no muestra una IU cuando los usuarios salen de sus cuentas. Llamar a la API de FedCM en El modo de botón lleva a los usuarios a acceder al IdP (en una ventana de diálogo) cuando los usuarios salen de sus cuentas.

Además, como se llama al modo de botón dentro de un gesto del usuario explícito, la IU también puede ser más prominente (por ejemplo, centrada y modal) en comparación con la IU del modo de widget (que no tiene una intención tan explícita). Obtén más información sobre cómo funciona la API de Button Mode en Actualizaciones de FedCM: Prueba de origen de la API de Button Mode, CORS y SameSite

La API de Use Other Account permite que un proveedor de identidad permita que los usuarios accedan a otras cuentas.

Prueba de origen | Demostración | Error de seguimiento #40284792 | Entrada de ChromeStatus.com | Especificaciones

APIs de dispositivos plegables

Esta prueba de origen incluye la API de Device Posture y la API de Viewport SegmentsEnumeration. Estas APIs están diseñadas para ayudar a los desarrolladores a orientar sus apps a dispositivos plegables.

Prueba de origen | Prueba de origen para las APIs de Foldable | Entrada de ChromeStatus.com | Especificación

Prueba de baja para las propiedades y los métodos con prefijos HTMLVideoElement Fullscreen

Esta prueba de baja te permite volver a habilitar la compatibilidad con las propiedades y los métodos de HTMLVideoElement con prefijo si necesitas más tiempo para ajustar tu código.

Prueba de origen | Entrada de ChromeStatus.com

Omitir el análisis de carga previa

Omite el escáner de carga previa para explorar las compensaciones de rendimiento de las páginas sin recuperaciones de subrecursos.

El paso del escáner de precarga beneficia el rendimiento de las páginas con un subrecurso mediante la implementación de la carga previa especulativa Sin embargo, para las páginas que no se benefician de este paso, es decir, para las páginas sin subrecursos, esta es una sobrecarga de procesamiento adicional con poco beneficio.

Para los usuarios avanzados de la Web que deseen beneficiarse de la reducción de estos gastos, esta proporciona un control a nivel de página para inhabilitar el escáner de precarga. Los datos recopilados de este experimento podrían evaluar si sería útil una API modificada o una implementación diferente del escáner de carga previa de HTML.

Prueba de origen | Error de seguimiento #330802493 | Entrada de ChromeStatus.com | Especificaciones

Bajas y eliminaciones

Se quitó el alias "window-placement" para los permisos y la política de permisos "window-management".

Quita la "window-placement" alias para permisos y política de permisos “administración de ventanas”. Esto forma parte de un esfuerzo mayor por cambiar el nombre de las cadenas finalmente dar de baja y quitar la "window-placement". El cambio de terminología mejora la longevidad del descriptor a medida que la API de Window Management evoluciona con el tiempo.

título | Error de seguimiento #40842072 | Entrada de ChromeStatus.com | Especificación

Eliminación de la política empresarial: NewBaseUrlInheritanceBehaviorAllowed

El cambio de código subyacente (habilitar el nuevo comportamiento de herencia de la URL base) que anula esta política empresarial está habilitado en versiones estables desde agosto de 2023 (Chrome 118). Dado que se solucionaron problemas conocidos, se quitó esta política empresarial en Chrome 125.

Entrada de ChromeStatus.com

Eliminación de las propiedades y los métodos de pantalla completa de HTMLVideoElement con prefijo

Las APIs de pantalla completa HTMLVideoElement con prefijo dejaron de estar disponibles desde Chrome 38. Se reemplazaron por Element.requestFullscreen(), que se envió por primera vez sin prefijo en 2018 en Chrome 71.

Se quitarán las siguientes propiedades y métodos de HTMLVideoElement:

  • webkitSupportsFullscreen
  • webkitDisplayingFullscreen
  • webkitEnterFullscreen()
  • webkitExitFullscreen()
  • webkitEnterFullScreen() (observa las distintas mayúsculas de la "S" en FullScreen)
  • webkitExitFullScreen()

Regístrese en la prueba de baja que se indica en esta publicación si tu sitio todavía depende de ellas y necesitas más tiempo para actualizar el código.

Entrada de ChromeStatus.com

Lecturas adicionales

¿Buscas más? Consulta estos recursos adicionales.

Descargar Google Chrome

Descarga Chrome para Android, computadoras o iOS.