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 en la lista de ChromeStatus.com. Chrome 136 es una versión beta a partir del 3 de abril de 2025. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store en Android.

CSS y IU

Esta versión agrega seis nuevas funciones de CSS y IU.

Propiedad dynamic-range-limit de CSS

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

Ignora el espaciado entre letras en las letras cursivas

Esta función agrega lógica para ignorar el parámetro de configuración del espaciado entre letras para los textos en cursiva, incluso si el desarrollador lo especifica según las especificaciones, para garantizar que el espaciado entre letras no divida las palabras.

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

Dado que solo se aplica diseño a los vínculos en los que se hizo clic en este sitio y marco antes, los muchos ataques de canal lateral que se desarrollaron para obtener información de diseño de vínculos :visited ahora son obsoletos. Ya no proporcionan 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.

Se cambió el nombre del tipo attr() de string a raw-string.

El grupo de trabajo de CSS resolvió reemplazar el tipo attr() de string por raw-string.

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

Conmutación por error var() independiente del tipo

La parte de resguardo de una función var() no se valida en función del tipo de propiedad personalizada a la que se hace referencia.

print-color-adjust sin prefijo

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

API web

Estado interrumpido de AudioContext

Agrega un estado "interrupted" a AudioContextState. Este nuevo estado permite que la UA pausa la reproducción en estas situaciones y permite que las aplicaciones web 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 la URL 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, noopener ahora se aplica 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 relevantes se actualizaron para reflejar estos cambios.

Pilas de llamadas en los 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 de JavaScript ejecuta un bucle infinito o alguna otra operación de procesamiento muy larga. 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 no responde.

API de Captured Surface Control

La API de Captured Surface Control permite que las aplicaciones web reenvíen eventos de la 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 destino capturado en lugar del ancestro común más cercano de los eventos pointerdown y pointerup según la especificación del evento de la IU. Para los punteros no capturados, el destino click no cambia.

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 proveedores de identidad (IdP) y eliminación de la función "Agregar otra cuenta" en el modo pasivo

Con esta actualización, FedCM puede mostrar varios proveedores de identidad en el mismo diálogo. Esto les brinda a los desarrolladores una forma conveniente de presentar a los usuarios todos los proveedores de identidad compatibles. Planeamos abordar primero el caso simple de tener todos los proveedores en la misma llamada a 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 para 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 llevan a creer que admitirla genera un flujo más complicado sin muchos beneficios. Esta función seguirá funcionando en el modo activo de FedCM.

Barras de desplazamiento fluidas.

Esta función moderniza las barras de desplazamiento de Chrome (superpuestas y no superpuestas) en Windows y Linux para que se ajusten al lenguaje de diseño Fluent de Windows 11. Las barras de desplazamiento de Fluent que no son superpuestas se habilitarán de forma predeterminada en Linux y Windows. Este cambio también se aplica a Linux, ya que el diseño de la barra de desplazamiento de Chrome para Linux siempre se ha alineado 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. La compatibilidad se podrá consultar con la API de MediaCapabilities.

Este códec más nuevo tiene una mayor eficiencia de compresión (mayor calidad por bit rate) en comparación con los códecs de generaciones anteriores, 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 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 VP9 o AV1 de hardware.

Actualizaciones de compatibilidad con el códec H26x para MediaRecorder

La API de MediaRecorder ahora admite la codificación HEVC, presenta la cadena de códecs hvc1.* y agrega códecs nuevos (hev1.* y avc3.*) que admiten videos de resolución variable en MP4. Se agregó compatibilidad con la codificación de plataformas HEVC en WebCodecs en Chrome 130. Como seguimiento, se agregó compatibilidad a la API de MediaRecorder en Chromium. La API ahora admite tipos de muxer de MP4 y Matroska con diferentes especificaciones de tipo mime HEVC y H.264. La codificación HEVC solo es compatible 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 mejora las capacidades de supervisión de seguridad y respuesta ante incidentes recopilando y generando informes de direcciones IP locales y remotas, y enviándolas a los registros de investigación de seguridad (SIT). Además, Chrome Enterprise permitirá que los administradores envíen de forma opcional las direcciones IP a proveedores de SIEM propios y externos con el 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é de HTTP

