1
Firefox에 저장된 사용자 이름/암호를 가져오고 해당 계정을 Thunderbird로 가져 오는 Thunderbird 확장 프로그램을 만들고 있습니다. 이 결과는 nsILoginManager이 필요하지만 Thunderbird 확장판에서 작동하게하는 방법을 모르겠습니다. 그렇게 할 수 있습니까?Thunderbird 확장 프로그램에서 Firefox XPCOM 구성 요소 호출
Firefox에 저장된 사용자 이름/암호를 가져오고 해당 계정을 Thunderbird로 가져 오는 Thunderbird 확장 프로그램을 만들고 있습니다. 이 결과는 nsILoginManager이 필요하지만 Thunderbird 확장판에서 작동하게하는 방법을 모르겠습니다. 그렇게 할 수 있습니까?Thunderbird 확장 프로그램에서 Firefox XPCOM 구성 요소 호출
당신은 거의 할 수 없습니다. XPCOM에 단순히 다른 프로세스에서 작동하지 않는 것 외에도 다음과 같은 복잡한 문제가 있습니다.
당신이 될 것입니다 할 수있는 가장 좋은 :
firefox -url file://foo/bar/extension.xpi
같은 명령 줄 - 파이어 폭스가 실행되고 사용자가 extension.xpi
를 설치하라는되어 있는지 확인합니다. 브라우저를 다시 시작하지 않아도되도록 bootstrapped extension이어야합니다.nsILoginManager
(사용자가 마스터 암호가 정의되어있는 경우 암호 프롬프트가 포함됨)에서 필요한 데이터를 가져 와서 다시 Thunderbird로 보냅니다.물론 부드러운 사용자 경험이 아닙니다. 두 확장 (Thunderbird에서 하나, Firefox에서 다른 하나)이 어떻게 통신하는지에 관해서는 - TCP sockets이 가장 쉬운 방법 일 것입니다. Thunderbird 확장은 서버 소켓을 만들고 Firefox 확장이 연결될 때까지 기다립니다.
답장을 보내 주셔서 감사합니다. 질문에 대답하기 위해 nsILoginManager는 현재 프로필 폴더로 이동하고 key3.db 및 signons.sqlite를 사용하므로 Firefox 2가 복사 할 수 있는지 여부는 중요하지 않습니다. 이는 여러 개의 Firefox 프로파일에도 적용됩니다. 내가 직면 한 문제는 현재 key3.db를 덮어 쓰는 것이 불가능하기 때문에 이러한 새로운 key3.db 및 signons.sqlite 파일을 사용하도록 nsILoginManager를 만드는 방법입니다. 이 문제를 해결할 수있는 방법이 있습니까? nsILoginManager를 사용할 수 없다면 내 확장 프로그램에서 직접 암호 해독을 시도하고 있습니다 만, 그 설정을 찾을 수는 없습니다. – wayne