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

Re: Why can't we just use constructor instead of createdCallback?

From: Dimitri Glazkov <dglazkov@google.com>
Date: Fri, 14 Feb 2014 10:50:16 -0800
Message-ID: <CADh5Ky3P6ekrfiA2nuwWNh1As1kKyHSCxjdPLr62fMcOG6kyDw@mail.gmail.com>
To: Jonas Sicking <jonas@sicking.cc>
Cc: Boris Zbarsky <bzbarsky@mit.edu>, Ryosuke Niwa <rniwa@apple.com>, Erik Arvidsson <arv@chromium.org>, WebApps WG <public-webapps@w3.org>, "Edward O'Connor" <eoconnor@apple.com>, William Chen <wchen@mozilla.com>
On Fri, Feb 14, 2014 at 10:36 AM, Jonas Sicking <jonas@sicking.cc> wrote:

> On Fri, Feb 14, 2014 at 9:25 AM, Dimitri Glazkov <dglazkov@google.com>
> wrote:
> > On Thu, Feb 13, 2014 at 6:50 PM, Jonas Sicking <jonas@sicking.cc> wrote:
> >>
> >> Dimitri, I'd still love to hear feedback from you on the idea above.
> >> Seems like it could fix one of the design issues that a lot of people
> >> have reacted to.
> >
> >
> > I am not sure I fully understand how this will work. Let me try to
> repeat it
> > back and see if I got this right.
> >
> > Basically, we are modifying the tree construction algorithm to be a
> 3-pass
> > system:
> >
> > 1) Build a meta tree (each node in the tree is a meta object that
> represents
> > an element that will be constructed)
> > 2) Instantiate all elements by calling constructors on them
> > 3) Build the tree of elements from the meta tree.
> >
> > Right?
>
> I'd rather put it as:
>
> 1) Construct the objects, but rather than inserting them in their
> parents, remember which parent they should be inserted in.
>

Sure, this is the meta tree construction. At the limit, if every element is
a custom element, then you're effectively building a tree of things that
remember where their respective elements need to be.


> 2) Call constructors on all elements
>

Yup.


> 3) Insert elements in their parent
>

Yup.


>
> So no need to construct any meta objects.
>

Okay, we don't have to call them meta objects, but we need some storage to
remember where the element should go :)


>
> You can further optimize by only doing this for custom elements with a
> constructor.
>

Interesting. What if the element's constructor decides to walk the DOM tree
or mutate it? What does it see? Are there holes for elements that haven't
yet been inserted, or are the elements just appended regardless of their
initial position in the tree?

:DG<
Received on Friday, 14 February 2014 18:50:49 UTC

This archive was generated by hypermail 2.4.0 : Friday, 17 January 2020 18:14:21 UTC