Extendiendo la web

Foro sobre los plugins y las diferentes extensiones que permiten ampliar las posibilidades de las aplicaciones Mozilla
METALY

Extendiendo la web

Mensajepor METALY » Lun Sep 19, 2011 6:16 pm

Este complemento es un ejemplo de como habilitar un dominio para mostrar contenido xul y acceder al chrome.

http://mozos.net/remote.xpi

Tendreis que reiniciar aunque no os lo solicite.

Podeis ponerlo a prueba visitando http://mozos.net/main.xul

Avatar de Usuario
ElTxolo
Moderador
Moderador
Mensajes: 9277
Registrado: Sab Feb 19, 2005 5:48 pm
Ubicación: Localhost
Contactar:

Re: Extendiendo la web

Mensajepor ElTxolo » Lun Sep 19, 2011 6:53 pm

METALY escribió:Este complemento es un ejemplo de como habilitar un dominio para mostrar contenido xul y acceder al chrome.

http://mozos.net/remote.xpi

Remote xul, está deshabilitado por defecto desde Firefox 4+ por ser un problema de seguridad (bug #546857).
Además de existir ya una extensión para ese cometido, desde hace tiempo (October 6, 2010') Imagen
ImagenImagen

Imagen
Imagen Imagen
Cómo hacer preguntas inteligentes ;)

[Mozilla/5.0 (X11; Linux x86_64; en-US; rv:52.0) Gecko/20180711 SeaMonkey/2.49.4]
[Mozilla/5.0 (X11; Linux x86_64; en-US; rv:54.0) Gecko/20170619 SeaMonkey/2.51]

METALY

Re: Extendiendo la web

Mensajepor METALY » Lun Sep 19, 2011 7:57 pm

Cierto, fue gracias a esa extension que descubri como cargar contenido xul.
Estuve leyendo el codigo de la misma hasta capturar su esencia:

Código: Seleccionar todo

permissionManager = Cc["@mozilla.org/permissionmanager;1"].getService(Ci.nsIPermissionManager);
ioService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);

permissionManager.add(ioService.newURI("http://mozos.net", null, null), "allowXULXBL", 1);


Pero eso no era todo, ya que aunque el xul es mostrado
no tiene mayores privilegios que cualquier pagina web.
Para activar los permisos hay que habilitar la pref
signed.applets.codebase_principal_support
y solicitar desde el script en cuestion lo siguiente
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
con lo cual se preguntara al usuario si desea permitirlo.
En mi extension se muestra como crear ese permiso
de modo que el usuario no necesite intervenir.


Volver a “Extensiones y plugins”

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado