Cartas iniciales de CSS, controlador de inicio de la aplicación web, compatibilidad con iframe 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 mencionan aquí en los vínculos proporcionados o en la lista en ChromeStatus.com. Chrome 110 estará en fase beta a partir del 12 de enero de 2023. Puedes descargar la versión más reciente en Google.com para computadoras o en Google Play Store para Android.
CSS
En esta versión, se agregan dos funciones nuevas de CSS.
Cartas iniciales de CSS
Las letras iniciales son letras grandes y decorativas que se utilizan para comenzar nuevas secciones de texto desde antes de la invención de la impresión. La propiedad initial-letter
de CSS proporciona una forma de establecer el número de líneas que una letra inicial debe humedecer en las siguientes líneas de texto. En el siguiente ejemplo, la letra inicial se mostrará en tres líneas de texto.
.content::first-letter {
initial-letter: 3;
}
Pseudoclase de CSS :picture-in-picture
La seudoclase :picture-in-picture
ayuda a los desarrolladores web a personalizar el reproductor multimedia cuando los videos ingresan a pantalla en pantalla y salen de ella.
Prueba una demostración de la seudoclase :pantalla en pantalla.
APIs 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 el usuario elija.
Obtén más información sobre esta función en la entrada Cómo cambiar el dispositivo de salida en el audio web.
FedCM dentro de iframe de origen cruzado
Agrega compatibilidad con iframe de origen cruzado para la API de FedCM a través de una política de permisos. Permite que los sitios web realicen una zona de pruebas de las secuencias de comandos de los proveedores de identidad que activan la API de FedCM en un iframe de origen cruzado, para que no tengan control total sobre toda la página. Esto también permite casos de uso en los que se trata del iframe en sí, lo 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
.
IFrame sin credenciales
La función IFrame sin credenciales les brinda a los desarrolladores una forma de cargar documentos en iframes de terceros usando contextos nuevos y efímeros. Iframe sin credenciales es una generalización del COEP sin credenciales para admitir iframes de terceros que podrían no implementar COEP. Esto quita la restricción de que los iframes de terceros deben admitir el COEP para que se puedan incorporar en una página COEP y desbloqueará a los desarrolladores que busquen adoptar el aislamiento de origen cruzado.
Obtén más información sobre el 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 controlador de archivo de showSaveFilePicker()
, pero luego decides que no quieres guardar el archivo y lo borras. Antes de agregar este método, era imposible quitar un archivo o directorio dado su controlador. Tenías que obtener el controlador del directorio superior y llamar a FileSystemDirectoryHandle::removeEntry()
.
Recuperación previa activada por la API de reglas de especulación
La carga previa recupera el recurso principal para una navegación futura y lo mantiene en la memoria a fin de que pueda usarse para acelerar la siguiente navegación. Este lanzamiento incluye la carga previa del mismo sitio y la carga previa entre sitios en caso de que no haya credenciales presentes para el sitio de destino.
Usa el procesamiento de IDNA no transicional en las URLs
Habilitar IDNA 2008 en modo sin transición para el procesamiento de URL, alineando el comportamiento de Chrome con Firefox y Safari Actualmente, Chrome usa IDNA 2008 en el Modo de transición para el procesamiento de URLs. La principal diferencia entre el modo transicional y el no transicional es el manejo de cuatro caracteres conocidos como caracteres de desviación: ß (LATIN SMALL LETTER SHARP S), Н (VERSIÓN FINAL DE LETURA VERDE), ZWJ (unión de ancho cero) y ZWNJ (no unión de ancho cero). En el modo de transición, los caracteres de desviación se manejan de la misma manera que IDNA2003: ß se asigna a ss, {} se asigna a Goog, y se eliminan ZWJ y ZWNJ. En el modo no transicional, los dominios que contienen estos caracteres se permiten en nombres de dominio sin asignación y, por lo tanto, pueden resolverse en diferentes direcciones IP. Por ejemplo, si escribes faß.de
en Chrome, Firefox abrirá diferentes sitios hoy. Si habilitas el IDNA no transicional en Chrome, se permitirán caracteres de desvío en los nombres de dominio. Firefox y Safari ya realizaron este cambio en 2016 y siguen utilizando el procesamiento de URL 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 app existente y la naveguen (si existe) en lugar de iniciar siempre una ventana nueva de la app.
{
"name": "Example app",
"start_url": "/index.html",
"launch_handler": {
"client_mode": "navigate-existing"
}
}
política de permisos de uso compartido web
Controla el acceso a navigator.share()
. De forma predeterminada, los iframes de terceros no tienen permiso para usar la API de Web Share.
Pruebas de origen en curso
En Chrome 110, puedes habilitar las nuevas pruebas de origen que se muestran a continuación.
Compatibilidad con No-Vary-Search en la caché de carga previa de la navegación
Habilita la carga 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 algunas o todas las partes de una consulta de URL pueden ignorarse para fines de coincidencia de caché. Puede declarar que el orden de las claves del parámetro de consulta no debe causar errores de caché, que los parámetros de consulta específicos no deben causar errores de caché o que solo ciertos parámetros de consulta conocidos deberían causar errores de caché. Podría aplicarse a varias cachés, pero esta entrada hace referencia a la compatibilidad con el almacenamiento en caché con carga previa.
PerformanceResourceTiming.deliveryType
Expone la información sobre cómo se entregó un recurso. Por ejemplo, son útiles los recursos que se entregaron desde la caché (actualmente expuestos a través de transferSize
) y las navegaciones que se cargaron previamente en la página anterior.
Entrada de rendimiento de SoftNavigation
Expone la heurística de navegación suave (experimental) a los desarrolladores web, mediante PerformanceObserver y el cronograma de rendimiento.
Regístrate para obtener la prueba de la heurística de navegación suave.
Reglas de especulación: Entrega a través del encabezado Speculation-Rules
Actualmente, los desarrolladores solo pueden especificar reglas de especulación usando etiquetas de secuencias de comandos intercaladas. La función propuesta ofrece 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 basadas en documentos
Es una extensión de la sintaxis de reglas de especulación que permite al navegador obtener URLs para especular a partir de elementos de vínculo de una página. Pueden incluir criterios que restrinjan cuál de estos vínculos puede utilizarse.
Solicitud X en WebView
Prueba de baja para conservar el comportamiento heredado de X-Requested-Header
en WebView de Android. Actualmente, este encabezado está configurado 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 les permitirá a los propietarios de los sitios seguir recibiendo el encabezado mientras realizan la migración para dejar de usarlo.
Más información sobre la baja en una entrada de blog aparte. 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 obtener una lista de las bajas planificadas, las bajas actuales y las eliminaciones anteriores.
En esta versión de Chrome, se quitan dos funciones.
Quita Web SQL en contextos no seguros
Web SQL ahora se quita en contextos no seguros. Te recomendamos que cambies a SQLite Wasm en el navegador respaldado por el sistema de archivos privados de origen.
Quita window.webkitStorageInfo
Se quitó la compatibilidad con la API de cuota de almacenamiento heredado, window.webkitStorageInfo Originalmente introducida en 2011, Chrome implementó la API de cuota con prefijo, que fue inmediatamente reemplazada por la API de Quota, que también quedó obsoleta. La API de la cuota de almacenamiento heredada nunca se implementó en ningún otro navegador y se marcó como obsoleta desde 2013.