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