Make SVG webidl implementation support expandos properly without having to remove [Constant] from them.
Categories
(Core :: SVG, defect)
Tracking
()
People
(Reporter: longsonr, Assigned: longsonr)
References
Details
Attachments
(1 file, 5 obsolete files)
Assignee | ||
Updated•9 years ago
|
Assignee | ||
Comment 1•9 years ago
|
||
Assignee | ||
Updated•9 years ago
|
Comment 2•9 years ago
|
||
Assignee | ||
Comment 3•9 years ago
|
||
Assignee | ||
Comment 4•9 years ago
|
||
![]() |
||
Comment 5•9 years ago
|
||
![]() |
||
Comment 6•9 years ago
|
||
![]() |
||
Comment 7•9 years ago
|
||
![]() |
||
Comment 8•9 years ago
|
||
![]() |
||
Comment 9•9 years ago
|
||
![]() |
||
Comment 10•9 years ago
|
||
![]() |
||
Comment 11•9 years ago
|
||
Comment 12•9 years ago
|
||
![]() |
||
Comment 13•6 years ago
|
||
It might set expandos on them and care about those.
Or use the tearoff as a weakmap key.
Assignee | ||
Comment 14•6 years ago
|
||
Assume that GetTearoff2 will eventually be renamed and replace GetTearoff
What do I pass to ImplCycleCollectionTraverse?
What is supposed to call Traverse?
Do I need to change anything else of SVGAnimatedPreserveAspectRatio.cpp or callers of its methods?
![]() |
||
Comment 15•6 years ago
|
||
Assignee | ||
Comment 16•6 years ago
|
||
So the goal here is to hold a strong ref to the thing in the tearoff table,
effectively?
The goal is to have the webidls be able to maintain their [Constant] modifiers that the SVG spec says they should have. I think the consequence for our implementation is what you're saying above though. I.e. the answer to your question is yes.
That gets me to here, although this doesn't compile because the ImplCycleCollectionTraverse functions don't match anything.
a) is it right to have 2 ImplCycleCollectionTraverse calls, i.e. one for DOMSVGAnimatedPreserveAspectRatio and one for DOMSVGPreserveAspectRatio
b) Do the classes have to inherit/implement some other class so that this compiles?
c) if we remove tearoffs from the hashtables in the cycle collector we don't remove in the destructors, right?
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Updated•6 years ago
|
Assignee | ||
Comment 17•6 years ago
|
||
Also regarding 3) I don't need to call ImplCycleCollectionUnlink anywhere do I?
![]() |
||
Comment 18•6 years ago
|
||
Assignee | ||
Comment 19•6 years ago
|
||
Assignee | ||
Comment 20•5 years ago
|
||
Assignee | ||
Updated•5 years ago
|
Assignee | ||
Comment 21•5 years ago
•
|
||
This appears to traverse but it doesn't work because all of the newly added tests fail. Have I got something wrong with the test or is there something else I need to do to the code?
Note that If I take out all the CC/GC calls from the mochitest then it passes.
Assignee | ||
Comment 22•5 years ago
|
||
So far I've figured out how to preserve expandos and leak, or not preserve expandos and not leak. If I addref the pointer being added to the tearoff then the expando is preserved but it leaks even if I release it in the unlink/destructor.
Assignee | ||
Comment 23•5 years ago
|
||
This patch doesn't work and I don't know why. In its current state it doesn't leak though.
Assignee | ||
Updated•5 years ago
|
Updated•5 years ago
|
Comment hidden (off-topic) |
Comment 25•3 years ago
|
||
Sorry, there was a problem with the detection of inactive users. I'm reverting the change.
Updated•2 years ago
|
Description
•