W3C home > Mailing lists > Public > public-script-coord@w3.org > July to September 2013

[Bug 20567] Change [[Prototype]] for concept-node-adopt?

From: <bugzilla@jessica.w3.org>
Date: Wed, 21 Aug 2013 21:29:53 +0000
To: public-script-coord@w3.org
Message-ID: <bug-20567-3890-jnTqmft9K0@http.www.w3.org/Bugs/Public/>
https://www.w3.org/Bugs/Public/show_bug.cgi?id=20567

Bobby Holley (:bholley) <bobbyholley@gmail.com> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |bobbyholley@gmail.com

--- Comment #30 from Bobby Holley (:bholley) <bobbyholley@gmail.com> ---
(In reply to comment #27)
> Array, Date, RegExp, Map, and Set do
> not change their prototypes when passed between windows.

Well, they do the same as nodes when they're passed around. This issue only
comes up with adoptNode, which is a very different beast, since it affects a
DOM that generally lives in C++.

Option 1 seems pretty bad IMO. Speccing anything that makes GC behavior visible
feels like a non-starter, and speccing something that requires UAs to leak like
a sieve seems pretty bad as well. I don't think we should put vendors in the
dilemma of correctly implementing a somewhat obscure spec requirement and huge
memory wins on certain (potentially important) sites.

Option 2 seems like the best option to me. Maybe I've spent too much time
working on the implementations here, but it doesn't seem all that surprising
for the prototype to change when the node is adopted. Lots of other stuff
(ownerDoc, parentNode, etc) change as well. WebComponents bindings are probably
removed. After all, the node was adopted from one document to another, so it
seems natural for the JS reflection to move from one global to another.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
Received on Wednesday, 21 August 2013 21:29:55 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:37:50 UTC