W3C home > Mailing lists > Public > public-webapps@w3.org > January to March 2013

Re: [webcomponents]: HTMLElementElement missing a primitive

From: Scott Miles <sjmiles@google.com>
Date: Fri, 8 Mar 2013 14:09:34 -0800
Message-ID: <CAHbmOLasq1DiKAnn-ruAHnV4n5vvyJEt7EfuBEhNtazp75_d6g@mail.gmail.com>
To: Erik Arvidsson <arv@chromium.org>
Cc: Dimitri Glazkov <dglazkov@chromium.org>, public-webapps <public-webapps@w3.org>
inline

On Fri, Mar 8, 2013 at 2:02 PM, Erik Arvidsson <arv@chromium.org> wrote:

> Allowing the same information in 2 places is problematic. We could allow
> it but then we need to throw if they diverge.
>

Yes, and it's also just plain annoying to have these variations IMO.


>
> To back up, the following example is incomplete:
>
> <element name='x-fancier' extends="x-fancy">
> <script>
> class XFancier extends XFancy {
>   fancify() {
>      super(); // How do I get inherited fancify?
>      makeFancier();
>   }
> }
>

Yes, sorry, there has to be a registration step here, I've been doing this:

    this.register(XFancier);


> </script>
> </element>
>
> because no one is associating XFancier with x-fancier.
>
>
> On Fri, Mar 8, 2013 at 4:13 PM, Scott Miles <sjmiles@google.com> wrote:
>
>> But now XFancier carries a complete prototype, and there is no 'extends'
>> attribute, which is where I came in. This is my 'option 1'.
>>
>> Are you suggesting this should be optional? This is why I wanted to bring
>> it up.
>>
>> Scott
>>
>>
>> On Fri, Mar 8, 2013 at 1:03 PM, Erik Arvidsson <arv@chromium.org> wrote:
>>
>>> Inline...
>>>
>>> On Fri, Mar 8, 2013 at 3:33 PM, Scott Miles <sjmiles@google.com> wrote:
>>>
>>>> imperative:
>>>>
>>>> class XFancier extends XFancy {
>>>>   fancify() {
>>>>      super();
>>>>      makeFancier();
>>>>   }
>>>> ...
>>>> document.register('x-fancier', XFancier);
>>>>
>>>> declarative:
>>>>
>>>> <element name='x-fancier' extends="x-fancy">
>>>> <script>
>>>>   class XFancier {
>>>>   fancify() {
>>>>      super(); // How do I get inherited fancify?
>>>>
>>>
>>> Yeah, this will not work. super is statically bound.
>>>
>>> Of course we could dynamically rebind super but not having an extends
>>> clause is really confusing.
>>>
>>> Why can't we just do?
>>>
>>> <element name="x-fancier">
>>> <script>
>>> class XFancier extends XFancy {
>>>    ...
>>> }
>>> </script>
>>> </element>
>>>
>>> --
>>> erik
>>>
>>>
>>>
>>
>
>
> --
> erik
>
>
>
Received on Friday, 8 March 2013 22:10:07 GMT

This archive was generated by hypermail 2.3.1 : Tuesday, 26 March 2013 18:49:58 GMT