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 12:55:48 -0500
Message-ID: <CAJ8+Goj-NmshaKHa0PSMuOzDwCKL3he1bTvtmL2ZMOoYjTu3TA@mail.gmail.com>
To: Dimitri Glazkov <dglazkov@chromium.org>
Cc: Scott Miles <sjmiles@google.com>, public-webapps <public-webapps@w3.org>
If you have a tag name it is easy to get the prototype.

var tmp = elementElement.ownerDocument.createElement(tagName);
var prototype = Object.getPrototypeOf(tmp);

On Fri, Mar 8, 2013 at 12:16 PM, Dimitri Glazkov <dglazkov@chromium.org> wrote:
> On Thu, Mar 7, 2013 at 2:35 PM, Scott Miles <sjmiles@google.com> wrote:
>> Currently, if I document.register something, it's my job to supply a
>> complete prototype.
>>
>> For HTMLElementElement on the other hand, I supply a tag name to extend, and
>> the prototype containing the extensions, and the system works out the
>> complete prototype.
>>
>> However, this ability of HTMLElementElement to construct a complete
>> prototype from a tag-name is not provided by any imperative API.
>>
>> As I see it, there are three main choices:
>>
>> 1. HTMLElementElement is recast as a declarative form of document.register,
>> in which case it would have no 'extends' attribute, and you need to make
>> your own (complete) prototype.
>>
>> 2. We make a new API for 'construct prototype from a tag-name to extend and
>> a set of extensions'.
>>
>> 3. Make document.register work like HTMLElementElement does now (it takes a
>> tag-name and partial prototype).
>
> 4. Let declarative syntax be a superset of the imperative API.
>
> Can you help me understand why you feel that imperative and
> declarative approaches must mirror each other exactly?
>
> :DG<
>



--
erik
Received on Friday, 8 March 2013 17:56:41 GMT

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