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<

Received on Friday, 8 March 2013 17:56:41 UTC

This archive was generated by hypermail 2.3.1 : Friday, 27 October 2017 07:26:52 UTC