Fecha de publicación: 16 de octubre de 2024
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 131 está en versión beta desde el 16 de octubre de 2024. Puedes descargar la versión más reciente en Google.com para computadoras o en Google Play Store en Android.
CSS
En esta versión, se agregan ocho funciones nuevas de CSS.
Posicionamiento de anclaje de CSS: anchor-scope
La propiedad anchor-scope permite limitar la visibilidad de los nombres de anclaje a un subárbol determinado.
CSS font-variant-emoji
La propiedad CSS font-variant-emoji proporciona una forma de controlar los glifos de emojis coloreados (estilo de emoji) y monocromáticos (estilo de texto). Esto también se puede hacer agregando un selector de variación de emoji, específicamente U+FE0E para texto y U+FE0F para emoji, después de cada punto de código de emoji.
Herencia de CSS Highlight
Con la herencia de CSS Highlight, las seudoclases de ese elemento, como ::selection y ::highlight, heredan sus propiedades a través de la cadena de seudodestacado en vez de hacerlo a través de la cadena de elementos. El resultado es un modelo más intuitivo para la herencia de propiedades en los elementos destacados.
Para obtener más información, lee la entrada de blog Inheritance changes for CSS selection styling escrita por Stephen Chenney de Igalia.
Mejoras en la estructura de diseño de los elementos <details> y <summary>
Se admiten más diseños de CSS para la estructura de <details> y <summary>
elementos, lo que permite que se usen en más casos en los que se crean widgets de divulgación
o acordeón en la Web. En particular, este cambio quita las restricciones que impedían establecer la propiedad de visualización en estos elementos y agrega un pseudoelemento ::details-content para diseñar el contenedor de la parte que se expande y contrae.
Cuadros de margen @page
Se agrega compatibilidad con los cuadros de margen de página cuando se imprime un documento web o se exporta como PDF.
Los cuadros de margen @page te permiten definir el contenido en el área de margen de una página, por ejemplo, para proporcionar encabezados y pies de página personalizados, en lugar de usar los encabezados y pies de página integrados que genera el navegador.
Un cuadro de margen se define con una regla at dentro de una regla @page de CSS. La apariencia y el contenido de un cuadro de margen se especifican con propiedades CSS dentro de la regla at, incluida la propiedad content. También se admiten contadores para la numeración de páginas. La especificación define dos nombres de contador especiales: page para el número de página actual y pages para la cantidad total de páginas.
Compatibilidad con @property con la sintaxis <string>
Compatibilidad con el nombre del componente de sintaxis <string> para las propiedades personalizadas registradas.
Compatibilidad con currentcolor en la sintaxis de color relativa
Permite que los colores relativos en CSS (con la palabra clave from) usen currentcolor como base. Esto te permite establecer colores complementarios, según el color de texto de un elemento, para los bordes, las sombras o los fondos de ese elemento.
Esta función también incluye casos de uso en los que las funciones de color están anidadas con una
dependencia de currentcolor, por ejemplo
color-mix(in srgb, rgb(from currentcolor r g b), white)) o
rgb(from rgb(from currentcolor 1 g b) b g r).
Compatibilidad con recursos SVG externos para las propiedades clip-path, fill, stroke y marker-*
Esta función agrega compatibilidad con referencias externas para los trazados de recorte, los marcadores y los servidores de pintura (para las propiedades "fill" y "stroke"). Por ejemplo,
clip-path: url("resources.svg#myPath").
API web
API de Direct Sockets
Permite que las apps web aisladas establezcan comunicaciones directas del protocolo de control de transmisión (TCP) y del protocolo de datagramas de usuario (UDP) con dispositivos y sistemas de red, además de escuchar y aceptar conexiones entrantes.
Exime el encabezado Speculation-Rules de las restricciones de CSP
Actualiza la integración entre las reglas de especulación y CSP para que CSP solo
se aplique a <script type=speculationrules>y no al Speculation-Rules
encabezado. Las políticas de secuencias de comandos de CSP están diseñadas para proteger contra la inyección de secuencias de comandos en HTML, y el modelo de amenazas de CSP no se relaciona con los encabezados HTTP. Esto permite una implementación más sencilla de las reglas de especulación desde las CDN y otros servidores perimetrales.
FedCM como un indicador de confianza para la API de Storage Access
Concilia las APIs de FedCM y Storage Access, ya que una concesión anterior de FedCM es un motivo válido para aprobar automáticamente una solicitud de acceso al almacenamiento.
Cuando un usuario otorga permiso para usar su identidad con un proveedor de identidad (IdP) externo en una entidad emisora (RP), muchos IdP requieren cookies de terceros para funcionar de forma correcta y segura. Esta propuesta tiene como objetivo satisfacer ese requisito de forma privada y segura mediante la actualización de las verificaciones de permisos de la API de Storage Access (SAA) para que no solo acepten la concesión de permisos que otorga un mensaje de acceso al almacenamiento, sino también la concesión de permisos que otorga un mensaje de FedCM.
Una propiedad clave de este mecanismo es limitar la concesión a los casos permitidos explícitamente por la RP con la política de permisos de FedCM, lo que aplica un control por fotograma para la RP y evita la vigilancia pasiva por parte del IdP más allá de las capacidades que FedCM ya otorga.
Valor noopener-allow-popups de COOP
Algunos orígenes pueden contener diferentes aplicaciones con diferentes niveles de requisitos de seguridad. En esos casos, puede ser beneficioso evitar que las secuencias de comandos que se ejecutan en una aplicación puedan abrir y crear secuencias de comandos de páginas de otra aplicación del mismo origen.
En esos casos, puede ser beneficioso que un documento se asegure de que su abridor no pueda crear secuencias de comandos, incluso si el documento del abridor es del mismo origen. El valor noopener-allow-popups de Cross-Origin-Opener-Policy permite que los documentos definan ese comportamiento.
API de Private Aggregation: Aumenta el límite de contribución a 100 para los llamadores de Protected Audience
Permite que los ejecutores de secuencias de comandos de Protected Audience realicen hasta 100 contribuciones por informe de Private Aggregation, en comparación con el límite actual de 20.
Private Aggregation limita la cantidad de contribuciones de histogramas que se pueden incorporar en un solo informe agregable, y descarta cualquier contribución adicional. Los llamadores de Shared Storage pueden evitar el límite invocando otra operación de Shared Storage. Sin embargo, los llamadores de Protected Audience no tienen almacenamiento persistente, por lo que pierden sus contribuciones excedentes al final de la subasta. Ten en cuenta que este cambio es neutral en cuanto a la privacidad, ya que las contribuciones de la API aún están limitadas por el mismo presupuesto de privacidad.
Debido al padding, cada informe de Público protegido tendrá una carga útil más grande, incluso si no necesitaba el límite de contribución más grande. Esperamos que estos informes más grandes aumenten el costo de operar el servicio de agregación.
Relajación del analizador select
Este cambio hace que el analizador de HTML permita etiquetas adicionales en <select>, además de
<option>, <optgroup> y <hr>.
Este cambio es compatible con la función personalizable <select> pero se envía
primero porque se puede hacer por separado y tiene algunos riesgos de compatibilidad sobre los que
el equipo de Chrome desea recibir comentarios.
WebGPU: Distancias de recorte
Agrega la función de GPU opcional clip-distances que permite establecer distancias de recorte definidas por el usuario en los resultados del sombreador de vértices. Esta técnica es particularmente útil para las aplicaciones que necesitan recortar todos los vértices de una escena que están más allá de un plano definido por el usuario, como muchas aplicaciones CAD.
WebGPU: GPUCanvasContext getConfiguration()
Una vez que se llamó a GPUCanvasContext configure() con un diccionario de configuración, puedes usar el método GPUCanvasContext getConfiguration() para verificar la configuración del contexto del lienzo. Incluye miembros de GPU device, format, usage, viewFormats, colorSpace, toneMapping y alphaMode.
Como se explica en el problema 4828,
las apps web pueden usarlo
para detectar si se admite el lienzo HDR en WebGPU.
WebHID en trabajadores dedicados
Habilita WebHID dentro de contextos de trabajadores dedicados. Esto te permite realizar operaciones de E/S y procesamiento de datos pesados desde un dispositivo HID en un subproceso independiente, lo que ayuda a reducir el impacto en el rendimiento del subproceso principal.
WebRTC RTCRtpEncodingParameters.scaleResolutionDownTo
Es una API que configura codificadores WebRTC para ajustar los fotogramas de entrada si son mayores que los valores maxWidth y maxHeight especificados. Esta API es similar a scaleResolutionDownBy, excepto que las restricciones de resolución se expresan en términos absolutos (por ejemplo, 640 x 360) en lugar de términos relativos (por ejemplo, reducir en 2), lo que evita las condiciones de carrera relacionadas con el cambio del tamaño del fotograma de entrada sobre la marcha.
Nuevas pruebas de origen
En Chrome 131, puedes habilitar las siguientes pruebas de origen nuevas .
Estadísticas de reproducción para WebAudio
La función AudioContext.playoutStats permite que una aplicación mida la calidad y la latencia de la reproducción de audio con WebAudio.
API de Summarizer
Es una API de JavaScript para producir resúmenes de texto de entrada, respaldados por un modelo de lenguaje de IA.
Bajas y retiros
En esta versión de Chrome, se presentan las siguientes bajas y retiros. Visita ChromeStatus.com para obtener listas de bajas planificadas, bajas actuales y retiros anteriores.
En esta versión de Chrome, se quitan tres funciones.
Quita la propiedad de posicionamiento de anclaje de CSS inset-area
Con la resolución del CSS Working Group sobre el cambio de nombre de la propiedad inset-area a position-area, esta eliminación limpia la implementación en Chromium para una función que cumple con los estándares.
Quita la capacidad de inhabilitar BeforeunloadEventCancelByPreventDefault
La función BeforeunloadEventCancelByPreventDefault se envió en Chrome 117, pero hay una política empresarial que permite forzar la inhabilitación de esta marca. La política empresarial se quitará en Chrome 131.
Quita el método requestAdapterInfo() no estándar de GPUAdapter
El WebGPU Working Group decidió que no era práctico que requestAdapterInfo() activara un mensaje de permiso, por lo que quitó esa opción y la reemplazó por el atributo info de GPUAdapter para que los desarrolladores web puedan obtener el mismo valor de GPUAdapterInfo de forma síncrona.