Novedades de Chrome 120 para extensiones

Chrome 120 ya está disponible en versión beta e incluye muchas actualizaciones interesantes para los desarrolladores de extensiones de Chrome.

Ha sido un año muy ajetreado para el equipo de Extensiones de Chrome. Con la versión beta de Chrome 120 que se realizó ayer, la plataforma de extensiones está dando otro gran paso hacia adelante. Para obtener un resumen de lo que sucedió este año, consulta nuestras actualizaciones trimestrales de julio y octubre. Sigue leyendo para conocer las novedades de Chrome 120 para extensiones.

Cerramos las brechas en la plataforma

Con el lanzamiento de Chrome 120, cerraremos las brechas restantes en la plataforma que se indican en nuestra página de problemas conocidos de Manifest V3. La nueva API de userScript y la compatibilidad con la administración de archivos en ChromeOS son los dos elementos restantes de la lista que ahora podemos tachar. Junto con los cambios descritos en la actualización trimestral anterior, estamos muy contentos con el estado actual de la plataforma de extensiones de Chrome y lo que logramos durante el año pasado.

Nueva API de userScripts

Llegó la compatibilidad con la secuencia de comandos del usuario Las secuencias de comandos del usuario son fragmentos de código (por lo general relativamente pequeños) que las extensiones pueden insertar en páginas web para modificar la apariencia o el comportamiento de estas. El usuario puede crearlas directamente o descubrirlas en varios repositorios diferentes de secuencias de comandos de usuario de la Web. A partir de Chrome 120, las extensiones de Manifest V3 ahora pueden administrar la recopilación de secuencias de comandos de usuario y determinar cuándo y cómo insertarlas en las páginas web.

Existe una diferencia significativa entre la compatibilidad con secuencias de comandos del usuario en Manifest V2 y Manifest V3. Debido a que las secuencias de comandos de usuario son potentes y requieren una gran confianza en el autor de la secuencia de comandos del usuario, el equipo de Chrome decidió que los usuarios deben habilitar el modo de desarrollador antes de poder ejecutar una secuencia de comandos del usuario.

Página Extensiones
Página Extensiones (chrome://extensions)

Nuestro nuevo ejemplo de userScript presenta un enfoque simple para detectar si el modo de desarrollador está habilitado y proporcionar un flujo de integración sencillo.

Ejemplo de flujo de integración para secuencias de comandos de usuario
Integra a los usuarios cuando el Modo de desarrollador esté inhabilitado.

Para comenzar, consulta la documentación o la muestra oficial.

Límites más altos del conjunto de reglas de DNR estáticos

Aumentamos significativamente el límite de 10 a 50 para los conjuntos de reglas estáticas habilitadas. Además, aumentamos de 50 a 100 la cantidad total de conjuntos de reglas estáticas permitidas. Enviamos este aviso a los comentarios que recibimos en el grupo de la comunidad de extensiones web.

Nueva API de ReadingList

Chrome introdujo la lista de lectura en 2021. El año pasado, el equipo de Chrome facilitó aún más el acceso a la lista de lectura mediante el panel lateral. Con Chrome 120, agregamos la capacidad de las extensiones de Chrome para crear, leer, actualizar y borrar entradas de listas de lectura. Para obtener más información, consulta los documentos de la API y nuestra nueva muestra.

Lista de lectura de Chrome que muestra páginas de documentos de extensiones.
El panel lateral de la lista de lectura en Chrome.

Control de archivos en ChromeOS

El manejo de archivos permite que las extensiones abran archivos con extensiones de archivo y tipos de MIME especificados de manera similar al manejo de archivos de plataforma web. Consulta Manejo de archivos en ChromeOS para obtener más información sobre su uso.

Captura de pantalla del diálogo de archivo abierto con extensión en ChromeOS
Abre archivos en una extensión en ChromeOS.

Activa una alarma en 30 segundos

Esta es una pequeña actualización, pero aborda una brecha importante en el ciclo de vida del service worker. Debido a la naturaleza controlada por eventos de los service workers, la forma recomendada de activar un evento en el futuro es usar chrome.alarms. La API de Alarms garantiza que el evento se active incluso si el service worker se cierra mientras tanto.

Pero hay una traba. Antes de Chrome 120, el período más corto para activar una alarma era de un minuto. Sin embargo, los service workers se apagan después de 30 segundos de inactividad. Por lo tanto, no había una manera directa de programar una alarma para que se active en 45 segundos, porque cuando se usa setTimeout() para establecer un evento en 45 segundos, el service worker podría apagarse antes de que se activara el evento.

A partir de Chrome 120, ahora puedes activar un evento en:

await chrome.alarms.create('demo-default-alarm', {
   periodInMinutes: 0.45
 });

Resumen

Estamos muy entusiasmados con el progreso que ha tenido la plataforma de extensiones durante el último año. Chrome 120 es otro gran paso con el aumento de los límites de la DNR y la compatibilidad con secuencias de comandos del usuario.