Boris Zbarsky wrote:
On 10/21/12 1:34 PM, Brendan Eich wrote:
Ah, ok.  We'd need to find all the places in the old document that
reference the node, but that might be feasible.

By tracking all the time, or scanning only upon an adoptNode? Hrm.

We'd only need the Rust references, since the JS ones would be handled by the brain transplant.

Also, in Rust there would be no references from the normal DOM. And none from layout, as Patrick says.

Right, got that.

So we'd only need to worry about places in the Rust code on the DOM side that hold references to nodes that are not in the DOM tree. There shouldn't be that many (e.g. the -moz-element stuff would have that, perhaps, and things like image loads and whatnot), and we'd have to teach all of them about adoption. Or do some sort of scan on adopt. Or something. Either way, in terms of perf the hit would be when adopting only.

Is adoptNode an important API? It's not a good design in my view, but I'm in a glass house when it comes to criticizing DOM APIs :-P. Perhaps it's ok for performance to be in a penalty box for adoptNode.

/be
_______________________________________________
dev-servo mailing list
dev-servo@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-servo

Reply via email to