On Mon, Aug 20, 2012 at 11:56 PM, Ryosuke Niwa <[email protected]> wrote: > No. Allowing the host to be moved without removing automatic transaction is > what causes the problem because automatic transactions need to keep relevant > nodes alive. > > Essentially, this has the same problem has the magic iframe. We can > alternatively change the way automatic transactions work so that they don't > retain the original nodes but that model has its own problems.
I'm not entirely sure what "the magic iframe" is. But this simply seems like a shortcoming in the WebKit memory model. Dealing with cycles in C++ objects is a solved problem in Gecko and I'm surprised if this doesn't happen in other situations in WebKit too. How do you for example deal with the fact that if you create two nodes, A and B, and make A a child of B. As long as a reference is held to either A or B you need to keep both nodes alive. But as soon as the only thing holding references to A and B are just A and B, both nodes need to be GCed. / Jonas
