WebExtensions en Firefox 53

8 abril, 2017 2:42 por

Esta es una traducción del artículo original publicado en el blog de Mozilla Add-ons.

Firefox 53 está en Beta, así que tenemos una actualización en WebExtensions para ti. Con esta versión, un montón de nuevas API están ahora disponibles para ayudar en la transición de desarrolladores de complementos y desarrolladores de extensiones desde otros navegadores.

Nuevas API

La mayoría de la API browser.browsingData ha sido implementada. Esta API te permite borrar datos desde Firefox que el usuario ha acumulado mientras se navegaba. Esto incluye datos almacenados en los siguientes lugares: datos de plugins, datos de formulario, historial, cookies, descargas, contraseñas, service workers y la memoria cache.

Partes de la API browser.identity fueron implementadas, Esto hace más fácil para las extensiones integrarse con proveedores OAuth. Los métodos getRedirectURL y launchWebAuthFlow han sido implementados, pero las áreas relacionadas a Google Accounts no han sido implementadas.

Además, la API browser.storage.sync estuvo en fase de pruebas, La cual pasó, y ahora está habilitada por defecto. A medida que esta función se extiende a nuestros usuarios, continuaremos haciendo las pruebas. Vale la pena señalar que el servicio de almacenamiento no está implementado para grandes cantidades de datos y no viene con garantías sobre estabilidad o tiempo de actividad.

Una nueva API, browser.contextualIdentities, llegó a Firefox 53 para soportar la funcionalidad de contenedor de seguridad. En Firefox 52, el soporte para contextualIdentities fue agregada para pestañas y almacenamiento de cookies. Esta API brinda acceso para consultar de identidades existentes, crear, actualizar y remover estas identidades.

Como por ejemplo:

browser.contextualIdentities.query({})
    .then((result) => {
        for (let identity of result) {
            console.log(identity);
        }
    });

Nos mostraría como resultado:

Object { name: "Personal", icon: "fingerprint", color: "blue", cookieStoreId: "firefox-container-1" }
Object { name: "Work", icon: "briefcase", color: "orange", cookieStoreId: "firefox-container-2" }
...

Esta API está detrás de la misma preferencia del navegador, privacy.userContext.enabled, de lo que está el resto del código de identidad contextual. Esperamos que la API rastree esta preferencia por el momento.

El trabajo ha comenzado en la API browser.devtools y una mayor fundación de esto llegará con Firefox 54. Esperamos que se implemente en las herramientas de desarrollador en Firefox 54, que permitirá que funcionen muchos complementos centrados en desarrollo.

Cambios en API

Los menús contextuales han tenido una gran mejora. Ahora pueden ser aplicados a pageActions, browserActions, campos de contraseñas, y pestañas.

Item de menú contextual en una pestaña

Item de menú contextual en una pestaña

Se ha realizado un pequeño cambio en los menús contextuales para que ahora hereden los submenú de contexto de sus padres de forma predeterminada.

Hubo un problema anterior en donde requestBody en webRequest no estuvo disponible en las versiones finales de Firefox debido a preocupaciones de rendimiento. Estos problemas han sido resueltos y esta funcionalidad estará disponible las versiones de Firefox 53 en adelante.

Había un incremento significante en rendimiento para browser.tabs.query que acelerará las consultas cuando existe un gran número de pestañas. También en las pestañas, el evento onUpdated ahora se lanzará cuando el título de la pestaña cambie.

Para completar la API browser.sessions, llega el evento browser.sessions.onChanged. Esto le permite a las extensiones detectar cuando se cerró una pestaña recientemente o las ventanas cambiaron.

Ahora pueden insertar CSS dentro de Firefox como una hoja de estilos de usuario. Como por ejemplo:

browser.tabs.insertCSS({..., cssOrigin: "user'})

Finalmente, las teclas de función ahora funcionan en comandos.

Permisos

Con Firefox 53, los permisos requeridos han sido habilitados para las WebExtensions. Los diálogos de premisos están detrás de una preferencia mientras se completa las pruebas de QA de esta funcionalidad. Esperamos que los permisos se habiliten por defecto en Firefox 54. Para activar los permisos, por favor crea una preferencia: extensions.webextPermissionPrompts como una boolean y asígnala como true

Cuando se instala un complemento, el usuario será alertado con algo como esto:

Instalando un complemento

Instalando un complemento

Las actualizaciones procederán normalmente, a menos que actualices los permisos de tu complemento. En este caso, la actualización quedará pendiente. A diferencia de Chrome, el complemento existente continuará trabajando y no es deshabilitado. Los usuarios de Firefox tendrán una notificación en el botón de menú.

Una actualización que incluye cambios de permisos para un complemento

Una actualización que incluye cambios de permisos para un complemento

Y cuando los usuarios hacen clic en el botón, verán un nuevo diálogo de permisos informando de los cambios. En este ejemplo, se muestra que se ha agregado el permiso de nativeMessaging al complemento.

Alerta de permisos en una actualización

Alerta de permisos en una actualización

Finalmente, si tu complemento está siendo cargado de terceros, la notificación cambiará a un nuevo flujo de trabajo. Un ítem en el botón de menú es mostrado (similar al anterior), seguido por una alerta ligeramente diferente:

Una extensión cargada por terceros

Una extensión cargada por terceros

Esta es una gran característica y muchos detalles están siendo finalizados. Así que tus comentarios o bugs nos motivan a que podamos solucionarlos.

Nuevos colaboradores

Muchos colaboradores nos ayudaron con este lanzamiento, ¡muchas gracias a ellos! Ellos son: Srivatsav Gunisetty, Laurent, André Bargull, Rob Wu y Tomislav Jovanovic.

The following two tabs change content below.

AngelFQC

Web Developer at BeezNest Latino
Ingeniero de Sistemas y Computación. Desarrollador PHP. Mozilla Peru. Chamilo LMS Developer.

Compartir artículo:

Join the discussion at foro.mozilla-hispano.org

  • ¡Participa!

    Firefox Friends »
    Agrega botones de Firefox en tu sitio web y comparte tu amor por Mozilla Firefox.
    Armada alucinante »
    Ayuda a otros usuarios en Twitter.
    Colabora con la comunidad »
    En Mozilla lo importante son las personas. Descubre cómo puedes colaborar.

    Boletín Firefox

    Suscríbete al boletín de novedades de Firefox.

  • Descargas

    Descarga los programas de Mozilla.

    Lo más visto

    cc-by-sa