MathML, enfoque condicional para getDisplayMedia(), sistema de archivos privados de origen en Android y mucho más.
A menos que se indique lo contrario, los cambios que se describen a continuación 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 mencionadas aquí a través de los vínculos proporcionados o en la lista de ChromeStatus.com. Chrome 109 estará en versión beta a partir del 1 de diciembre de 2022. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store para Android.
CSS
Compatibilidad automática de rangos para descriptores de fuentes dentro de la regla @font-face
Las fuentes variables brindan a los usuarios la oportunidad de elegir qué tan grueso, inclinado o ancho debe ser el tipo de letra, mediante los descriptores font-weight
, font-style
y font-stretch
dentro de la regla @font-face
. El grupo de trabajo de CSS agregó un nuevo valor de auto
para estos descriptores, que ahora es el valor inicial. Este valor se implementa en 109 para que coincida con la nueva especificación.
Unidad de longitud de CSS lh
La unidad <length>
del CSS lh
es equivalente al valor calculado de la propiedad de altura de línea en el elemento en el que se usa. Esto permite que se le otorgue a <textarea>
una altura equivalente a la cantidad de líneas de texto esperadas.
Propiedad hyphenate-limit-chars
del CSS
La propiedad hyphenate-limit-chars
especifica la cantidad mínima de caracteres en una palabra con guion. Cuando se aplica la separación silábica, la cantidad mínima óptima de caracteres en la palabra, antes o después del guion, puede variar según el diseño de la página o el idioma. Esta propiedad permite un control más preciso de la separación silábica para una mejor tipografía en la Web. También puede ayudar a las páginas internacionales cuando la configuración predeterminada no es óptima.
Ajustar el ancho del borde, el contorno y la regla de columnas antes del diseño
Actualmente, Blink ajusta el ancho del borde en el momento de la pintura. Esto puede provocar un espacio visible de 1 px entre el borde de un elemento principal y el fondo de un elemento secundario cuando el borde se redondea hacia abajo durante la pintura. Esto sucede porque el ajuste reduce el valor, pero el diseño lo redondea hacia arriba para calcular la posición del elemento secundario (por ejemplo, el ancho del borde se establece en 10.75 píxeles, redondeado a 10 píxeles en el tiempo de pintura y a 11 en el momento del diseño). Con este cambio, Blink se comportará como Gecko y WebKit, lo que mejorará la interoperabilidad.
MathML
Chrome 109 es compatible con MathML Core, un lenguaje para describir la notación matemática que se puede incorporar en HTML y SVG. MathML se renderiza de una manera compatible con CSS con OpenType MATH y se expone a través de las APIs de accesibilidad de la plataforma. El estilo MathML se habilita mediante las funciones de CSS, incluidas las dedicadas al diseño matemático:
La propiedad math-depth
La propiedad math-shift
La propiedad math-style
El valor math
de la propiedad display
El nombre math
font-family
El valor math-auto
de la propiedad text-transform
La interfaz MathMLElement
proporciona una forma conveniente de manipular MathML en secuencias de comandos.
APIs web
Confirmación de pago segura en Chrome Android
Chrome 109 en Android admite la confirmación de pago seguro (SPC), que es un estándar web propuesto que permite a los clientes autenticarse con una entidad emisora de tarjetas de crédito, un banco o cualquier otro proveedor de servicios de pago mediante un autenticador de plataforma que, por lo general, se activa con la función de desbloqueo de pantalla de un dispositivo, como un sensor de huellas dactilares. Esto suele ocurrir durante un protocolo de autenticación de pagos, como EMV 3-D Secure o Open Banking. Por ejemplo, EMV 3-D Secure es compatible con SPC en su versión de especificaciones v2.3. Anteriormente, anunciamos el lanzamiento de SPC para Google Chrome en macOS y Windows, y proporcionamos guías para desarrolladores para el registro y la autenticación.
Enfoque condicional
El enfoque condicional extiende getDisplayMedia()
agregando un objeto CaptureController
que se puede pasar como parámetro. Este objeto expone un método setFocusBehavior()
. Al llamar a este método, una app puede controlar si la pestaña o ventana capturadas se enfoca cuando se inicia la captura, o si la página en ella debe retener el foco.
MediaTrackSupportedConstraints.suppressLocalAudioPlayback
Es común que los colegas se reúnan en una sala para que uno de ellos pueda presentar desde su laptop a una solución de conferencias en la sala con un monitor y bocinas dedicadas. Por lo general, el presentador silencia su propia laptop y usa a los oradores externos, que suelen sonar más fuertes. Esto también garantiza que el audio esté sincronizado con el video. La restricción de audio suppressLocalAudioPlayback
ahorra tiempo aquí. Si se establece en true
, indica que el navegador debe dejar de retransmitir audio a las bocinas locales cuando se inicie la captura.
Código de estado de respuesta HTTP en la API de Resource Timing
Agrega un campo a PerfomanceResourceTiming
para indicar el estado de la respuesta HTTP cuando se recuperó el recurso. Esto proporciona una forma directa de saber si un recurso falló en la carga para los desarrolladores que usan la API de Resource Timing.
Sistema de archivos privados de origen (OPFS) en Android
Chrome 109 habilita la parte del sistema de archivos privados de origen (OPFS) de la API de File System Access en Android. Esto incluye toda la superficie de la API de File System Access, menos los métodos show{OpenFile, SaveFile, Directory}Picker()
y la integración de la API de arrastrar y soltar. Con la API de File System Access en OPFS, los sitios pueden acceder a su sistema de archivos privados por origen y pueden realizar operaciones de archivos a través de FileSystemSyncAccessHandle
con un rendimiento mejorado.
Renderización previa de origen cruzado en el mismo sitio activada por la API de reglas de especulación
Anteriormente, Chrome iniciaba la renderización previa del mismo origen que se activaba mediante la API de reglas de especulación. Chrome 109 expande la cobertura para permitir también la activación de páginas de origen cruzado en el mismo sitio. Esta renderización previa se realizará con credenciales y acceso al almacenamiento, pero esos objetivos de renderización previa deberán habilitarse mediante el encabezado Supports-Loading-Mode: credentialed-prerender
.
Lectores de WebTransport BYOB
Admite lectores de BYOB (trae tu propio búfer) para el transporte web para permitir la lectura en un búfer proporcionado por el desarrollador. Los lectores de BYOB pueden minimizar las copias de búfer y reducir las asignaciones de memoria.
Pruebas de origen en curso
En Chrome 109, puedes habilitar las siguientes pruebas de origen nuevas.
API de NotRestoredReason para la memoria caché atrás/adelante
La API de NotRestoredReason informará la lista de motivos por los que no se publica una página desde BFcache en una estructura de árbol de marcos mediante la API de PerformanceNavigationTiming.
Regístrate en la prueba de origen de la API de NotRestoredReason.
Solicitudes preliminares de Acceso a redes privadas para subrecursos
La función envía una solicitud de comprobación previa de CORS antes de cualquier solicitud de red privada para subrecursos, y pide permiso explícito del servidor de destino. Una solicitud de red privada es cualquier solicitud de un sitio web público a una dirección IP privada o localhost, o de un sitio web privado (por ejemplo, una intranet) a localhost. El envío de solicitudes preliminares mitiga el riesgo de ataques de falsificación de solicitudes entre sitios contra dispositivos de red privada, como routers, que a menudo no están preparados para defenderse de esta amenaza.
Bajas y eliminaciones
Esta versión de Chrome presenta las bajas y las eliminaciones que se indican a continuación. Visita ChromeStatus.com para ver una lista de las bajas planificadas, las bajas actuales y las eliminaciones anteriores.
Bajas
No hay nuevas bajas en esta versión de Chrome.
Eliminaciones
Esta versión de Chrome quita una función.
Quitar Event.path
Event.path
es una API no estándar que muestra la ruta de acceso del evento, que es un array de los objetos en los que se invocarán los objetos de escucha. Solo Blink es compatible con esto, lo que causa problemas de compatibilidad web. Los desarrolladores web deben cambiar a la API estándar equivalente Event.composedPath()
, que muestra el mismo resultado.