xpcom/ds/nsIAtom.idl has this disconcerting commment about nsIAtom: > /* > * Should this really be scriptable? Using atoms from script or proxies > * could be dangerous since double-wrapping could lead to loss of > * pointer identity. > */ And nsIAtom isn't used much from script. Barely at all in Firefox, and a small amount in Thunderbird; in both cases via nsIAtomService. So it would be nice to convert nsIAtom to a vanilla C++ class, and it seems doable. I think this would allow all nsIAtom methods (including refcounting) to be devirtualized, too.
This is super valuable, I've seen refcounting on atoms in some profiles, FWIW.
Note to self: bug 1334834 is about converting a bunch of comm-central IDL methods from nsIAtoms to strings.
(In reply to Nicholas Nethercote [:njn] from comment #2) > Note to self: bug 1334834 is about converting a bunch of comm-central IDL > methods from nsIAtoms to strings. We removed use of nsIAtoms from mailnews/nsIFolder*.idl and we'll remove remaining usage of nsIAtom in bug 1394215.
> We removed use of nsIAtoms from mailnews/nsIFolder*.idl and we'll remove > remaining usage of nsIAtom in bug 1394215. Thank you. I realized there are some more uses in ChatZilla and Inspector. I didn't see those at first because I didn't realize they were put in the mozilla/ directory when you check out comm-central with the client.py script.
Well, you got yourself the job to look at three patches in bug 1394215 and pick one of them ;-)
Neat. Is there more work here for 57?
(In reply to David Bolter [:davidb] (NeedInfo me for attention) from comment #6) > Neat. Is there more work here for 57? There are two more steps, though they be done in time for 57: - Bug 1400459: devirtualizing - Bug 1400460: renaming
> There are two more steps, though they be done in time for 57: I meant to say: they *won't* be done in time for 57.
All blocking bugs have landed.
Assignee: nobody → n.nethercote
Status: NEW → RESOLVED
Closed: Last year
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.