Re: [webcomponents]: HTMLElementElement missing a primitive

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 UTC