Versión beta de Chrome 136

Fecha de publicación: 3 de abril de 2025

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 136 está en versión beta desde el 3 de abril de 2025. Puedes descargar la versión más reciente en Google.com para computadoras o en Google Play Store en Android.

CSS y IU

En esta versión, se agregan seis funciones nuevas de CSS y de IU.

Propiedad dynamic-range-limit de CSS

Permite que una página limite el brillo máximo del contenido HDR.

Ignorar el espacio entre letras en secuencias de comandos cursivas

Esta función agrega lógica para ignorar la configuración de letter-spacing para las secuencias de comandos cursivas, incluso si el desarrollador la especifica según la especificación, para garantizar que el espacio entre letras no interrumpa las palabras.

Para eliminar las filtraciones del historial de navegación del usuario, se les aplica el estilo :visited a los elementos de ancla solo si anteriormente se hizo clic en ellos desde este sitio de nivel superior y origen de marco.

Dado que solo se les aplicará el estilo a los vínculos en los que anteriormente se hizo clic en este sitio y marco, quedarán obsoletos numerosos ataques de canal lateral que se desarrollaron para obtener información de estilo de los vínculos :visited. Ya no les proporcionarán a los sitios información nueva sobre los usuarios.

Obtén más información sobre estas mejoras en la privacidad de los vínculos :visited.

Cambiar el nombre del tipo string attr() a raw-string

El CSS Working Group resolvió reemplazar el tipo string attr() con raw-string.

Por lo tanto, Chrome cambió la sintaxis de attr(), de modo que attr(data-foo string) ahora será attr(data-foo raw-string).

Reserva var() independiente del tipo

La parte de reserva de una función var() no se valida con el tipo de la propiedad personalizada a la que se hace referencia.

print-color-adjust sin prefijo

La print-color-adjust propiedad te permite ajustar los colores en las páginas web impresas. Es lo mismo que -webkit-print-color-adjust, que ya es compatible con Chrome, pero con un nombre estandarizado. No se quita la versión con prefijo -webkit.

API web

Estado interrumpido de AudioContext

Agrega un "interrupted" estado a AudioContextState. Este nuevo estado permite que el UA pause la reproducción en estos casos y habilite las aplicaciones web para que respondan de manera adecuada.

Partición de URLs de BLOB: recuperación y navegación

Como continuación de Storage Partitioning, se implementa la partición del acceso a URLs de BLOB por clave de almacenamiento (sitio de nivel superior, origen de marco y el booleano has-cross-site-ancestor), a excepción de las navegaciones de nivel superior que permanecerán particionadas solo por el origen del marco. Este comportamiento es similar al que implementan actualmente Firefox y Safari, y alinea el uso de la URL de BLOB con el esquema de partición que usan otras APIs de almacenamiento como parte de Storage Partitioning.

Además, ahora se aplica noopener en las navegaciones de nivel superior iniciadas por el renderizador a URLs de BLOB en las que el sitio correspondiente es un sitio cruzado con el sitio de nivel superior que realiza la navegación. Esto alinea a Chrome con un comportamiento similar en Safari, y las especificaciones pertinentes se actualizaron para reflejar estos cambios.

Seguimientos de pila en informes de fallas de páginas web que no responden

Esta función captura la pila de llamadas de JavaScript cuando una página web deja de responder debido a que el código JavaScript ejecuta un bucle infinito o algún otro cálculo muy largo. Esto ayuda a los desarrolladores a identificar la causa de la falta de respuesta. La pila de llamadas de JavaScript se incluye en la API de informes de fallas cuando el motivo es que no responde.

API de Captured Surface Control

La API de Captured Surface Control permite que las aplicaciones web reenvíen eventos de rueda a una pestaña capturada, y lean y cambien el nivel de zoom de una pestaña capturada.

CapturedSurfaceResolution

Expone la relación de píxeles de la superficie capturada mientras se comparte la pantalla. Esta función ayudará a las aplicaciones a conservar sus recursos del sistema o a adaptar la compensación de calidad y ancho de banda según las resoluciones físicas y lógicas de la superficie capturada.

Envía eventos de clic al puntero capturado

