RE: ES6 and upgrading custom elements

2015-01-07 Thread Domenic Denicola
From: annevankeste...@gmail.com [mailto:annevankeste...@gmail.com] On Behalf Of Anne van Kesteren > That's why I tried to scope this thread to upgrading and not the script side. > > The main question is how you tie MyInputElement to something like > and have that actually work. It seems Dimitri

Re: ES6 and upgrading custom elements

2015-01-07 Thread Anne van Kesteren
On Wed, Jan 7, 2015 at 5:53 AM, Domenic Denicola wrote: > ... all instances of MyInputElement will get all internal slots and other > exotic behavior of HTMLInputElement. That's why I tried to scope this thread to upgrading and not the script side. The main question is how you tie MyInputElemen

RE: ES6 and upgrading custom elements

2015-01-06 Thread Domenic Denicola
This is all intimately tied to the still-ongoing how-to-subclass-builtins discussion that is unfortunately happening on a private TC39 thread. The essential idea, however, is that as long as you do ```js class MyInputElement extends HTMLInputElement { constructor() { super(); // this is ke

Re: ES6 and upgrading custom elements

2015-01-06 Thread Dimitri Glazkov
On Tue, Jan 6, 2015 at 10:59 AM, Anne van Kesteren wrote: > On Tue, Jan 6, 2015 at 7:54 PM, Dimitri Glazkov > wrote: > > Right, that's why to create a valid custom element that subclasses > > HTMLInputElement, you should use type extensions. With type extensions, > the > > HTMLInputElement is wh

Re: ES6 and upgrading custom elements

2015-01-06 Thread Anne van Kesteren
On Tue, Jan 6, 2015 at 7:54 PM, Dimitri Glazkov wrote: > Right, that's why to create a valid custom element that subclasses > HTMLInputElement, you should use type extensions. With type extensions, the > HTMLInputElement is what's instantiated. But without using type extensions this will work (pr

Re: ES6 and upgrading custom elements

2015-01-06 Thread Dimitri Glazkov
On Tue, Jan 6, 2015 at 10:38 AM, Anne van Kesteren wrote: > On Tue, Jan 6, 2015 at 7:06 PM, Dimitri Glazkov > wrote: > > Yes to the first question. I wasn't planning on doing anything different > > there. > > It seems simple prototype munging but not actually changing identity > will fail for al

Re: ES6 and upgrading custom elements

2015-01-06 Thread Anne van Kesteren
On Tue, Jan 6, 2015 at 7:06 PM, Dimitri Glazkov wrote: > Yes to the first question. I wasn't planning on doing anything different > there. It seems simple prototype munging but not actually changing identity will fail for all but the basic cases of subclassing. E.g. if I subclass an HTMLInputElem

Re: ES6 and upgrading custom elements

2015-01-06 Thread Dimitri Glazkov
On Tue, Jan 6, 2015 at 9:56 AM, Anne van Kesteren wrote: > On Tue, Jan 6, 2015 at 6:13 PM, Dimitri Glazkov > wrote: > > That section needs to be updated, because the ES6 spec had shifted a > little > > bit with regard to @@create. Filed > > https://www.w3.org/Bugs/Public/show_bug.cgi?id=27769. >

Re: ES6 and upgrading custom elements

2015-01-06 Thread Anne van Kesteren
On Tue, Jan 6, 2015 at 6:13 PM, Dimitri Glazkov wrote: > That section needs to be updated, because the ES6 spec had shifted a little > bit with regard to @@create. Filed > https://www.w3.org/Bugs/Public/show_bug.cgi?id=27769. Yeah, there's issues in general there, such as ES6 giving up on explain

Re: ES6 and upgrading custom elements

2015-01-06 Thread Dimitri Glazkov
That section needs to be updated, because the ES6 spec had shifted a little bit with regard to @@create. Filed https://www.w3.org/Bugs/Public/show_bug.cgi?id=27769. Conceptually, when I wrote it I'd imagined that the constructor will be called only when you explicitly invoke it (new FooElement...)

ES6 and upgrading custom elements

2015-01-06 Thread Anne van Kesteren
It's not clear to me from https://w3c.github.io/webcomponents/spec/custom/#es6 how the upgrade works. From the pre-ES6 setup you can work out through inference that upgrading is supposed to mutate the prototype of the element in question. But it seems that mutating the prototype is not sufficient