Closed Bug 1614265 Opened 7 months ago Closed 7 months ago

Recreate address book manager in javascript

Categories

(MailNews Core :: Address Book, task)

task
Not set
normal

Tracking

(Not tracked)

RESOLVED FIXED
Thunderbird 75.0

People

(Reporter: darktrojan, Assigned: darktrojan)

References

Details

Attachments

(4 files)

I'm shifting the manager code to javascript and removing the factories model to vastly simplify the code. Although the new version closely resembles the old version (that was the intention) it will be much easier to modify and add features to.

This revision recreates the manager only for the JS directory type. Other types
will be added in later revisions. As such, a number of tests are marked as
failing. Other code has been adjusted due to XPCOM behaving differently when
not crossing from C++ to/from javascript.

Also deleting a directory now notifies listeners after the file (if any) has
been closed and removed, instead of immediately.

This required some adjustment in the C++ implementation of these types.

The Outlook directory factory interface has been repurposed to do the minimum
required - talk to the MAPI code and find directories. Outlook (really Windows
Contacts) has been enabled by default.

Depends on D62394

Pushed by geoff@darktrojan.net:
https://hg.mozilla.org/comm-central/rev/a94a4098acb4
Implement nsIAbManager in javascript. r=mkmelin
https://hg.mozilla.org/comm-central/rev/3204b6752a70
Move escapedVCardToAbCard from nsIAbManager to nsIMsgVCardService. r=mkmelin
https://hg.mozilla.org/comm-central/rev/d575c65cb9ea
Remove old nsAbManager implementation. r=mkmelin
https://hg.mozilla.org/comm-central/rev/a04956310d2f
Reinstate Mac OS, Outlook, and LDAP directory types. r=mkmelin

Status: ASSIGNED → RESOLVED
Closed: 7 months ago
Resolution: --- → FIXED
Target Milestone: --- → Thunderbird 75.0
Regressions: 1617799
Regressions: 1618100
Regressions: 1617797
Regressions: 1619157
Regressions: 1625650
Regressions: 1631238
Regressions: 1653870
Regressions: 1655332
You need to log in before you can comment on or make changes to this bug.