- From: <bugzilla@jessica.w3.org>
- Date: Thu, 13 Nov 2014 21:22:13 +0000
- To: public-webapps-bugzilla@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=27320
Olli Pettay <bugs@pettay.fi> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugs@pettay.fi
Resolution|--- |INVALID
--- Comment #1 from Olli Pettay <bugs@pettay.fi> ---
(In reply to Arkadiusz Michalski (Spirit) from comment #0)
> I tried analyze dependencies across all algorithms and other prose for
> MutationObserver oposite to how browsers works, but every time something is
> wrong. Here are some inaccuracies:
>
> ===
>
> callback MutationCallback = void (sequence<MutationRecord> mutations,
> MutationObserver observer);
>
> In practice mutations and observer are optional (Firefox/Chrome/IE), so
> maybe add "optional" to IDL? And maybe cover this somehow in prose (step 3.4
> in "notify mutation observers").
No need for optional there. That is just how callbacks work.
Similar to event listeners.
callback interface EventListener {
void handleEvent(Event event);
};
yet you don't have to define the parameter if you're not going to use it
anywhere.
> Per spec. callback get only copy of MO (as second argument) but all browsers
> operate on original.
Nothing says observer should be copy.
In fact, there is the following as a note:
"the constructed MutationObserver object as second argument. "
and there is also
"If queue is non-empty, call mo's callback with queue as first argument, and mo
(itself) as second argument and callback this value. "
>
> var new_MO = new MutationObserver(function(records, observer){
>
> // All browsers trate new_MO and observer as the same object (instance)
> and clear its record queue before invoke callback
> // its correct per step 3.2, but in generaly not per step 2. (algo "notify
> mutation observers") because its operate on copy
Step 2 says to take a copy of the list. Not copy the MutationObserver objects.
--
You are receiving this mail because:
You are the QA Contact for the bug.
Received on Thursday, 13 November 2014 21:22:15 UTC