Idéias necessárias. Javascript + XPCOM + C ++ add-on

Portanto, há um WebRTC dentro do Firefox e há uma classe conveniente para tornar possível a comunicação RTC chamada RTCPeerConnection, que pode ser instanciada e usada a partir do aplicativo JavaScript. Você pode encontrar algum exemplo decente dele em[1]. E aqui estou eu com o meu transporte personalizado (se você estiver interessado -[2]) gostaria de usá-lo para comunicação RTC. Resumidamente, eu preciso "substituir" a camada de transporte do mecanismo WebRTC pelo meu transporte personalizado, fornecendo a mesma interface JavaScript semelhante a RTCPeerConnection para o usuário. E, de preferência, não deve parecer uma versão personalizada do Firefox (sem patches). Então eu desenvolvi a idéia de extensão, que será escrita em C ++ (já que precisa estar vinculada à biblioteca WebRTC e minha biblioteca de transporte customizada) e de alguma forma irá expor sua interface para o Javascript. E eu encontrei o XPCOM que, como eu pensei, pode me fornecer isso. Então eu comecei a lutar com informações desatualizadas e escassas sobre este tópico e depois de 3 dias de luta, finalmente terminei com o add-on construído. Infelizmente, não consigo acessá-lo a partir do Javascript, devido ao erro "Components.classes is undefined" do Javascript. E parece que não há como acessá-lo. Ou eu estou errado nisso?

Aqui está o Javascript:

function check()
{
console.debug("checking...");   

const {Cc,Ci,Cu} = require("chrome");
var rtc = Components.classes["@named-data.net/ndnrtc;1"].createInstance();
rtc = rtc.QueryInterface(Ci.ndINrtc);   

console.debug("rtc: "+rtc);
}

Meu componente évisível com o XPCOM Viewer addon e o código acima eupode executar no console enquantopágina vazia está aberto no Firefox.

Com tudo isso, gostaria de perguntar aos especialistas do Firefox sobre possíveis abordagens que posso adotar para implementar minha ideia. Agradeço antecipadamente

1 https://apprtc.appspot.com/

2 http://named-data.net

questionAnswers(1)

yourAnswerToTheQuestion