Fecha de lanzamiento estable: 29 de abril de 2025
A menos que se indique lo contrario, los siguientes cambios se aplican a la versión del canal estable de Chrome 136 para Android, ChromeOS, Linux, macOS y Windows.
HTML y DOM
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 puede generar un estado en el que un lienzo fuera de la pantalla produce resultados renderizados que difieren del lienzo en el que se usa su salida. Esta función agrega un atributo IDL lang
a CanvasTextDrawingStyles
para brindar a los desarrolladores un control directo sobre el lenguaje del dibujo de texto y las métricas.
Error de seguimiento #385006131 | Entrada de ChromeStatus.com | Especificación
CSS y IU
La propiedad dynamic-range-limit
Permite que una página limite el brillo máximo del contenido HDR.
Error de seguimiento #1470298 | Entrada de ChromeStatus.com | Especificación
Partición del historial de vínculos :visited
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.
Hay una excepción para los "vínculos propios", en los que los vínculos a las páginas propias de un sitio pueden tener el estilo :visited
, incluso si no se hizo clic en ellos en este sitio de nivel superior y origen de marco exactos. Esta exención solo está habilitada en marcos o submarcos de nivel superior que tienen el mismo origen que el marco de nivel superior.
Los beneficios de privacidad se siguen logrando porque los sitios ya saben qué subpáginas visitó un usuario, por lo que no se expone información nueva. Esta fue una excepción solicitada por la comunidad que mejora la experiencia del usuario.
Error de seguimiento #1448609 | Entrada de ChromeStatus.com | Especificación
print-color-adjust
sin prefijo
La propiedad print-color-adjust
te permite ajustar los colores en las páginas web impresas.
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-
.
Documentos de MDN | Error de seguimiento #376381169 | Entrada de ChromeStatus.com | Especificación
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, a partir de Chrome 136, attr(data-foo string)
se convierte en attr(data-foo raw-string)
.
Error de seguimiento #400981738 | Entrada de ChromeStatus.com | Especificación
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 la propiedad personalizada a la que se hace referencia.
Error de seguimiento #372475301 | Entrada de ChromeStatus.com
API web
Envía eventos de clic al puntero capturado
Si se captura un puntero mientras se envía el evento pointerup
, el evento click
ahora se envía al destino capturado en lugar del ancestro común más cercano de los eventos pointerdown
y pointerup
según las especificaciones del evento de la IU.
En el caso de los punteros no capturados, el objetivo click
no se modifica.
Error de seguimiento #40851596 | Entrada de ChromeStatus.com | Especificación
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 de JavaScript.
La información se codifica como comentarios mágicos.
Error de seguimiento #13917 | Entrada de ChromeStatus.com | Especificación
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 con el 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.
Error de seguimiento #398784714 | Entrada de ChromeStatus.com | Especificación
Protected Audience: Text conversion helpers
Las secuencias de comandos de ofertas y puntuación de Protected Audience que se comunican con WebAssembly deben convertir de manera eficiente los datos de tipo de cadena a (y desde) arrays de bytes (por ejemplo, para pasar cadenas dentro y fuera de WebAssembly con el ArrayBuffer de "memoria"). Esto proporciona dos funciones independientes, protectedAudience.encodeUtf8
y protectedAudience.decodeUtf8
, para realizar estas tareas con un orden de magnitud más eficiente que hacerlo en JavaScript.
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));
Entrada de ChromeStatus.com | Especificaciones
Reglas de especulación: campo de etiqueta
Esto permite a los desarrolladores agregar un campo de etiqueta 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
.
Error de seguimiento #381687257 | Entrada de ChromeStatus.com | Especificación
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.
Entrada de ChromeStatus.com | Especificación
Privacidad y seguridad
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.
Error de seguimiento #40941424 | Entrada de ChromeStatus.com | Especificación
Reduce la creación de huellas digitales en la información del encabezado Accept-Language
Reduce la cantidad de información que expone la cadena de valor del encabezado Accept-Language
en las solicitudes HTTP y en navigator.languages. En lugar de enviar una
lista completa de los idiomas preferidos del usuario en cada solicitud HTTP, Chrome
ahora envía el idioma más preferido del usuario
en el encabezado Accept-Language.
Error de seguimiento #1306905 | Entrada de ChromeStatus.com
Identidad
Actualizaciones de FedCM
Permite que FedCM muestre varios proveedores de identidad en el mismo diálogo, ya que todos los proveedores se encuentran en la misma llamada get()
. Esto les proporciona a los desarrolladores una forma conveniente de presentarles a los usuarios todos los proveedores de identidad admitidos.
Chrome 136 también quita la compatibilidad para 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 llevaron a creer que admitirla genera un flujo más complicado sin muchos beneficios. Esta función seguirá habilitada en el modo activo de FedCM.
Error de seguimiento #1348262 | Entrada de ChromeStatus.com | Especificación
Creación condicional de autenticación 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.
Error de seguimiento #377758786 | Entrada de ChromeStatus.com | Especificación
Imágenes y contenido multimedia
AudioContext
Estado interrumpido
Agrega un estado "interrupted"
a AudioContextState
. Este nuevo estado permite que el agente de usuario pause la reproducción durante el acceso de audio exclusivo (VoIP) o cuando se cierra la tapa de una laptop.
Error de seguimiento #374805121 | Entrada de ChromeStatus.com | Especificación
Control de la superficie capturada
Una API web que permite que las aplicaciones web realicen las siguientes acciones:
- Reenvía los eventos de la rueda a una pestaña capturada.
- Lee y cambia el nivel de zoom de una pestaña capturada.
Error de seguimiento #1466247 | Entrada de ChromeStatus.com | Especificación
CapturedSurfaceResolution
Expone la relación de píxeles de la superficie capturada mientras compartes la pantalla.
Esta función ayuda a las aplicaciones a conservar sus recursos del sistema o a adaptar la compensación de calidad sobre el ancho de banda según las resoluciones físicas y lógicas de la superficie capturada.
Error de seguimiento #383946052 | Entrada de ChromeStatus.com | Especificación
Compatibilidad con el códec H265 (HEVC) en WebRTC
Después de este cambio, 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.
Error de seguimiento #391903235 | Entrada de ChromeStatus.com | Especificación
Actualizaciones de compatibilidad con el códec H26x para MediaRecorder
La API de MediaRecorder de Chromium 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 Chromium M130. Como seguimiento, se agregó compatibilidad con la API de MediaRecorder en Chromium. La API ahora admite los tipos de muxer MP4 y Matroska con diferentes especificaciones de tipo mime HEVC y H.264. La codificación HEVC solo se admite si el dispositivo y el sistema operativo del usuario proporcionan las capacidades necesarias.
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
.
Error de seguimiento #40572887 | Entrada de ChromeStatus.com | Especificación
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.
Error de seguimiento #403172841 | Entrada de ChromeStatus.com | Especificación
Cambios en el navegador
Barras de desplazamiento de Fluent
Esta función moderniza las barras de desplazamiento de Chromium (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 sin superposición se habilitarán de forma predeterminada en Linux y Windows. Este cambio también se aplica a Linux, ya que, históricamente, el diseño de la barra de desplazamiento de Chromium para Linux se ha alineado con lo que se envía en Windows. Aún se está decidiendo cómo exponer las barras de desplazamiento superpuestas de Fluent.
Error de seguimiento #1292117 | Entrada de ChromeStatus.com
Pruebas de origen
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.
Prueba de origen | Entrada de ChromeStatus.com | Especificación
Habilita las aplicaciones web para que 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 ralentizar la carga de las páginas web.
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.
Prueba de origen | Error de seguimiento #1413848 | Entrada de ChromeStatus.com | Especificación
Actualización de la implementación de renderización de texto de Canvas
Este no es un cambio expuesto a la Web.
La implementación de CanvasRenderingContext2D
, measureText()
, fillText()
y strokeText()
tiene un cambio drástico. Esto podría afectar el rendimiento, por lo que nos gustaría ejecutar una prueba de origen para que las aplicaciones con mucho lienzo puedan probar la nueva implementación.
Prueba de origen | Error de seguimiento #389726691 | Entrada de ChromeStatus.com
Bajas y eliminaciones
Quitar HTMLFencedFrameElement.canLoadOpaqueURL()
El método HTMLFencedFrameElement
canLoadOpaqueURL()
se reemplazó por navigator.canLoadAdAuctionFencedFrame()
en 2023, y llamarlo generó una advertencia de consola de baja desde que se apuntó a la nueva API. El método se quitó de Chrome 136.