[Bug 21962] [Custom]: Running lifecycle callbacks should be integrated with microtask processing

https://www.w3.org/Bugs/Public/show_bug.cgi?id=21962

Rafael Weinstein <rafaelw@chromium.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |adamk@chromium.org,
                   |                            |dglazkov@chromium.org,
                   |                            |rafaelw@chromium.org

--- Comment #5 from Rafael Weinstein <rafaelw@chromium.org> ---
So it seems to me that Lifecyle events are similar enough to mutation observers
that makes sense considering abstracting the mutation observer delivery
mechanism to essentially allow Lifecycle event callbacks to act as observers.

Imagine that HTML defines an abstract EOMT processing model like:

-EOMTWorker

static Vector<EOMTWorker> activeWorkers

static activateWorker(EOMTWorker worker) {
  if (!activeWorkers.contains(worker))
    activeWorkers.append(worker);
}

static isDelivering = false;

static processEOMTCheckpoint() {
  if (isDelivering)
    return;
  isDelivering = true;

  while (!activeWorkers.empty()) {
    deliverNow = activeWorkers.copy();
    activeWorkers.clear();
    forEach worker in deliverNow {
      worker.invoke(); // may run script, which may activate other workers
                       // may also decide to do nothing if it no longer needs
to
    }
  }

  isDelivering = false;
}

-- 
You are receiving this mail because:
You are the QA Contact for the bug.

Received on Wednesday, 8 May 2013 18:28:23 UTC