Closed Bug 210984 Opened 22 years ago Closed 22 years ago

XPI extensions cannot add entries in the Account Manager tree

Categories

(SeaMonkey :: MailNews: Account Configuration, defect)

defect
Not set
major

Tracking

(Not tracked)

VERIFIED FIXED

People

(Reporter: patrick, Assigned: mscott)

Details

Attachments

(2 files)

User-Agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030529 Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.4) Gecko/20030529 After a discussion with Scott, I'm trying to better integrate Enigmail into Mozilla Thunderbird. I want to create an XPI that adds a new pane to the settings of the tree of each account. Although the whole logic is dynamic (like smime prooves), the account manager has a limitation that prevents the creation of extensions that are not part of standard Mozilla. If I want to create an extension xxx, the account manager seems to expect two files, chrome://messenger/content/am-xxx.xul and chrome://messenger/locale/am-xxx.properties. However, if I want to place my files in these locations, I would have to add them to messenger.jar and en-US.jar - but that is not the idea of an XPI. The account manager should either search for am-xxx.xul and am-xxx.properties in other locations than chrome://messenger/... or upon registration of the pane, an additional paramater could identify the chrome directory where the pane is stored, e.g. chrome://enigmail/... Reproducible: Always Steps to Reproduce: Actual Results: if am-xxx.xul and am-xxx.properties are not in messenger.jar / en-US.jar, the subtree of each account contains an empty item, and an empty pane is shown when clicking on it Expected Results: standard behavior of account manager tree
taking
Assignee: sspitzer → scott
Status: UNCONFIRMED → NEW
Ever confirmed: true
Attached patch the fixSplinter Review
Patrick, You'll just need to add something like the following to your account manager extension JS file: PGPService.prototype.name = "pgp"; PGPService.prototype.chromePackageName = "pgp-mime"; That will make the account manager expect the following files: That will expect these files chrome://enigmail/content/am-pgp.xul and chrome://enigmail/locale/am-pgp.properties
typo on the chrome urls: chrome://pgp-mime/content/am-pgp.xul and chrome://pgp-mime/locale/am-pgp.properties given my earlier example.
Patrick, I just checked this in. You should be good to go. Let me know if you have any problems.
Status: NEW → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Scott, you'll most likely want to grep through your patch and change places like: aExtenstionName to: aExtensionName
works as expected. Thanks Scott!
Status: RESOLVED → VERIFIED
Attachment #127750 - Flags: superreview?(scott)
Attachment #127750 - Flags: review?(patrick.brunschwig)
Comment on attachment 127750 [details] [diff] [review] Patch to fix 'extenstion' into 'extension' steve thanks for the fix. Just go ahead and check it in. r/sr=mscott
Attachment #127750 - Flags: superreview?(scott) → superreview+
I've checked in the patch. Leaving as verified FIXED.
Comment on attachment 127750 [details] [diff] [review] Patch to fix 'extenstion' into 'extension' clearing review request as the patch is checked in
Attachment #127750 - Flags: review?(patrick.brunschwig)
Is there a way to have this included in Mozilla 1.4.2? This would allow me to provide the much more advanced versions of Enigmail with per-account settings.
Product: Browser → Seamonkey
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: