Title: [129296] trunk
- Revision
- 129296
- Author
- [email protected]
- Date
- 2012-09-21 21:44:29 -0700 (Fri, 21 Sep 2012)
Log Message
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:
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.
Modified Paths
Added Paths
Diff
Modified: trunk/ChangeLog (129295 => 129296)
--- trunk/ChangeLog 2012-09-22 03:18:33 UTC (rev 129295)
+++ trunk/ChangeLog 2012-09-22 04:44:29 UTC (rev 129296)
@@ -1,3 +1,14 @@
+2012-09-21 Ami Fischman <[email protected]>
+
+ 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 <[email protected]>
Add Web Audio support for deprecated/legacy APIs
Added: trunk/ManualTests/audio-freed-during-reload.html (0 => 129296)
--- trunk/ManualTests/audio-freed-during-reload.html (rev 0)
+++ trunk/ManualTests/audio-freed-during-reload.html 2012-09-22 04:44:29 UTC (rev 129296)
@@ -0,0 +1,17 @@
+<html>
+ <script>
+ function go() {
+ var a = new Audio();
+ a.autoplay = "1";
+ a.src = ""
+ }
+ </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?
Modified: trunk/Source/WebCore/ChangeLog (129295 => 129296)
--- trunk/Source/WebCore/ChangeLog 2012-09-22 03:18:33 UTC (rev 129295)
+++ trunk/Source/WebCore/ChangeLog 2012-09-22 04:44:29 UTC (rev 129296)
@@ -1,3 +1,18 @@
+2012-09-21 Ami Fischman <[email protected]>
+
+ 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 <[email protected]>
RenderMarquee causes ASSERTION FAILED: enclosingIntRect(rendererMappedResult) == enclosingIntRect(FloatQuad(result).boundingBox()) : WebCore::FloatRect WebCore::RenderGeometryMap::absoluteRect(const WebCore::FloatRect &) const
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (129295 => 129296)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2012-09-22 03:18:33 UTC (rev 129295)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2012-09-22 04:44:29 UTC (rev 129296)
@@ -3675,6 +3675,7 @@
userCancelledLoad();
// Stop the playback without generating events
+ m_playing = false;
setPausedInternal(true);
if (renderer())
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo/webkit-changes