Re: Custom element callbacks timing

My understanding is that these callbacks can be invoked at roughly two
points in time:

The first one is when the browser is about to return to script. An example
is:

<script>
x.setAttribute('a', 'b');
// before here
...
</script>

If x is a Custom Element with an attributeChangedCallback, setAttribute
will queue an attributeChangedCallback; when returning to script x's
callback queue will be processed. Of course there are APIs, like setting
innerHTML, which can queue work for >>1 element.

The second one is when performing a microtask checkpoint. An example is:

<x-a></x-a>

If X-A has a Custom Element definition, the parser will queue an upgrade
step. At the next microtask checkpoint that element's callback queue will
be processed.

If you're having a discussion about callbacks in the context of microtasks,
that latter case, plus Mutation Observers, are probably of interest to you.

HTH,

Dominic


On Wed, Jan 29, 2014 at 7:41 AM, Anne van Kesteren <annevk@annevk.nl> wrote:

> Can someone explain me, ideally in terms of examples, when these
> callbacks are invoked:
>
> http://w3c.github.io/webcomponents/spec/custom/#enqueuing-and-invoking-callbacks
> Are these different from microtasks? The way the specification reads
> at the moment suggests they are. If that is the case I'd prefer we
> have some more high-level discussion about introducing a new point
> when we want to call callbacks for DOM methods.
>
>
> --
> http://annevankesteren.nl/
>
>


-- 
Email SLA <http://goto.google.com/dc-email-sla> •
Google+<https://plus.sandbox.google.com/111762620242974506845/posts>

Received on Tuesday, 28 January 2014 23:45:18 UTC