Closed
Bug 664452
Opened 13 years ago
Closed 13 years ago
Unlink content/xul more
Categories
(Core :: XUL, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: smaug, Assigned: smaug)
References
Details
Attachments
(1 file, 1 obsolete file)
13.05 KB,
patch
|
peterv
:
review+
|
Details | Diff | Splinter Review |
No description provided.
Attachment #539552 -
Flags: review?(peterv)
Comment 1•13 years ago
|
||
Comment on attachment 539552 [details] [diff] [review] patch Review of attachment 539552 [details] [diff] [review]: ----------------------------------------------------------------- Looks great, except for nsXULDocument::Destroy. ::: content/xul/document/src/nsXULDocument.cpp @@ +636,5 @@ > OnPrototypeLoadDone(PR_TRUE); > } > > +void > +nsXULDocument::Destroy() We should be removing Destroy, not add more to it. Why doesn't the existing unlinking code work here? ::: content/xul/document/src/nsXULPrototypeDocument.cpp @@ +198,5 @@ > nsXULPrototypeElement) > cb.NoteXPCOMChild(static_cast<nsIScriptGlobalObject*>(tmp->mGlobalObject)); > NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager, > nsNodeInfoManager) > + for (PRUint32 i = 0; i < tmp->mPrototypeWaiters.Length(); ++i) { You need to add NS_CYCLE_COLLECTION_NOTE_EDGE_NAME here.
Assignee | ||
Comment 2•13 years ago
|
||
(In reply to comment #1) > > +void > > +nsXULDocument::Destroy() > > We should be removing Destroy, not add more to it. Why doesn't the existing > unlinking code work here? Actually, I think that is a leftover from some earlier state of the patch. I'll re-test.
Assignee | ||
Comment 3•13 years ago
|
||
Attachment #539552 -
Attachment is obsolete: true
Attachment #539552 -
Flags: review?(peterv)
Attachment #542798 -
Flags: review?(peterv)
Comment 4•13 years ago
|
||
Comment on attachment 542798 [details] [diff] [review] patch Review of attachment 542798 [details] [diff] [review]: ----------------------------------------------------------------- ::: content/xul/document/src/nsXULPrototypeDocument.cpp @@ +200,1 @@ > cb.NoteXPCOMChild(static_cast<nsIScriptGlobalObject*>(tmp->mGlobalObject)); Might be able to use NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NSCOMPTR_AMBIGUOUS here? @@ +201,5 @@ > NS_IMPL_CYCLE_COLLECTION_TRAVERSE_NATIVE_MEMBER(mNodeInfoManager, > nsNodeInfoManager) > + for (PRUint32 i = 0; i < tmp->mPrototypeWaiters.Length(); ++i) { > + NS_CYCLE_COLLECTION_NOTE_EDGE_NAME(cb, "mPrototypeWaiters[i]"); > + cb.NoteXPCOMChild(static_cast<nsINode*>(tmp->mPrototypeWaiters[i].get())); Same here? Not sure, so no big deal if you can't.
Attachment #542798 -
Flags: review?(peterv) → review+
Assignee | ||
Comment 5•13 years ago
|
||
http://hg.mozilla.org/mozilla-central/rev/6cf983334e7a
Status: NEW → RESOLVED
Closed: 13 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•