Erro de segurança ao tentar carregar o conteúdo do recurso em um Firefox Addon (SDK)
Estou criando um addon do firefox usando o SDK. Meu objetivo é simples: interceptar um iframe específico e carregar minha própria página HTML (empacotada como um recurso com meu complemento) em vez do conteúdo solicitado originalmente.
Até agora, tenho o seguinte código:
var httpRequestObserver =
{
observe: function(subject, topic, data)
{
var httpChannel, requestURL;
if (topic == "http-on-modify-request") {
httpChannel = subject.QueryInterface(Ci.nsIHttpChannel);
requestURL = httpChannel.URI.spec;
var newRequestURL, i;
if (/someurl/.test(requestURL)) {
var ioService = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
httpChannel.redirectTo(ioService.newURI(self.data.url('pages/test.html'), undefined, undefined));
}
return;
}
}
};
var observerService = Cc["@mozilla.org/observer-service;1"].getService(Ci.nsIObserverService);
observerService.addObserver(httpRequestObserver, "http-on-modify-request", false);
Esse código funciona na medida em que detecta o carregamento correto do iframe e faz o redirecionamento corretamente. No entanto, eu recebo o seguinte erro:
Erro de segurança: Conteúdo emhttp://url.com pode não carregar ou vincular ao jar: file: ///.../pages/test.html.
Como posso contornar essa limitação?