On Mar 19, 2013, at 3:52 PM, Jussi Kalliokoski <jussi.kalliokoski@gmail.com> wrote:
> Was it really so? How can that be, the event listener is assigned to an attribute on the node, which is a basically a JS object, so does the attribute change as well, on its own? Either way, the spec doesn't seem to specify that the node should be kept around.
It's the javascript binding wrapper of the node that's being collected, including the event listener. The C++ side ScriptProcessorNode survives as it still has connection references. I recently made a webkit bug for this. https://bugs.webkit.org/show_bug.cgi?id=112521.
> Actually this reminds me... Is this actually a bug by the spec?
This bug still occurs even if the javascript audio node is processing a source's audio and has a valid connection ref, so in the case where the script processor is acting as an effect it is definitely a bug.
I also think that the spec should better indicate that a script processor node with zero inputs should be kept around indefinitely.
Thanks,
-Russell