mozilla
Los resultados de tu búsqueda

    Estructura de un paquete de instalación

     

    Las Aplicaciones XULRunner, extensiones, y temas comparten todos una estructura de directorios común, y en algunos casos el mismo paquete puede ser usado como una aplicación XULRunner independiente además de como una extensión instalable en otra aplicación. La estructura básica de un paquete (bundles) puede incluir cualquiera de los siguientes ficheros:

    /install.rdfManifiesto de instalación de tema/extensión
    /application.iniManifiesto de lanzamiento de la aplicación
    /components/*Componentes y ficheros XPT       (>=1.7)
    /defaults/preferences/*.jsOpciones por defecto             (>=1.7)
    /plugins/*Plugins NPAPI                    (>=1.8)
    /chrome.manifestManifiesto de registro de Chrome (>=1.8)
    /chrome/icons/default/*Iconos de la ventana             (>=1.8)
    

    Por supuesto, una extensión no necesita (y normalmente no tendrá) todos estos directorios. Los temas están limitados por razones de seguridad y normalmente no pueden proporcionar un chrome.manifest que registre un tema y un fichero JAR.

     

    Subdirectorios específicos de una plataforma

    En algunos casos una única extensión o aplicación puede necesitar incluir componentes binarios o plugins para múltiples plataformas, o los autores de temas pueden querer incluir varios ficheros JAR específicos a una plataforma. Para facilitar las cosas en el primer caso, el cargador de la extensión/aplicación tendrá unos subdirectorios especiales previstos específicamente para los ficheros concretos de una plataforma (a partir del Toolkit/Gecko 1.8, Firefox/Thunderbird 1.5). La cadena de texto de la plataforma es definida por el proceso de compilación del toolkit con un único valor para la combinación del sistema operativo, arquitectura del procesador y el compilador. El formato de la cadena de texto de la plataforma es:

    {OS_TARGET}_{TARGET_XPCOM_ABI}
    

    Todos los ficheros que son cargados desde el directorio principal de la extensión son cargados desde el subdirectorio

    /platform/{cadena de texto de la plataforma}
    

    si existe. Por ejemplo, si un vendedor de plugins que busque el dejarlo disponible para un usuario de ordenadores con Linux, Macintosh y Windows, este proporcionará los siguientes ficheros:

    /platform/Linux_x86-gcc3/plugins/libMyPlugin.so
    /platform/WINNT_x86-msvc/plugins/MyPlugin.dll
    /platform/Darwin_ppc-gcc3/plugins/libMyPlugin.dylib
    

    Dado que los ficheros XPT no dependen de la plataforma, cualquier fichero XPT asociado entraría en el directorio de componentes genérico:

    /components/MyPlugin.xpt
    

    Si una extensión tiene código específico a una plataforma no binaria (como el código que utiliza la base de registros de Windows desde un script), también puede utilizar el identificador del sistema operativo como subdirectorio de plataforma:

    /platform/WINNT/components/registerDoctype.js
    

    Cuando un fichero JAR específico a una plataforma es usado, cada directorio de plataforma debe tener su propio fichero chrome.manifest:

    chrome.manifest
    chrome/mytheme-base.jar
    platform/Darwin/chrome.manifest
    platform/Darwin/chrome/mytheme-mac.jar
    platform/WINNT/chrome.manifest
    platform/WINNT/chrome/mytheme-win.jar
    

    El proceso de arranque analiza en primer lugar el directorio base, después los directorios de plataforma aplicables (en primer lugar /{OS_TARGET}/, a continuación /{OS_TARGET}_{TARGET_XPCOM_ABI}/). Cuando las preferencias por defecto se definen en varios directorios, los que se cargan al final tienen prioridad sobre los que se cargan antes.

    Ficheros de extensión específicos a una aplicación

    Además de los ficheros de extensión listados más arriba, las aplicaciones pueden leer ficheros suplementarios desde extensiones. Por ejemplo, Firefox 1.5 y superiores pueden leer los plugins de búsqueda de Sherlock desde /searchplugins/*.src Firefox 2 y superiores además pueden leer Plugins MozSearch y OpenSearch desde

    /searchplugins/*.xml
    

    y los diccionarios Myspell desde

    /dictionaries/*.{aff|dic}
    

    Referencias oficiales de Herramienta API

    Etiquetas y colaboradores del documento

    Etiquetas: 
    Contributors to this page: StripTM, Nukeador, teoli, Mgjbot
    Última actualización por: teoli,