Chrome 119 beta

La versión beta de Chrome 119 te ofrece la sintaxis de colores relativos de CSS, nuevas seudoclases y mucho más.

A menos que se indique lo contrario, los cambios descritos 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 mencionadas aquí a través de los vínculos proporcionados o en la lista de ChromeStatus.com. Chrome 119 está en versión beta a partir del 4 de octubre de 2023. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store para Android.

CSS

En esta versión, se agregan cuatro funciones nuevas de CSS.

Pseudoclases de CSS :user-valid y :user-invalid

Las seudoclases :user-invalid y :user-valid representan un elemento con una entrada incorrecta o correcta, respectivamente, pero solo después de que el usuario interactuó de forma significativa con él. Es similar a :valid y :invalid, pero con la restricción agregada de que estas seudoclases solo coinciden después de que el usuario interactuó con el elemento.

Sintaxis del color relativo de CSS (RCS)

La sintaxis de colores relativos permite a los desarrolladores definir colores modificando los parámetros de otros colores.

Por ejemplo: oklab(from magenta calc(l * 0.8) a b); da como resultado un oklab magenta que es un 80% más claro.

Valores del cuadro de geometría de la ruta de recorte de CSS

La propiedad clip-path de CSS ahora admite valores <geometry-box> para controlar el cuadro de referencia del clip, lo que hace que clip-path sea más fácil de usar. Estos valores de cuadro se pueden usar junto con formas básicas (por ejemplo, clip-path: circle(50%) margin-box) o se pueden usar solos para recortar el cuadro especificado (por ejemplo, clip-path: content-box).

Valores xywh() y rect() de la ruta de recorte de CSS

Chrome ahora admite los valores xywh() y rect() de la propiedad clip-path, que facilitan la especificación de clips rectangulares o rectangulares redondeados.

APIs web

Desde que se limitó la fecha de las cookies creadas recientemente en Chrome 104 o aquellas actualizadas con una fecha de vencimiento, esta se limitará a no más de 400 días en el futuro. Este mismo límite ahora se aplicará de forma retroactiva a las cookies que ya estén almacenadas. Las fechas de vencimiento de estas cookies se limitarán a no más de 400 días después de la primera vez que se inicie Chrome 119 y versiones posteriores y se realice una migración única de la base de datos. Los usuarios no verán el impacto de este cambio hasta al menos 400 días después del lanzamiento de Chrome 119, y solo para las cookies existentes que no se hayan actualizado en ese período.

MonitorTypeSurfaces DisplayMediaStreamOptions

Cuando se llama a getDisplayMedia(), el navegador le ofrece al usuario la posibilidad de elegir entre distintas superficies de visualización: pestañas, ventanas o monitores. Con la opción monitorTypeSurfaces, la aplicación web puede sugerir al navegador si prefiere incluir superficies de visualización cuyo tipo supervisa entre las opciones ofrecidas al usuario.

Actualizaciones de funcionalidad de marcos protegidos

Chrome 119 incluye las siguientes mejoras en Marcos vallados.

Hay una opción de formato adicional para las macros de tamaño de anuncio de Protected Audience en la API de Protected Audience, dentro de Privacy Sandbox. Una función de habilitación te permite aplicar macrocombinaciones al tamaño del anuncio que gana la subasta en la URL del anuncio, por ejemplo:

https://ad.com?width={/%AD_WIDTH%}&height={/%AD_HEIGHT%}

Para ser más coherentes con otros tipos de macros en Protected Audience, como las que usan deprecatedReplaceInURN y registerAdMacro, en Chrome 119, agregaremos la capacidad de usar ${AD_WIDTH} y ${AD_HEIGHT} como formato para las macros, además del formato actual.