El esquema de claves de caché HTTP de Chrome se actualizó para incluir un valor booleano is-cross-site-main-frame-navigation que mitiga los ataques de filtración entre sitios que involucran la navegación de nivel superior. Específicamente, 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 la página carga para inferir información sensible de los tiempos 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 establecer la información de configuración regional, lo que podría generar un estado en el que un lienzo fuera de la 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 del dibujo de texto y las métricas.

Informes de la Política de Permisos para iframes

Se introduce 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 solo de informes) y el atributo allow establecido en iframes para detectar el conflicto entre la Política de Permisos aplicada y los permisos propagados a los iframes.

Cuota de almacenamiento informada predecible

Informa una cuota de almacenamiento predecible desde 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 con la cuota de almacenamiento informada, ya que el espacio de almacenamiento disponible es mucho menor en el modo Incógnito que en el modo normal.

API de Private Aggregation: Informes de errores agregados

Hay una variedad de condiciones de error que pueden ocurrir cuando se usa la API de Private Aggregation. Por ejemplo, es posible que se agote el presupuesto de privacidad, lo que impedirá que se realicen más contribuciones de histograma. Esta función permite a los desarrolladores registrar contribuciones de histogramas 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 de varios sitios, no podemos exponerlos simplemente a la página para los usuarios sin cookies de terceros. En su lugar, 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 con 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 de origen. Es decir, usar 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.

Se actualizó ProgressEvent para usar el tipo doble para loaded y total.

ProgressEvent tiene los 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 brinda al desarrollador más control sobre el valor. Por ejemplo, los desarrolladores ahora pueden crear un ProgressEvent con el total de 1 y el loaded que aumenta de 0 a 1 gradualmente. Esto se alinea con el comportamiento predeterminado del elemento HTML <progress> 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 del W3C para SVGGeometryElement y SVGPathElement en términos del uso de DOMPointInit en lugar de SVGPoint para getCharNumAtPosition, isPointInFill y isPointInStroke.

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

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

WebGPU: Atributo isFallbackAdapter GPUAdapterInfo

El atributo booleano isFallbackAdapter GPUAdapterInfo 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 resguardo 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 la trama de nivel superior cambie el dispositivo de salida de audio predeterminado que usan sus tramas secundarias.

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 fuera de su control. Por ejemplo:

  • Cuando se inicia un usuario-agente por primera vez (una situación de "inicio en frío"), debe realizar muchas tareas de inicialización costosas que compiten por recursos en el 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 que las páginas web se carguen más lentamente.

En estas situaciones, el contenido que la app web intenta cargar estará en competencia con otros trabajos que se realizan en el sistema. Esto dificulta detectar si existen problemas de rendimiento dentro de las aplicaciones web o debido a factores externos.

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

Credenciales de sesión vinculada 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 periódicamente según lo solicite el servidor, con un comprobante de posesión de una clave privada.

Actualización de la implementación de renderización de texto del lienzo

Los elementos internos de CanvasRenderingContext2D y measureText(), fillText() y strokeText() de OffscreenCanvasRenderingContext2D se reemplazaron por una nueva implementación que admite mejor el texto y la caché de RTL. Esto podría afectar el rendimiento y el resultado 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, además, informen cualquier problema que puedan encontrar.

Bajas y eliminaciones

Esta versión de Chrome presenta las siguientes bajas y eliminaciones. Visita ChromeStatus.com para ver las listas de bajas planificadas, las bajas actuales y las eliminaciones anteriores.

Esta versión de Chrome da 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 getters que dejaron de estar disponibles en un cambio de especificación desde que se enviaron.

Se quita HTMLFencedFrameElement.canLoadOpaqueURL().

canLoadOpaqueURL() se reemplazó por navigator.canLoadAdAuctionFencedFrame() en 2023, y llamarlo generó una advertencia de la consola de baja desde que se les indicó a los desarrolladores que usaran la nueva API. No tiene sentido tener la función adjunta a HTMLFencedFrameElement y, en su lugar, debe adjuntarse al objeto navigator (que contiene otros métodos de subasta de anuncios y de marco cercado).