Si se captura un puntero mientras se envía el evento pointerup, el evento click se enviará al objetivo capturado en lugar del ancestro común más cercano de los eventos pointerdown y pointerup, según la especificación de UI Event. Para los punteros no capturados, el objetivo click permanece sin cambios.

Sugerencias de compilación explícitas con comentarios mágicos

Permite adjuntar información sobre qué funciones se deben analizar y compilar de forma anticipada en archivos JavaScript. La información se codificará como comentarios mágicos.

Actualizaciones de FedCM: Compatibilidad con varios IdPs, eliminación de la función "agregar otra cuenta" en modo pasivo

Con esta actualización, FedCM puede mostrar varios proveedores de identidad en el mismo diálogo. Esto les proporciona a los desarrolladores una forma conveniente de presentarles a los usuarios todos los proveedores de identidad admitidos. Planeamos abordar primero el caso simple de tener todos los proveedores en la misma llamada get(). También quitaremos la compatibilidad con la función "agregar otra cuenta" en el modo pasivo de FedCM. Esta función permite mostrar un botón "usar otra cuenta" junto con otras cuentas de IdP en el selector. Actualmente, la función no se usa, y las conversaciones de UX nos hicieron creer que admitirla genera un flujo más complicado sin muchos beneficios. Esta función seguirá habilitada en el modo activo de FedCM.

Barras de desplazamiento fluidas

Esta función moderniza las barras de desplazamiento de Chrome (superposición y no superposición) en Windows y Linux para que se ajusten al lenguaje de diseño fluido de Windows 11. Las barras de desplazamiento fluidas que no se superponen estarán habilitadas de forma predeterminada en Linux y Windows. Este cambio también se aplica a Linux porque el diseño de la barra de desplazamiento de Chrome para Linux siempre se alineó con lo que se envía en Windows.

Compatibilidad con el códec H265 (HEVC) en WebRTC

A partir de Chrome 136, HEVC se unirá a VP8, H.264, VP9 y AV1 como códecs compatibles en WebRTC. Se podrá consultar la compatibilidad con la API de MediaCapabilities.

Este códec más nuevo aumentó la eficiencia de compresión (mayor calidad por tasa de bits) en relación con los códecs de generación anterior, como VP8 y H264, y una compatibilidad de hardware muy sólida que se remonta a más de una década. Esto se traduce en una mayor duración de la batería y un menor riesgo de problemas de rendimiento y, según el rendimiento del codificador de hardware subyacente, a menudo mejorará la experiencia visual en los casos en que no estén disponibles los codificadores de hardware VP9 o AV1.

Actualizaciones de compatibilidad con códecs H26x para MediaRecorder

La API de MediaRecorder ahora admite la codificación HEVC, introduce la cadena de códec hvc1.* y agrega códecs nuevos (hev1.* y avc3.*) que admiten video de resolución variable en MP4. Se agregó compatibilidad con la codificación de la plataforma HEVC en WebCodecs en Chrome 130. Como seguimiento, se agregó compatibilidad con la API de MediaRecorder en Chromium. La API ahora admite los tipos de multiplexor MP4 y Matroska con diferentes especificaciones de tipo MIME de HEVC y H.264. La codificación HEVC solo se admite si el dispositivo y el sistema operativo del usuario proporcionan las capacidades necesarias.

Registro y generación de informes de direcciones IP en Chrome Enterprise

Chrome Enterprise mejorará sus capacidades de supervisión de seguridad y respuesta ante incidentes recopilando y registrando direcciones IP locales y remotas, y enviándolas a los registros de investigación de seguridad (SIT). Además, Chrome Enterprise permitirá que, opcionalmente, los administradores envíen las direcciones IP a proveedores externos y propios de SIEM a través del conector de informes de Chrome Enterprise. Esta función estará disponible para los clientes de Chrome Enterprise Core.

Incorpora el iniciador de navegación en la clave de partición de caché HTTP

Se actualiza el esquema de claves de caché HTTP de Chrome para incluir un booleano is-cross-site-main-frame-navigation para mitigar los ataques de filtración entre sitios que involucran la navegación de nivel superior. En particular, esto evitará ataques entre sitios en los que un atacante puede iniciar una navegación de nivel superior a una página determinada y, luego, navegar a un recurso que se sabe que carga la página para inferir información sensible del tiempo de carga. Este cambio también mejora la privacidad, ya que evita que un sitio malicioso use navegaciones para inferir si un usuario visitó un sitio determinado anteriormente.