Las balizas automáticas ahora envían balizas automáticas a todas las URLs registradas. Anteriormente, solo los destinos especificados al llamar a setReportEventDataForAutomaticBeacons() recibían balizas automáticas, incluso si ese destino llamaba a registerAdBeacon() para "reserved.top_navigation" en su worklet. Ahora, cualquier destino que haya llamado registerAdBeacon() para "reserved.top_navigation" recibirá una baliza automática, pero solo los destinos especificados en setReportEventDataForAutomaticBeacons() obtendrán datos automáticos de la baliza. El parámetro "once" en setReportEventDataForAutomaticBeacons() ahora determinará si los datos se envían una vez, en lugar de determinar si la baliza completa se envía una vez.

Margen de desplazamiento del observador de intersección

La propiedad scrollMargin de Intersection Observer permite a los desarrolladores observar objetivos dentro de contenedores de desplazamiento anidados que actualmente están recortados por los contenedores de desplazamiento. Para ello, se expande el rectángulo de recorte del contenedor mediante scrollMargin cuando se calcula la intersección.

Contenedores de desplazamiento enfocados en el teclado

Esta función mejora la accesibilidad, ya que permite que los contenedores de desplazamiento sean enfocables con la navegación de enfoque secuencial. Anteriormente, la tecla Tab no enfocaba a los desplazadores, a menos que tabIndex se estableciera explícitamente en 0 o más. Al hacer que los desplazadores puedan enfocarse de forma predeterminada, los usuarios que no pueden (o no quieren) usar un mouse podrán enfocar el contenido recortado mediante las teclas de flecha y de tabulación del teclado. Este comportamiento se habilita solo si el desplazador no contiene ningún elemento secundario enfocable del teclado.

Restricciones del acceso a redes privadas en la industria automotriz

Aplicar (en lugar de solo advertir) restricciones de acceso a redes privadas en Chrome para Android Automotive (si es BuildInfo::is_automotive). Esto incluye las solicitudes de comprobación previa de Acceso a redes privadas para subrecursos y Acceso a redes privadas para trabajadores.

Leer los atributos de los dispositivos Chrome

La API de Device Attributes Web es un subconjunto de la API de Managed Device Web que proporciona a las aplicaciones web la capacidad de consultar información del dispositivo. Por ejemplo, el ID de dispositivo, el número de serie y la ubicación.

Reemplaza el lenguaje de marcado colgante en el nombre del destino por _blank.

Este cambio reemplaza el nombre del objetivo navegable (que suele establecerse mediante el atributo de destino) en _blank si contiene un lenguaje de marcado pendiente (por ejemplo, \n y <). Esto corrige una omisión en la mitigación de la inyección de lenguaje de marcado pendiente.

Funciones multimedia de preferencias del usuario de Sec-CH-Prefers-Reduced-Transparency Encabezado de Client Hints

El encabezado de preferencias de medios de preferencias de usuario define un conjunto de encabezados de Sugerencias de clientes HTTP para las funciones de medios de preferencias de usuarios, según lo define el nivel 5 de consultas de medios. Si se usan como sugerencias críticas de clientes, estos encabezados permiten que los servidores tomen decisiones inteligentes en relación con, por ejemplo, la incorporación de CSS. Sec-CH-Prefers-Reduced-Transparency refleja la preferencia prefers-reduced-transparency del usuario y está disponible a partir de Chrome 119.

Caracteres de puntuación del host de URL que cumplen con los estándares

Asegúrate de que el manejo de Chrome de los caracteres de puntuación del host de la URL cumpla con el estándar de URL. Por ejemplo:

Antes:

> const url = new URL("http://exa(mple.com;");
> url.href
'http://exa%28mple.com/&apos;

