Вы почти не можете.В дополнение к тому, что XPCOM просто не работает в разных процессах, возникают следующие сложности:
- Что если Firefox не работает?
- Что если хранилище паролей зашифровано с помощью мастер-пароля?
- Что если существует более одного профиля Firefox?
Лучшее, что вы могли бы сделать:
- Запустить Firefox с командной строкой, подобной
firefox -url file://foo/bar/extension.xpi
- убедитесь, что Firefox запущен, и пользователю предлагается установить extension.xpi
.Это должно быть загружаемое расширение , чтобы не требовалось перезапускать браузер. - Это расширение получает необходимые данные из
nsILoginManager
(что включает запрос пароля, если для пользователя определен мастер-пароль)) и отправляет его обратно в Thunderbird. - После этого это расширение использует API диспетчера надстроек для удаления самого себя.
Это далеко неплавный пользовательский опыт, конечно.Что касается того, как два расширения (одно в Thunderbird, другое в Firefox) будут взаимодействовать - TCP-сокеты , вероятно, будет самым простым способом.Расширение Thunderbird будет создавать серверный сокет и ждать, пока расширение Firefox подключится к нему.