https://bugs.webkit.org/show_bug.cgi?id=97020
Reviewed by Eric Carlson.
.:
Manual test added: ManualTests/audio-freed-during-reload.html
* ManualTests/audio-freed-during-reload.html:
Source/WebCore:
JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
appear to always hasPendingActivity(), because m_playing is never set to false.
Manual test added: ManualTests/audio-freed-during-reload.html
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.
git-svn-id: https://svn.webkit.org/repository/webkit/trunk@129296
268f45cc-cd09-0410-ab3c-
d52691b4dbfc
+2012-09-21 Ami Fischman <fischman@chromium.org>
+
+ HTMLMediaElement isn't garbage collected between document reloads
+ https://bugs.webkit.org/show_bug.cgi?id=97020
+
+ Reviewed by Eric Carlson.
+
+ Manual test added: ManualTests/audio-freed-during-reload.html
+
+ * ManualTests/audio-freed-during-reload.html:
+
2012-09-21 Chris Rogers <crogers@google.com>
Add Web Audio support for deprecated/legacy APIs
--- /dev/null
+<html>
+ <script>
+ function go() {
+ var a = new Audio();
+ a.autoplay = "1";
+ a.src = "../LayoutTests/media/content/test.wav";
+ }
+ </script>
+
+ <body onload="go()">
+ <p>
+ Load this page and open Activity Monitor, htop, chrome's task manager, or another resource monitor.
+ Reload the page a number of times and verify that the memory usage
+ doesn't keep climbing indefinitely per reload.
+ </p>
+ </body>
+</html?
+2012-09-21 Ami Fischman <fischman@chromium.org>
+
+ HTMLMediaElement isn't garbage collected between document reloads
+ https://bugs.webkit.org/show_bug.cgi?id=97020
+
+ Reviewed by Eric Carlson.
+
+ JS-created (as opposed to DOM-created) Audio nodes never got collected, because they
+ appear to always hasPendingActivity(), because m_playing is never set to false.
+
+ Manual test added: ManualTests/audio-freed-during-reload.html
+
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::stop): set m_playing = false; explicitly.
+
2012-09-21 Simon Fraser <simon.fraser@apple.com>
RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
userCancelledLoad();
// Stop the playback without generating events
+ m_playing = false;
setPausedInternal(true);
if (renderer())