omo substituir o componente XPCOM incorporado no Firefox addo
Estou iniciando uma incursão no desenvolvimento de extensões do Firefox pela primeira vez e até agora tem sido bastante confortável, mas estou com um problema; uma das coisas que preciso fazer sobrescrevendo o nsIPromptService interno e substituindo-o por algo própri
Percorri o tutorial básico de criação de componentes XPCOM aqui e fiz com que o olá mundo funcionasse:
https: //developer.mozilla.org/en/creating_xpcom_component
E tudo o que parece funcionar bem, mas nada que eu possa encontrar ou pesquisar mostra como posso substituir uma interface do javascript. Eu vi coisas em C ++ e Java que parecem capazes de sobrescrever os componentes internos, mas não consigo encontrar nada sobre isso usando javascript, e apenas tentar alterar o ID do contrato não funcionou; quando tento obter o serviço a partir do ID do contrato (como abaixo), ele retorna a versão original do componente intern
var myComponent = Components.classes['@mozilla.org/embedcomp/prompt-service;1']
.getService(Components.interfaces.nsIPromptService);
Existe algo realmente óbvio aqui que estou perdendo? Essa é a maneira errada de substituir componentes (não consigo encontrar nada em lugar nenhum, então não tenho muita certeza do que devo fazer ...).