Compatibilidad de idiomas para CanvasTextDrawingStyles

El elemento DOM <canvas>, como todos los elementos DOM, acepta un atributo lang que se usa para definir el tratamiento específico del idioma para la selección de fuentes (cuando las fuentes tienen glifos específicos de la configuración regional). Los navegadores respetan este atributo. Sin embargo, cuando se crea un OffscreenCanvas, no hay forma de configurar la información de configuración regional, lo que podría generar un estado en el que un lienzo fuera de pantalla produzca resultados renderizados que difieran del lienzo en el que se usa su salida. Esta función agrega un atributo IDL lang a CanvasTextDrawingStyles para brindar control directo sobre el idioma para el dibujo y las métricas de texto.

Informes de la política de permisos para iframes

Presenta un nuevo tipo de incumplimiento llamado "Posible incumplimiento de la política de permisos", que solo analizará la política de permisos (incluida la política de solo informes) y el atributo allow establecido en iframes para detectar el conflicto entre la política de permisos aplicada y los permisos propagados a iframes.

Cuota de almacenamiento informada predecible

Informa una cuota de almacenamiento predecible de la API de Estimate de StorageManager para los sitios que no tienen permisos de almacenamiento ilimitados. Es posible detectar el modo de navegación de un usuario a través de la cuota de almacenamiento informada, ya que el espacio de almacenamiento disponible es mucho menor en el modo Incógnito que en el modo regular.

API de Private Aggregation: Informes de errores agregados

Hay una variedad de condiciones de error que se pueden alcanzar cuando se usa la API de Private Aggregation. Por ejemplo, el presupuesto de privacidad podría agotarse, lo que impediría cualquier otra contribución al histograma. Esta función permite que los desarrolladores registren contribuciones al histograma que solo se deben enviar si se produce un tipo de error en particular. Esta función admite la medición de la frecuencia de las condiciones de error y la división de estas mediciones en dimensiones relevantes especificadas por el desarrollador (por ejemplo, la versión del código implementado). Como los errores en sí pueden ser información entre sitios, no podemos exponerlos a la página para los usuarios sin cookies de terceros. En cambio, esta función reutiliza las canalizaciones de informes agregados y con ruido existentes a través del servicio de agregación.

RegExp.escape

RegExp.escape es un método estático que toma una cadena y muestra una versión de escape que se puede usar como patrón dentro de una expresión regular. Por ejemplo:

const str = prompt("Please enter a string");
const escaped = RegExp.escape(str);
const re = new RegExp(escaped, 'g'); // handles reg exp special tokens with the replacement.

console.log(ourLongText.replace(re));

Reglas de especulación: campo de etiqueta

Permite que los desarrolladores agreguen la etiqueta field a las reglas de especulación. Este campo opcional se puede usar para hacer un seguimiento de la fuente de las reglas de especulación. Por ejemplo, para tratarlos de manera diferente en un servidor intermediario. Todas las etiquetas asociadas con una especulación se enviarán con el encabezado Sec-Speculation-Tags.

Política estricta del mismo origen para la API de Storage Access

Ajusta la semántica de la API de Storage Access para seguir estrictamente la política del mismo origen. Es decir, el uso de document.requestStorageAccess() en un marco solo adjunta cookies a las solicitudes al origen del iframe (no al sitio) de forma predeterminada. Ten en cuenta que la política CookiesAllowedForUrls o los encabezados de acceso a almacenamiento se pueden seguir usando para desbloquear las cookies entre sitios.

Actualización de ProgressEvent para usar el tipo double para loaded y total

ProgressEvent tiene atributos loaded y total que indican el progreso, y su tipo ahora es unsigned long long. Con esta función, el tipo de estos dos atributos cambia a double, lo que le da al desarrollador más control sobre el valor. Por ejemplo, los desarrolladores ahora pueden crear un ProgressEvent con el atributo total de 1 y el atributo loaded que aumenta de 0 a 1 gradualmente. Esto se alinea con el comportamiento predeterminado del <progress> HTML elemento si se omite el atributo max.

Usa DOMPointInit para getCharNumAtPosition, isPointInFill y isPointInStroke

