Make XPCVariant into a normal script holder class
Categories
(Core :: XPConnect, task, P3)
Tracking
()
Tracking | Status | |
---|---|---|
firefox106 | --- | fixed |
People
(Reporter: mccr8, Assigned: mccr8)
References
Details
Attachments
(1 file)
(deleted),
text/x-phabricator-request
|
Details |
There's no reason I can see for XPCVariant (or more specifically its script object holding subclass XPCTraceableVariant) to use the weird XPCRootSetElem infrastructure. This begins to root an object when it is created, and stops rooting it when it is destroyed. I have a patch to fold XPCTraceableVariant into XPCVariant, and also make it a normal CCed script holder class.
Assignee | ||
Comment 1•2 years ago
|
||
The traverse method no longer traverses the JS val, because that will
now be automatically traced by the CC using the trace method.
The purple methods are unused.
I marked a few methods that regular callers shouldn't use protected.
Assignee | ||
Comment 2•2 years ago
|
||
I'm doing a try push but this at least passed the plain XPConnect Mochitests.
It is possible that the other XPCRootSetElem, nsXPCWrappedJS, could be converted in the same way, but it is a bit weird, and I'm looking at ripping out a lot of the weirdness, so I'm going to leave it alone for now.
Comment 4•2 years ago
|
||
bugherder |
Description
•