- From: <bugzilla@jessica.w3.org>
- Date: Wed, 29 Aug 2012 20:24:35 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=18729 --- Comment #8 from Scott Miles <sjmiles@chromium.org> 2012-08-29 20:24:35 UTC --- (In reply to comment #7) > (In reply to comment #6) > > (In reply to comment #5) > > > (In reply to comment #4) > > > > > > > Doesn't the generated constructor already have this information? All we need to > > > > do is call it, right? > > > > > > I am dumb. Ignore me. Let me ponder this. > > > > Here's what I came up with: we should be able to look up a definition from > > prototype. > > Once we do, we can adjust the constructor generation algorithm to recursively > > look up the prototype and repeat the shadow root instantiation steps. > > > > Naturally, actual implementations may choose to use other, more performant ways > > to achieve the same thing. WDYT? > > "look up a definition from prototype": is non-trivial as I mentioned above, but > we may not have to. > > Your previous comment about constructors gave us an idea that we implemented in > polyfill (that will be public as soon as I can make it so), which is to adjust > the instantiate algorithm. > > There is a line there that says "Create a new object that implements > PROTOTYPE". There is some wiggle room there. > > What we did was: > > 1. if PROTOTYPE extends a custom component, call extendee's constructor to > create the new object, otherwise create a new DOM element as the new object > 2. set PROTOTYPE as the new object's __proto__ > > This way, the information stored in the generated constructors is used (that > was your hint). > > The only difficulty is determining "if PROTOTYPE extends a custom component" > which could also be framed as "if PROTOTYPE's constructor is a generated > constructor". > > We tagged generated constructor's with a flag to solve this problem. To follow up, my head may be too much into polyfills, re: There is some wiggle room there: there is not really. re: looking up Definition from prototype is non-trivial: only in polyfill. I still like the idea of using constructors recursively instead of some in-place loop, but I'm not sure if that translates to spec. -- Configure bugmail: https://www.w3.org/Bugs/Public/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the QA contact for the bug.
Received on Wednesday, 29 August 2012 20:24:36 UTC