Extensiones del navegador
=========================

Las extensiones pueden extender y modificar la capacidad de un navegador. Las extensiones para Firefox son construidas utilizando las APIs de WebExtension, un sistema para el desarrollo de extensiones multi-navegador. En gran medida, el sistema es compatible con la API de extensión soportada por Google Chrome, Opera y el borrador del grupo de la comunidad del W3C.

Las extensiones escritas para estos navegadores se ejecutarán en la mayoría de los casos en Firefox o Microsoft Edge con sólo unos pocos cambios. La API también es totalmente compatible con multiprocesos de Firefox.

Si tiene alguna idea, pregunta, o necesita ayuda en el proceso de migración de un complemento heredado al uso de las APIs de WebExtension, puede ponerse en contacto con nosotros a través del Discourse de Add-ons o en el canal #webextensions de IRC.

Primeros pasos
--------------

* ¿Qué son las extensiones?
* Tu primera extensión
* Tu segunda extensión
* Anatomía de una extensión
* Ejemplos de extensiones
* ¿Qué sigue?
Conceptos
---------

* Descripción general de la API JavaScript
* Scripts de contenido
* Patrones de coincidencia
* Trabajando con archivos (en-US)
* Internacionalización (en-US)
* Las mejores prácticas de seguridad
* Política de seguridad de contenido (en-US)
* Mensajería nativa (en-US)
* Utilización de las APIs de devtools
* Buenas prácticas para la experiencia de usuario
* Manifestaciones nativas
* Acciones de los usuarios (en-US)
Interfaz de usuario
-------------------

* Introducción
* Botón en la barra de herramientas del navegador
* Botón en barra de herramientas del navegador con una ventana emergente
* Botón en la barra de direcciones
* Botón en barra de direcciones con una ventana emergente
* Elementos en el menú contextual
* Barras laterales
* Página de opciones
* Páginas de extensiones
* Notificaciones
* Sugerencias en la barra de direcciones
* Paneles de herramientas para desarrolladores
* Estilos del navegador (en-US)
Cómo
----

* Interceptar solicitudes HTTP
* Modificar una página web
* Agregar un botón a la barra de herramientas
* Implementar una página de configuración
* Interactuar con el portapapapeles (en-US)
* Trabajar con el API de las pestañas
* Trabajar con el API de los marcadores
* Trabajar con el API de las cookies
* Trabjar con identidades contextuales
* Insertar contenido externo
Portado
-------

* Portar una extensión de Google Chrome
* Portar un complemento heredado de Firefox
* Desarrollo para Firefox para Android
* WebExtensions integradas
* Comparación con el complemento SDK
* Comparación con las extensiones XUL/XPCOM
* Incompatibilidades con Chrome
* Diferencias entre el escritorio y Android
* Diferencias entre implementaciones de API (en-US)
Flujo de trabajo de Firefox
---------------------------

* Experiencia de usuario
* Instalación
* Depuración
* Prueba de funciones persistentes y de reinicio
* Primeros pasos con web-ext
* Referencia del comando web-ext
* Extensiones y el ID del complemento
* Opciones alternativas de distribución
* Solicite los permisos correctos
* Compartir objetos con guiones de página
* Retirando su extensión
* Consejos y trucos (en-US)
* Herramientas de desarrollo para las extensiones del navegador
Reference
---------

### JavaScript APIs

* Descripción general de la API JavaScript
* Tablas de compatibilidad del navegador para las API de JavaScript

#### APIs de JavaScript

* action
* alarms
* bookmarks
* browserAction
* browserSettings
* browsingData
* captivePortal
* clipboard
* commands
* contentScripts
* contextualIdentities
* cookies
* declarativeNetRequest
* devtools
* dns
* dom
* downloads
* events
* extension
* extensionTypes
* find
* history
* i18n
* identity
* idle
* management
* menus
* notifications
* omnibox
* pageAction
* permissions
* pkcs11
* privacy
* proxy
* runtime
* scripting
* search
* sessions
* sidebarAction
* storage
* tabs
* theme
* topSites
* types
* userScripts
* webNavigation
* webRequest
* windows
### Manifest keys

* Resumen del manifest.json
* Compatibilidad del navegador para el manifest.json (en-US)
* action
* author
* background
* browser\_action
* browser\_specific\_settings
* chrome\_settings\_overrides
* chrome\_url\_overrides
* commands
* content\_scripts
* content\_security\_policy
* declarative\_net\_request
* default\_locale
* description
* developer
* devtools\_page
* dictionaries
* externally\_connectable
* homepage\_url
* host\_permissions
* icons
* incognito
* manifest\_version
* name
* offline\_enabled
* omnibox
* optional\_permissions
* options\_page
* options\_ui
* page\_action
* permissions
* protocol\_handlers
* short\_name
* sidebar\_action
* storage
* theme
* theme\_experiment
* user\_scripts
* version
* version\_name
* web\_accessible\_resources