[Bug 22459] [Custom]: Consider explicitly emptying callback queue in more cases

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

--- Comment #19 from Dominic Cooney <dominicc@chromium.org> ---
(In reply to comment #18)
> `createdCallback` is special, since it's our only chance to be
> constructor-like.

And enteredDocument and leftDocument callback are also special; my
understanding was that you wanted these in matched pairs. Consider this
modified example:

Assume x-a, x-b and x-c:
- x-a has an enteredDocument callback that grabs x-b removes it
- x-b have enteredDocument, leftDocument callbacks which log

Given:

document.body.innerHTML = '<x-a></x-a><x-b></x-b>'

I think processing stack should produce this ordering:

enter innerHTML
  x-a enteredDocument, callback removes x-b
    x-b enteredDocument  <-- note x-b is not in the document at this point
    x-b leftDocument     <-- ...however the *last* callback received is
sensible
  leave remove
leave innerHTML

If I understand your new proposal, the methods would be:

enter innerHTML
  x-a enteredDocument, callback removes x-b
    x-b leftDocument     <-- state is correct, but not a matched pair
  leave remove
  x-b enteredDocument    <-- note x-b is not in the document at this point
leave innerHTML

Did I get that right?

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

Received on Tuesday, 9 July 2013 02:14:40 UTC