[Webkit-unassigned] [Bug 8850] cocoa bindings - crash when DOM nodes are deleted while NSTreeController+NSTableView are bound
bugzilla-daemon at opendarwin.org
bugzilla-daemon at opendarwin.org
Thu Jun 29 08:00:50 PDT 2006
http://bugzilla.opendarwin.org/show_bug.cgi?id=8850
darin at apple.com changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #9081|review? |review-
Flag| |
------- Comment #14 from darin at apple.com 2006-06-29 08:00 PDT -------
(From update of attachment 9081)
A DOMNodeList is a dynamic list. The list itself shouldn't be changing -- the
contents of it should be changing. I suspect it's a bug that every call to
childNodes produces a distinct DOMNodeList. Existing DOMNodeList objects are
automatically updated to reflect the new child nodes.
I'm not convinced about argument that will/did should be at the same time for
childNodes. I don't think it's good that for KVO we return a distinct static
array of child nodes every time. Wouldn't it be better if the KVO list was
dynamic just the way a DOMNodeList is? I'd think it would be straightforward to
wrap the DOMNodeList in something that is a dynamic NSArray rather than
allocating a static NSArray.
So for KVO, I suspect the node should not be sending a notification at all.
Instead, the list should be sending a notification indicating that its contents
are changing.
As far as the changes to WebCore::Node are concerned, I don't think it's
acceptable to add 12 bytes to every DOM node for this feature. We should
instead use a single bit to identify that a node is observed and store the ref
counts, callbacks, and contexts in a separate data structure (in a hash table,
I would think).
The context pointer should just be void*, not const void*.
--
Configure bugmail: http://bugzilla.opendarwin.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.
More information about the webkit-unassigned
mailing list