|Product:||WebKit||Reporter:||Dongseong Hwang <dongseong.hwang>|
|Severity:||Major||CC:||ap, arv, eric.carlson, ggaren, skyul|
|Version:||528+ (Nightly build)|
Description Dongseong Hwang 2011-07-13 19:23:44 PDT
There are two problems. 1. If playing the audio element and navigating another page, the audio element is not removed. 2. GC sweeps the audio element at any time, not during playing.
Comment 1 Dongseong Hwang 2011-07-13 21:14:57 PDT
Comment 3 Dongseong Hwang 2011-07-14 04:15:53 PDT
I'm worry that it is possible that I use GCController.getJSObjectCount for the leak test. Most of the tests using GCController.getJSObjectCount were disabled because the buildbot failed the tests.
Comment 4 Alexey Proskuryakov 2011-07-14 09:24:28 PDT
Comment 5 Eric Carlson 2011-07-15 12:41:00 PDT
(In reply to comment #0) > There are two problems. > > 1. If playing the audio element and navigating another page, the audio element is not removed. > 2. GC sweeps the audio element at any time, not during playing. Not collecting an un-paused media element that is not in the Document is correct according to the spec: Media elements that are potentially playing while not in a Document must not play any video, but should play any audio component. Media elements must not stop playing just because all references to them have been removed; only once a media element is in a state where no further audio could ever be played by that element may the element be garbage collected.  I see that the current code is wrong in that it only considers <audio> elements, I wrote bug 64617 for this.  http://www.w3.org/TR/html5/video.html#media-playback