RESOLVED FIXED Bug 21642
Abstract out active object tracking
https://bugs.webkit.org/show_bug.cgi?id=21642
Summary Abstract out active object tracking
Alexey Proskuryakov
Reported 2008-10-16 09:57:42 PDT
Currently there are two kinds of active objects (XMLHttpRequest and MessagePort), but there will be more in the near future. We should abstract out as much code as possible to avoid tracking them all separately in Document.
Attachments
proposed patch (33.98 KB, patch)
2008-10-17 00:18 PDT, Alexey Proskuryakov
sam: review+
Alexey Proskuryakov
Comment 1 2008-10-17 00:18:46 PDT
Created attachment 24454 [details] proposed patch MessagePort is a special case, because these need to be tracked for cross-heap GC.
Sam Weinig
Comment 2 2008-10-17 00:53:18 PDT
Comment on attachment 24454 [details] proposed patch + ActiveDOMObject(Document* document, void* upcastPointer); The document parameter name here is not needed. + template<class T> void setPendingActivity(T* This) + { + ASSERT(This == this); We don't usually have variables that start with a capital letter. Perhaps thisObject? +} // namespace WebCore + +#endif // MessagePort_h You meant ActiveDOMObject_h I think. My main concern with this patch is the name ActiveDOMObject, which I don't think conveys the idea intended. I also think it may be cleaner to store the upcaster pointer in the ActiveDOMObject instead of the HashMap. r=me.
Alexey Proskuryakov
Comment 3 2008-10-17 01:12:38 PDT
Committed revision 37649. Discussed suggestions on IRC - sadly, we don't have an idea for a better name.
Note You need to log in before you can comment on or make changes to this bug.