- From: Scott Miles <sjmiles@google.com>
- Date: Thu, 14 Feb 2013 14:40:08 -0800
- To: Daniel Buchner <daniel@mozilla.com>
- Cc: Rick Waldron <waldron.rick@gmail.com>, Erik Arvidsson <arv@chromium.org>, Dimitri Glazkov <dglazkov@google.com>, public-webapps <public-webapps@w3.org>, Boris Zbarsky <bzbarsky@mit.edu>, Anne van Kesteren <annevk@annevk.nl>
- Message-ID: <CAHbmOLZDsDnnAca1L=pB6pnwHxNk_vufHV1fU5OxiOF5ysc_Kw@mail.gmail.com>
In all constructions the *actual* calling of HTMLButtonElement is done by the browser. All the user has to do is *not* call it, and only call super constructors if they are custom. For that reason, I don't see why this is an issue. On Thu, Feb 14, 2013 at 2:36 PM, Daniel Buchner <daniel@mozilla.com> wrote: > It seems to me (please correct me if this is inaccurate) that you can't * > really* polyfill ES6 extension of existing element constructor > inheritance, because afaik, you cannot call the existing native > constructors of elements - it throws. So if you can only do a jankified 1/2 > fill, why not just provide an optional route that has no legacy issues for > people who want to use it? > > I believe even Scott's polyfill doesn't do anything to enable > HTMLButtonElement.call(this); > > Hopefully I'm in the ballpark here, but if what I said is wrong or not an > issue, what *is* the reasoning behind it? > > Daniel J. Buchner > Product Manager, Developer Ecosystem > Mozilla Corporation > > > On Thu, Feb 14, 2013 at 2:23 PM, Scott Miles <sjmiles@google.com> wrote: > >> MyButton = document.register(‘x-button’, { >> prototype: MyButton.prototype, >> lifecycle: { >> created: MyButton >> } >> }); >> >> What's the benefit of allowing this syntax? I don't immediately see why >> you couldn't just do it the other way. >> >> >> On Thu, Feb 14, 2013 at 2:21 PM, Rick Waldron <waldron.rick@gmail.com>wrote: >> >>> >>> >>> >>> On Thu, Feb 14, 2013 at 5:15 PM, Erik Arvidsson <arv@chromium.org>wrote: >>> >>>> Yeah, this post does not really talk about syntax. It comes after a >>>> discussion how we could use ES6 class syntax. >>>> >>>> The ES6 classes have the same semantics as provided in this thread >>>> using ES5. >>>> >>>> On Thu, Feb 14, 2013 at 5:10 PM, Rick Waldron <waldron.rick@gmail.com>wrote: >>>> >>>>> >>>>> On Thu, Feb 14, 2013 at 4:48 PM, Dimitri Glazkov <dglazkov@google.com>wrote: >>>>> >>>>>> >>>>>> MyButton = document.register(‘x-button’, { >>>>>> prototype: MyButton.prototype, >>>>>> lifecycle: { >>>>>> created: MyButton >>>>>> } >>>>>> }); >>>>>> >>>>> >>>>> >>>>> Does this actually mean that the second argument has a property called >>>>> "prototype" that itself has a special meaning? >>>>> >>>> >>>> This is just a dictionary. >>>> >>>> >>>>> >>>>> Is the re-assignment MyButton intentional? I see the original >>>>> "MyButton" reference as the value of the created property, but then >>>>> document.register's return value is assigned to the same identifier? Maybe >>>>> this was a typo? >>>>> >>>>>> >>>>>> document.register(‘x-button’, { >>>>>> constructor: MyButton, >>>>>> ... >>>>>> }); >>>>>> >>>>>> >>>>> Same question as above, but re: "constructor"? >>>>> >>>>> >>>> Same answer here. >>>> >>>> I'm not happy with these names but I can't think of anything better. >>>> >>> >>> Fair enough, I trust your judgement here. Thanks for the follow >>> up—always appreciated. >>> >>> Rick >>> >>>> >>>> -- >>>> erik >>>> >>>> >>> >> >
Received on Thursday, 14 February 2013 22:40:37 UTC