Letras iniciales de CSS, controlador de inicio de la app web, compatibilidad con iframes de origen cruzado para la API de FedCM 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 que se indican aquí a través de los vínculos proporcionados o de la lista en ChromeStatus.com. Chrome 110 es una versión beta a partir del 12 de enero de 2023. Puedes descargar la versión más reciente en Google.com para computadoras de escritorio o en Google Play Store para Android.
CSS
Esta versión agrega dos nuevas funciones de CSS.
Letras iniciales de CSS
Las letras iniciales son letras grandes y decorativas que se usan para comenzar nuevas secciones de texto desde antes de la invención de la imprenta. La propiedad initial-letter
del CSS proporciona una forma de establecer la cantidad de líneas en las que una letra inicial debe hundirse en las siguientes líneas de texto. En el siguiente ejemplo, la inicial se mostrará en tres líneas de texto.
.content::first-letter {
initial-letter: 3;
}
Pseudoclase :picture-in-picture
de CSS
La pseudoclase :picture-in-picture
ayuda a los desarrolladores web a personalizar el reproductor multimedia cuando los videos entran y salen del modo Pantalla en pantalla.
Prueba una demostración de la pseudoclase :picture-in-picture.
API web
AudioContext.setSinkId()
AudioContext.setSinkId
establece el ID del dispositivo de audio que se usará para la salida. Esto permite que AudioContext
enrute el audio a un dispositivo de salida conectado que elija el usuario.
Obtén más información sobre esta función en la entrada Cómo cambiar el dispositivo de salida de destino en Web Audio.
FedCM dentro de un iframe de origen cruzado
Se agregó compatibilidad con iframes de origen cruzado para la API de FedCM a través de una política de permisos. Permite que los sitios web almacenen en la zona de pruebas las secuencias de comandos de los proveedores de identidad que activan la API de FedCM en un iframe de origen cruzado, de modo que no tengan control total sobre toda la página. Esto también permite casos de uso en los que el iframe es el que requiere que el usuario acceda. En ambos casos, el marco superior debe proporcionar el iframe de origen cruzado con la política de permisos identity-credentials-get
.
Sin credenciales de iframe
Sin credenciales de iframe les brinda a los desarrolladores una forma de cargar documentos en iframes de terceros con contextos nuevos y efímeros. Los iframes sin credenciales son una generalización de los iframes sin credenciales de COEP para admitir iframes de terceros que pueden no implementar COEP. Esto quita la restricción de que los iframes de terceros deben admitir el COEP para poder incorporarlos en una página de este tipo y desbloqueará a los desarrolladores que deseen adoptar el aislamiento de origen cruzado.
Obtén más información sobre los iframe sin credenciales.
Método FileSystemHandle::remove()
El método remove()
de FileSystemHandle
habilita el caso de uso común en el que obtienes un identificador de archivo de showSaveFilePicker()
, pero luego decides que no quieres guardarlo y lo borras. Antes de agregar este método, era imposible quitar un archivo o directorio dado su identificador. Debiste obtener el identificador del directorio superior y llamar a FileSystemDirectoryHandle::removeEntry()
.
Precarga activada por la API de Speculation Rules
La precarga recupera el recurso principal para una navegación futura y lo mantiene en la memoria para que se pueda usar y acelerar la próxima navegación. Este lanzamiento incluye la carga previa del mismo sitio y la carga previa entre sitios en el caso de que no haya credenciales para el sitio de destino.
Usa el procesamiento de IDNA no transitorio en las URLs
Se habilitó IDNA 2008 en el modo no de transición para el procesamiento de URLs, lo que alinea el comportamiento de Chrome con Firefox y Safari. Actualmente, Chrome usa IDNA 2008 en modo de transición en el procesamiento de URLs. La diferencia principal entre el modo de transición y el modo no de transición es el manejo de cuatro caracteres conocidos como caracteres de desviación: ß (LATIN SMALL LETTER SHARP S), ς (GREEK SMALL LETTER FINAL SIGMA), ZWJ (Zero width joiner) y ZWNJ (Zero width non-joiner). En el modo de transición, los caracteres de desviación se manejan de la misma manera que en IDNA2003: ß se asigna a ss, ς se asigna a σ y se borran ZWJ y ZWNJ. En el modo no de transición, los dominios que contienen estos caracteres se permiten en los nombres de dominio sin asignación y, por lo tanto, pueden resolverse en diferentes direcciones IP. Por ejemplo, escribir faß.de
en Chrome y Firefox abre sitios diferentes en la actualidad. Si habilitas el IDNA no transitorio en Chrome, se permitirán caracteres de desviación en los nombres de dominio. Firefox y Safari ya realizaron este cambio en 2016 y siguen usando el procesamiento de URLs no de transición.
Controlador de inicio de la app web
Agrega un miembro del manifiesto de la app web launch_handler
que permita que las apps web personalicen su comportamiento de inicio en todos los tipos de activadores de inicio de apps. Por ejemplo, lo siguiente hará que todos los inicios de la app de ejemplo enfoquen una ventana de la app existente y la naveguen (si existe) en lugar de iniciar siempre una ventana de la app nueva.
{
"name": "Example app",
"start_url": "/index.html",
"launch_handler": {
"client_mode": "navigate-existing"
}
}
política de permisos de uso compartido en la Web
Controla el acceso a navigator.share()
. De forma predeterminada, los iframes de terceros no tienen permiso para usar la API de Compartir con la Web.
Pruebas de origen en curso
En Chrome 110, puedes habilitar las siguientes pruebas de origen nuevas.
Compatibilidad con No-Vary-Search en la memoria caché de carga previa de navegación
Habilita la recuperación previa para que coincida incluso si cambian los parámetros de consulta de la URL. El encabezado de respuesta HTTP No-Vary-Search
declara que se pueden ignorar algunas o todas las partes de una búsqueda de URL para la coincidencia de caché. Puede declarar que el orden de las claves de los parámetros de consulta no debe provocar fallas de caché, que parámetros de consulta específicos no deben provocar fallas de caché o que solo ciertos parámetros de consulta conocidos deben provocar fallas de caché. Se podría aplicar a varias cachés, pero esta entrada hace referencia a la compatibilidad con la caché de precarga.
PerformanceResourceTiming.deliveryType
Expone información sobre cómo se publicó un recurso. Por ejemplo, es útil identificar los recursos que se entregaron desde la caché (actualmente expuestos a través de transferSize
) y las navegaciones que la página anterior cargó previamente.
Entrada de rendimiento de SoftNavigation
Expone las heurísticas de navegación suave (experimentales) a los desarrolladores web, con PerformanceObserver y el cronograma de rendimiento.
Regístrate para la prueba de heurísticas de navegación suave.
Reglas de especulación: Publicación a través del encabezado Speculation-Rules
Actualmente, los desarrolladores solo pueden especificar reglas de especulación con etiquetas de secuencia de comandos intercaladas. La función propuesta proporciona una alternativa a través del encabezado "Speculation-Rules". Su valor debe ser una URL a un recurso de texto con el tipo de MIME application/speculationrules+json
. Las reglas del recurso se agregarán al conjunto de reglas del documento.
Reglas de especulación: reglas de origen de documentos
Es una extensión de la sintaxis de las reglas de especulación que permite que el navegador obtenga URLs para la especulación de los elementos de vínculo en una página. Pueden incluir criterios que restrinjan cuáles de estos vínculos se pueden usar.
X-Requested-With en WebView
Prueba de baja para conservar el comportamiento heredado de X-Requested-Header
en WebView de Android. Actualmente, este encabezado se establece con el nombre del paquete de la app de incorporación como valor, pero este comportamiento se quitará en un lanzamiento lento. Durante la baja, esta prueba permitirá que los propietarios de sitios sigan recibiendo el encabezado mientras migran para dejar de usarlo.
En otra entrada de blog, se proporcionará más información sobre esta baja. Regístrate en la prueba de baja de X-Requested-With aquí.
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 las listas de baja planificada, baja actual y eliminación anterior.
Esta versión de Chrome quita dos funciones.
Se quita WebSQL en contextos no seguros
WebSQL ahora se quita en contextos no seguros. Te recomendamos que cambies a SQLite Wasm en el navegador con el respaldo del sistema de archivos privado de origen.
Quita window.webkitStorageInfo
Se quita la compatibilidad con la API de cuota de almacenamiento heredada, window.webkitStorageInfo. Originalmente, Chrome implementó la API de cuota con prefijo, que fue reemplazada inmediatamente por la API de Quota, que también dejó de estar disponible. Ningún otro navegador implementó la API de cuota de almacenamiento heredada, que dejó de estar disponible desde 2013.