See bug 980506 for an extensive discussion about this. This patch adds
three APIs to AudioNode in order for us to be able to build awesome
devtools on top of it.
* Weak reference API.
This patch allows one to hold a weak reference to all AudioNode's
using Components.utils.getWeakReference(). That way, the devtool's
inspection code would not change the lifetime of AudioNodes.
* AudioNode.id
This is a chrome-only unique and monotonically incrementing ID for
AudioNode objects. It is supposed to be used in order for the
devtools to be able to identify a node without having to keep it
alive.
* webaudio-node-demise
This is an observer notification that is called every time an
AudioNode gets destroyed inside Gecko. The ID of the corresponding
node is passed to this notification.
--HG--
extra : rebase_source : 83246a990489daf44ddc97dd4ea372a8cebe8e00
See bug 980506 for an extensive discussion about this. This patch adds
three APIs to AudioNode in order for us to be able to build awesome
devtools on top of it.
* Weak reference API.
This patch allows one to hold a weak reference to all AudioNode's
using Components.utils.getWeakReference(). That way, the devtool's
inspection code would not change the lifetime of AudioNodes.
* AudioNode.id
This is a chrome-only unique and monotonically incrementing ID for
AudioNode objects. It is supposed to be used in order for the
devtools to be able to identify a node without having to keep it
alive.
* webaudio-node-demise
This is an observer notification that is called every time an
AudioNode gets destroyed inside Gecko. The ID of the corresponding
node is passed to this notification.
This is the bare minimum that one needs in order to get those interfaces
implemented. The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.
This is the bare minimum that one needs in order to get those interfaces
implemented. The work to make the simplest of Web Audio test cases
actually pass will be done in bug 792649.