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

Re: [webcomponents]: HTMLElementElement missing a primitive

From: Erik Arvidsson <arv@chromium.org>
Date: Fri, 8 Mar 2013 17:02:52 -0500
Message-ID: <CAJ8+Gogrpwn=YXjCxPy3oeyGRP+xKRgFA-snR6wWaEPvVBT1zw@mail.gmail.com>
To: Scott Miles <sjmiles@google.com>
Cc: Dimitri Glazkov <dglazkov@chromium.org>, public-webapps <public-webapps@w3.org>
Allowing the same information in 2 places is problematic. We could allow it
but then we need to throw if they diverge.

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();
  }
}
</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:03:43 GMT

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