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

https://www.w3.org/Bugs/Public/show_bug.cgi?id=20567

--- Comment #60 from Dominic Cooney <dominicc@chromium.org> ---
(In reply to Bobby Holley (:bholley) from comment #59)
> Dominic - any updates with respect to comment 57? I'm meeting up with anne,
> heycam, and bz in two weeks, and it's likely that we'll do some talking
> about this.
> 
> (I can't remember if you're at Google SF, but if you are, we'll be just
> around the corner, and should meet up).

Great! I'm in Tokyo. No travel planned. I might be able to dig up another
Googler for you though. If you can forward notes to a list that would be great.

re: Web Components, I think this issue specifically affects Custom Elements. I
believe any interaction with Shadow DOM and HTML Imports will be the same as an
interaction with an ordinary node (ShadowRoot or LINK.)

Custom Elements are special because they have an author-supplied prototype and
callbacks. This is pretty analogous to having an event handler, so maybe
whatever solution works for event handlers could be adapted to apply to Custom
Elements?

Not sure if this interests you but I can tell you about the status quo with
Custom Elements in Chrome:

Chrome doesn't swizzle the prototype when a node is adopted (not Custom
Elements nor any other node.) But we also don't want to leak, so a Custom
Element's callbacks only work as long as the context it was registered in is
alive.

This means if you have an IFRAME, register X-A in there, and move an X-A into
the parent frame's document its callbacks will keep working provided the frame
is alive. If you remove the frame, the callbacks stop firing (and incidentally
we free the IFRAME, its document, etc.) The element's prototype still points to
the author-supplied one, though.

So far I've had one bug report about this behavior. The author expected their
callbacks to continue firing indefinitely.

I think the idea of a callback that lets the author switch an element's
definition sounds promising. In the aforementioned author's case they're
embedding Blink so they can exercise a degree of omnipotency the web author
can't. Making this work for the web author sounds tricky... is there a proposal
somewhere?

-- 
You are receiving this mail because:
You are on the CC list for the bug.

Received on Tuesday, 14 January 2014 01:43:19 UTC