Chrome 119 beta

Chrome 119 beta te ofrece la sintaxis relativa de color de CSS, nuevas pseudoclases 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 que se enumeran aquí a través de los vínculos proporcionados o de la lista en ChromeStatus.com. Chrome 119 está beta desde el 4 de octubre de 2023. Puedes descargar la versión más reciente en Google.com para computadoras o desde Google Play Store para Android.

CSS

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

Pseudoclases :válidas por el usuario y :no válidas por el usuario

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 haya interactuado con él de manera significativa. Esto es similar a :valid y :invalid, pero con la restricción adicional de que estas pseudoclases solo coinciden después de que el usuario interactúa con el elemento.

Sintaxis del color relativo de CSS (RCS)

La sintaxis de colores relativas 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 magenta oklab que es un 80% más claro.

Valores de cuadro de geometría de ruta de acceso 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 acceso de recorte de CSS

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

API web

Desde que las cookies creadas recientemente en Chrome 104 o aquellas actualizadas con una fecha de vencimiento, se limitaron 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 o versiones posteriores y se realice una migración única de la base de datos. Los usuarios no notarán el impacto de este cambio hasta al menos 400 días después del lanzamiento de Chrome 119 y, luego, solo para las cookies existentes que no se hayan actualizado en ese período.

MonitorTypeSurfaces de DisplayMediaStreamOptions

Cuando se llama a getDisplayMedia(), el navegador le ofrece al usuario la opción de distintas plataformas de visualización: pestañas, ventanas o monitores. Con la opción monitorTypeSurfaces, la aplicación web ahora puede sugerirle al navegador si prefiere incluir plataformas de visualización cuyo tipo sea monitor entre las opciones que se ofrecen al usuario.

Actualizaciones de la funcionalidad de Fenced Frames

Chrome 119 incluye las siguientes mejoras a Marcos vallados.

Hay una opción de formato adicional para las macros de tamaño del anuncio de Protected Audience en la API de Protected Audience dentro de Privacy Sandbox. Una función que se puede habilitar te permite agregar un macro el tamaño del anuncio que gana la subasta a 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 agregamos la capacidad de usar ${AD_WIDTH} y ${AD_HEIGHT} como formatos de las macros, además del formato actual.

Las balizas automáticas ahora se enviarán a todas las URL registradas. Anteriormente, solo los destinos especificados cuando se llamaba a setReportEventDataForAutomaticBeacons() recibían balizas automáticas, incluso si ese destino llamaba a registerAdBeacon() para "reserved.top_navigation" en su worklet. Ahora, todos los destinos que llamaron a registerAdBeacon() para "reserved.top_navigation" recibirán una baliza automática, pero solo los destinos especificados en setReportEventDataForAutomaticBeacons() recibirán datos de la baliza automática junto con la baliza. Ahora, el parámetro "once" de setReportEventDataForAutomaticBeacons() determinará si los datos se envían una vez, en lugar de determinar si toda la baliza se envía una sola vez.

Margen de desplazamiento de Intersection Observer

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 debe expandir el rectángulo de recorte del contenedor mediante scrollMargin cuando se calcula la intersección.

Contenedores de desplazamiento enfocados con el teclado

Esta función mejora la accesibilidad, ya que permite que los contenedores de desplazamiento sean enfocables mediante la navegación de enfoque secuencial. Anteriormente, la tecla Tab no enfocaba los desplazadores, a menos que tabIndex se estableciera explícitamente en 0 o más. Si permites que los desplazadores sean enfocables de forma predeterminada, los usuarios que no pueden (o no quieren) usar un mouse podrán enfocar el contenido recortado con las teclas de tabulación y de flecha del teclado. Este comportamiento se habilita solo si la barra de desplazamiento 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 preliminares de Acceso a redes privadas para subrecursos y el 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 del dispositivo, el número de serie y la ubicación.

Reemplazar el lenguaje de marcado colgante en el nombre del destino por _blank

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

Funciones de medios de preferencias del usuario Sec-CH-Prefers-Reduced-Transparency Encabezado de sugerencias de clientes

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

Caracteres de puntuación en hosts de URLs que cumplen con los estándares

Hacer que el manejo de Chrome de los caracteres de puntuación en hosts de URLs cumpla con el estándar para URLs. Por ejemplo:

Antes:

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

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

Después:

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

Modo de tasa de bits 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" a AudioEncoderConfig de WebCodec, que refleja la opción de configuración y la configuración predeterminada que ya está presente para VideoEncoderConfig.

Esta marca permitirá a los desarrolladores elegir entre codificar audio con una tasa de bits variable o una tasa de bits constante. Las implementaciones específicas del codificador de códecs pueden tener terminología ligeramente diferente (por ejemplo, CBR frente a VBR para Opus), pero todas deben asignarse al concepto general de "constante". frente a “variable” la tasa de bits.

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 esté codificando para preservar el ancho de banda o el tamaño binario sin dejar de mantener una calidad objetivo. Por ejemplo, un codificador puede disminuir su tasa de bits cuando codifica silencio y revertir a una tasa de bits completa cuando codifica la voz.
  • constante : Fuerza un codificador de audio a mantener la misma tasa de bits, independientemente del contenido de audio. Esto puede ser útil cuando se prefiere un consumo de ancho de banda predecible.

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

Encapsulamiento de claves X25519Kyber768 para TLS

Proteger el tráfico actual de TLS de Chrome del futuro criptoanálisis cuántico mediante la implementación del algoritmo de acuerdo de claves resistente a datos cuánticos Kyber768 Este es un acuerdo de claves híbrido X25519 + KYber768 basado en un estándar IETF. Esta especificación y este lanzamiento están fuera del alcance de W3C. Este acuerdo de claves 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 prueba de origen nueva.

Abrir ventanas emergentes como ventanas en pantalla completa

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

Bajas y eliminaciones

Esta versión de Chrome incluye las bajas y las eliminaciones que se indican a continuación. Visita ChromeStatus.com para consultar las listas de bajas planificadas, bajas actuales y eliminaciones anteriores.

Esta versión de Chrome quita cuatro funciones.

Quitar 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 les permite a los desarrolladores seguir usando WebSQL hasta Chrome 123.

Quitar la API de Sanitizer

El objetivo de la API de Sanitizer es integrar en la plataforma un limpiador HTML fácil de usar, siempre seguro y mantenido por el navegador. Chrome envió una versión inicial en Chrome 105, basada en el borrador de la especificación vigente en ese momento. Sin embargo, mientras tanto, el debate avanzó y la forma de la API propuesta cambió sustancialmente.

Para evitar que la API actual se establezca, quitaremos la implementación actual. Esperamos reimplementarla cuando la especificación propuesta se estabilice nuevamente.

Quitar datos: URL en SVGUseElement

Asignar un data: URL en SVGUseElement puede causar XSS. Y esto también llevó a una omisión de Trusted Types. Por lo tanto, planeamos quitar su compatibilidad y darla de baja.

Se quitó el atributo no estándar shadowroot para el shadow DOM declarativo.

El atributo shadowrootmode del segmento estándar, que habilita Shadow DOM declarativo, se envió en Chrome 111. El atributo no estándar shadowroot anterior se quitará en Chrome 119. Hay una ruta de migración directa: reemplaza shadowroot por shadowrootmode.