Re: Should MutationObservers be able to observe work done by the HTML parser?

On Tue, Sep 4, 2012 at 10:11 PM, Elliott Sprehn <esprehn@gmail.com> wrote:
> On Mon, Sep 3, 2012 at 8:45 AM, Jonas Sicking <jonas@sicking.cc> wrote:
>> On Mon, Sep 3, 2012 at 1:24 AM, Anne van Kesteren <annevk@annevk.nl> wrote:
>>> On Thu, Aug 30, 2012 at 2:18 PM, Jonas Sicking <jonas@sicking.cc> wrote:
>>>> ...
>>...
>>
>> But I'm also not very worried about small differences in
>> implementations here as long as everyone maintains the invariants that
>> mutation observers set out to hold. Pages can't depend on an exact set
>> of mutations happening anyway due to the stochastic nature of parsing.
>>
>
> It concerns me to require consistent records for mutations "except in
> parsing".

Does this concern you more than simply not creating any mutation
records while parsing. I.e. does it concern you more than the
currently specced behavior of always creating mutation records "except
in parsing"?

I would think it's more likely that pages break over not being
notified about certain mutations at all, than that they break over
being notified about different records that add up to the same set of
mutations. Especially when the records is going to vary from page load
to page load anyway.

> While the batches of mutation records might be different
> based on when the parser yields, the same records should still be
> generated from parsing the same document in each browser. Especially
> if you're following the HTML5 parser algorithm...

This is true. Though keep in mind that even if two people are both
using HTML5 compliant browsers, and load the same document while
observing the set of states that the page goes through, those two
people will see the page transition through different DOM states. This
can be the case even if the two people are using the exact same HTML
parser implementations due to network packet boundaries being
different, and due to timing effects being different.

But if this truly is a concern, I'm absolutely fine with defining
which coalescing we should do when creating mutation records from the
parser. That is in my opinion a far better solution than simply not
firing mutations notifications at all during parsing.

/ Jonas

Received on Wednesday, 5 September 2012 08:03:07 UTC