( es un carácter prohibido. Sin embargo, Chrome lo permite por error.

Después:

> const url = new URL("http://exa(mple.com;");
> => throws TypeError: Invalid URL.

Tasa de bitsMode de WebCodecs AudioEncoder

Algunos códecs de audio admiten la especificación de los modos de tasa de bits del codificador de audio. Esta función agrega una marca "bitrateMode" con un valor predeterminado de "variable" al AudioEncoderConfig de WebCodec, que duplica la opción de configuración y el valor predeterminado ya presente para VideoEncoderConfig.

Esta marca permitirá que los desarrolladores elijan entre la codificación de audio con una tasa de bits variable o una constante. Es posible que las implementaciones de codificadores de códecs específicas tengan terminología ligeramente diferente (por ejemplo, CBR o VBR para Opus), pero todas se deben asignar al concepto general de tasa de bits "constante" frente a tasa de bits "variable".

Las dos opciones tienen los siguientes efectos:

  • variable: Permite que un codificador de audio aumente o disminuya su tasa de bits según el contenido del audio que codifica, para preservar el ancho de banda o el tamaño binario, a la vez que mantiene una calidad objetivo. Por ejemplo, un codificador puede disminuir su tasa de bits cuando codifica silencio y volver a una tasa de bits completa cuando codifica voz.
  • constant : Fuerza un codificador de audio a mantener la misma tasa de bits, independientemente del contenido de audio. Esto puede ser útil cuando es preferible un consumo de ancho de banda predecible.

A partir de Chrome 119, esta marca afectará a dos códecs de Chromium: Opus y AAC.

Encapsulamiento de claves X25519Kyber768 para TLS

Protege el tráfico actual de TLS de Chrome contra el criptoanálisis cuántico futuro implementando el algoritmo de acuerdo de claves cuántico Kyber768. Este es un acuerdo de claves híbrido X25519 y Kyber768 basado en un estándar IETF. Esta especificación y lanzamiento están fuera del alcance de W3C. Este acuerdo clave se lanzará como un algoritmo de cifrado TLS y debe ser transparente para los usuarios.

Pruebas de origen en curso

En Chrome 119, puedes habilitar la siguiente nueva prueba de origen.

Abrir ventanas emergentes como ventanas de pantalla completa

Esta nueva prueba de origen agrega un parámetro fullscreen WindowFeatures a la API de JavaScript window.open(). Esto permite que el emisor abra una ventana emergente directamente en pantalla completa en la pantalla que la contendrá (según screenX y screenY). Esto elimina la necesidad de que el desarrollador realice la transición manual de una ventana emergente a la pantalla completa, lo que podría requerir un nuevo indicador de activación del usuario.

Bajas y eliminaciones

Esta versión de Chrome presenta las bajas y las eliminaciones que se indican a continuación. Visita ChromeStatus.com para ver una lista de las bajas planificadas, las bajas actuales y las eliminaciones anteriores.

En esta versión de Chrome, se quitan cuatro funciones.

Quita Web SQL

Anteriormente, anunciamos la baja y eliminación de Web SQL. La función se quitó por completo a partir de Chrome 119. Una prueba de origen inverso permite a los desarrolladores seguir usando WebSQL hasta Chrome 123.

Se quitó la API de Sanitizer

El objetivo de la API de Sanitizer es compilar en la plataforma un desinfectante HTML que sea siempre seguro y que sea fácil de usar y mantenido por el navegador. Chrome envió una versión inicial en Chrome 105, según el borrador de especificación vigente en ese momento. Sin embargo, mientras tanto, el debate ha avanzado y la forma de la API propuesta ha cambiado sustancialmente.

Para evitar que la API actual se integre, quitaremos la implementación actual. Esperamos volver a implementar la API de Sanitizer cuando la especificación propuesta se estabilice nuevamente.

Quitar datos: URL en SVGUseElement

Asignar un data: URL en SVGUseElement puede causar XSS. Esto también provocó una omisión de Trusted Types. Por lo tanto, planeamos dar de baja y quitar la compatibilidad.

Quita el atributo no estándar shadowroot para el shadow DOM declarativo

El atributo shadowrootmode del seguimiento de estándares, que habilita el Shadow DOM declarativo, se envió en Chrome 111. El atributo shadowroot no estándar más antiguo se quitará en Chrome 119. Existe una ruta de migración sencilla: reemplaza shadowroot por shadowrootmode.