We could probably phase out TreeShared if we were really careful to avoid 
refcount thrash during tree construction/manipulation. I believe this can be 
done with careful use of PassRefPtr and swap() and it would likely be easier to 
understand if Nodes normally had a refcount of 1 instead of 0.

On May 22, 2013, at 10:41 AM, Antti Koivisto <koivi...@iki.fi> wrote:

> TreeShared is essentially an implementation detail of the DOM tree (the only 
> other client besides Node is SVGElementInstance).  It shouldn't be used for 
> anything else.
> 
> TreeShared keeps Nodes alive when they are part of a tree (have a parent 
> node) even when they have zero refcount. This way nodes don't need to 
> explicitly ref and deref their children.
> 
> 
>   antti
> 
> 
> On Wed, May 22, 2013 at 7:26 PM, Bem Jones-Bey <bjone...@adobe.com> wrote:
> Hey all,
> 
> I've read the document at http://www.webkit.org/coding/RefPtr.html, but I 
> still have some questions about using RefPtrs.
> 
> The first one is listed in the "Improving this document" section of the 
> aforementioned documentation:
>         • Perils of programming with TreeShared.
> What does that mean? What gotchas should I be aware of? (Heck, more details 
> on any of the things in "improving this document" would be helpful, and I'll 
> do my best to update the document with anything I learn if that's desired.)
> 
> Also, I've noticed that there's both TreeShared and RefCounted, and they seem 
> fairly similar to my uninitiated eye. What's the difference between the two 
> and when should one use one or the other? Also, are there other 
> templates/classes that I should be aware of?
> 
> Thanks,
> Bem
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev
> 
> _______________________________________________
> webkit-dev mailing list
> webkit-dev@lists.webkit.org
> https://lists.webkit.org/mailman/listinfo/webkit-dev

_______________________________________________
webkit-dev mailing list
webkit-dev@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-dev

Reply via email to