Este cambio alinea el código de Chromium con la especificación más reciente de W3C para SVGGeometryElement y SVGPathElement en términos de uso de DOMPointInit sobre SVGPoint para getCharNumAtPosition, isPointInFill y isPointInStroke.

Creación condicional de Web Authentication (actualizaciones de llaves de acceso)

Las solicitudes de creación condicional de WebAuthn permiten que los sitios web actualicen las credenciales de contraseña existentes a una llave de acceso.

WebGPU: Atributo GPUAdapterInfo isFallbackAdapter

El atributo booleano GPUAdapterInfo isFallbackAdapter indica si un adaptador tiene limitaciones de rendimiento significativas a cambio de una compatibilidad más amplia, un comportamiento más predecible o una privacidad mejorada. Ten en cuenta que es posible que no haya un adaptador de reserva en todos los sistemas.

Nuevas pruebas de origen

En Chrome 136, puedes habilitar las siguientes pruebas de origen nuevas .

API de Audio Output Devices: setDefaultSinkId()

Esta función agrega setDefaultSinkId() a MediaDevices, lo que permite que el marco de nivel superior cambie el dispositivo de salida de audio predeterminado que usan sus submarcos.

Permite que las aplicaciones web comprendan los tiempos de rendimiento bimodal

Las aplicaciones web pueden sufrir una distribución bimodal en el rendimiento de carga de la página debido a factores que están fuera del control de la aplicación web. Por ejemplo:

  • Cuando se inicia un agente de usuario por primera vez (un caso de "inicio en frío"), debe realizar muchas tareas de inicialización costosas que compiten por los recursos del sistema.
  • Las extensiones del navegador pueden afectar el rendimiento de un sitio web. Por ejemplo, algunas extensiones ejecutan código adicional en cada página que visitas, lo que puede aumentar el uso de la CPU y generar tiempos de respuesta más lentos.
  • Cuando una máquina está ocupada realizando tareas intensivas, puede provocar una carga más lenta de las páginas web.

En estos casos, el contenido que la app web intenta cargar competirá con otro trabajo que se realice en el sistema. Esto dificulta la detección de problemas de rendimiento dentro de las aplicaciones web o debido a factores externos.

Un nuevo campo confidence en el objeto PerformanceNavigationTiming permitirá que los desarrolladores determinen si los tiempos de navegación son representativos para su aplicación web.

Credenciales de sesión vinculadas al dispositivo

Es una forma para que los sitios web vinculen de forma segura una sesión a un solo dispositivo.

Permite que los servidores tengan una sesión vinculada de forma segura a un dispositivo. El navegador renovará la sesión de forma periódica según lo solicite el servidor, con una prueba de posesión de una clave privada.

Actualización de la implementación de renderización de texto de Canvas

Los elementos internos de measureText(), fillText() y strokeText() de CanvasRenderingContext2D y OffscreenCanvasRenderingContext2D se reemplazaron por una nueva implementación que admite mejor el texto RTL y el almacenamiento en caché. Esto podría afectar el rendimiento y la salida de texto BIDI, por lo que esta prueba de origen permite que las aplicaciones de lienzo con mucho texto prueben la nueva implementación y notifiquen cualquier problema que puedan encontrar.

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 dan de baja dos funciones.

Los métodos get de Intl Locale Info dejarán de estar disponibles

La API de Intl Locale Info es una propuesta de TC39 de ECMAScript de etapa 3 para mejorar el objeto Intl.Locale exponiendo información de configuración regional, como los datos de la semana (primer día de una semana, día de inicio del fin de semana, día de finalización del fin de semana y día mínimo de la primera semana) y el ciclo de horas de dirección de texto que se usa en la configuración regional. Este cambio quita algunos métodos get obsoletos en un cambio de especificación desde que se enviaron.

Quita HTMLFencedFrameElement.canLoadOpaqueURL().

canLoadOpaqueURL() se reemplazó por navigator.canLoadAdAuctionFencedFrame() en 2023, y llamarlo generó una advertencia de la consola de baja desde que se dirigió a los desarrolladores a la nueva API. No tiene sentido que la función esté adjunta a HTMLFencedFrameElement y, en cambio, debe estar adjunta al objeto navigator (que contiene otros métodos de marco delimitado y subasta de anuncios).