<div dir="ltr">On Thu, Aug 28, 2008 at 2:23 PM, Aaron Boodman <span dir="ltr"><<a href="mailto:aa@google.com">aa@google.com</a>></span> wrote:<br><div class="gmail_quote"><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Wed, Aug 27, 2008 at 6:46 PM, Robert O'Callahan <<a href="mailto:robert@ocallahan.org">robert@ocallahan.org</a>> wrote:<br>
> Works on Firefox trunk :-). Testcase attached. (The Vorbis file takes a<br>
> while to download so you should probably let it play through once before<br>
> trying the test.)<br>
<br>
</div>What is the rationale behind having to call play() again?</blockquote><div><br>I think the motivation was that if you remove a DOM subtree which happens to contain <video> or <audio> elements, they should pause. Otherwise, if you want to "safely" remove a DOM subtree you would have to always iterate through it to stop all media elements, otherwise you're leaking because elements (especially looping ones) can play indefinitely even if there are no outstanding references to them. A paused media element can be freed if there are no outstanding references to it, since there is no way for it to ever start playing again.<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">Also, should it also work if you just pass a reference to the node<br>
into the other window?<br>
<font color="#888888"></font></blockquote><div> <br>No, because its ownerdocument would be the old document and when that document is not active, the element will not play.<br></div></div><br>Rob<br>-- <br>"He was pierced for our transgressions, he was crushed for our iniquities; the punishment that brought us peace was upon him, and by his wounds we are healed. We all, like sheep, have gone astray, each of us has turned to his own way; and the LORD has laid on him the iniquity of us all." [Isaiah 53:5-6]<br>

</div>