Open Bug 381190 Opened 17 years ago Updated 2 years ago

[meta] Reduce code duplication in js xpcom by using the import module (XPCOMUtils.jsm)

Categories

(Thunderbird :: General, enhancement)

enhancement

Tracking

(Not tracked)

People

(Reporter: richwklein, Unassigned)

References

()

Details

(Keywords: meta)

Attachments

(1 obsolete file)

User-Agent:       Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.4pre) Gecko/20070518 Firefox/2.0.0.3 Navigator/9.0a13
Build Identifier: 

This is the Thunderbird bug to start using the new the new js code sharing system
from bug 238324.  This should greatly reduce the amount of code duplication for
javascript xpcom module registration.

Reproducible: Always

Steps to Reproduce:
1.
2.
3.
Depends on: 238324
The firefox version of this is bug 381189 and the toolkit version is bug 381191.
This patch replaces module registration in nsBookmarkTransactionManager.js with the new XPCOMUtils.jsm's generateNSGetModule.  File size was reduced from 13.895KB to 13.068KB.  I've built with this applied and it does not seem to have any ill affects.

Asking review from Myk Melez since he was the last to update this file.
Attachment #265295 - Flags: review?(myk)
Comment on attachment 265295 [details] [diff] [review]
nsBookmarkTransactionManager Patch

Sorry this shoul have went on Bug 381189
Attachment #265295 - Attachment is obsolete: true
Attachment #265295 - Flags: review?(myk)
confirming to get on bug radar.  Richard, it might be easier to file individual bugs for individual components or libraries.  That way, when a component gets the library treatment, we can mark that bug FIXED.
Status: UNCONFIRMED → NEW
Ever confirmed: true
Per Alex's comment #4, I'm going to morph this into a tracking bug and file individual bugs for each component.
Keywords: meta
Summary: Reduce code duplication in js xpcom by using the import module (XPCOMUtils.jsm) → [meta] Reduce code duplication in js xpcom by using the import module (XPCOMUtils.jsm)
Cool, I'm looking forward to the bugs and hopefully for some patches :)
(In reply to comment #5)
> Per Alex's comment #4, I'm going to morph this into a tracking bug and file
> individual bugs for each component.

If all you're doing is replacing the nsIModule and nsIFactory implementations, please don't. One bug per major code area is sufficient, since you're making essentially the same change to all of the components.
There has been some discussion that one bug is sufficient for each major area
of change.  I can file individual bugs or place all the patches here.  Below is
the list of files for Thunderbird that should be changed:

directory/xpcom/datasource/nsLDAPDataSource.js
mail/components/phishing/nsPhishingProtectionApplictaion.js
mail/components/shell/nsSetDefaultMail.js
mail/components/nsMailDefaultHandler.js
mail/extensions/newsblog/js/newsblog.js
mailnews/addrbook/src/nsAbLDAPAttributeMap.js
mailnews/extensions/mdn/src/mdn-service.js
mailnews/extensions/offline-startup/offlineStartup.js
mailnews/extensions/smime/src/smime-service.js

If anyone else wants to take on some of these files feel free.
Blocks: 381191
Depends on: 410727
Assignee: mscott → nobody
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: