Title: [113923] trunk/Source/WebCore
- Revision
- 113923
- Author
- [email protected]
- Date
- 2012-04-11 16:28:30 -0700 (Wed, 11 Apr 2012)
Log Message
LayerFlushScheduler's run loop observer should have an autorelease pool.
https://bugs.webkit.org/show_bug.cgi?id=83729
Reviewed by Dan Bernstein.
LayerFlushScheduler's run loop observer needs an autorelease pool.
NSApplication creates one, but it is only drained after processing user
input. In the case where a WebView is displaying composited content but
not receiving user input, NSApplication's pool will accumulate a large
number of objects autoreleased by the run loop observer. Have
LayerFlushScheduler create an autorelease pool that is drained after
each run loop observer callback.
* platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
(WebCore::LayerFlushScheduler::runLoopObserverCallback):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (113922 => 113923)
--- trunk/Source/WebCore/ChangeLog 2012-04-11 23:20:55 UTC (rev 113922)
+++ trunk/Source/WebCore/ChangeLog 2012-04-11 23:28:30 UTC (rev 113923)
@@ -1,3 +1,21 @@
+2012-04-11 Andy Estes <[email protected]>
+
+ LayerFlushScheduler's run loop observer should have an autorelease pool.
+ https://bugs.webkit.org/show_bug.cgi?id=83729
+
+ Reviewed by Dan Bernstein.
+
+ LayerFlushScheduler's run loop observer needs an autorelease pool.
+ NSApplication creates one, but it is only drained after processing user
+ input. In the case where a WebView is displaying composited content but
+ not receiving user input, NSApplication's pool will accumulate a large
+ number of objects autoreleased by the run loop observer. Have
+ LayerFlushScheduler create an autorelease pool that is drained after
+ each run loop observer callback.
+
+ * platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp:
+ (WebCore::LayerFlushScheduler::runLoopObserverCallback):
+
2012-04-11 Antti Koivisto <[email protected]>
Split CSSStyleSheet into internal and CSSOM type
Modified: trunk/Source/WebCore/platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp (113922 => 113923)
--- trunk/Source/WebCore/platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp 2012-04-11 23:20:55 UTC (rev 113922)
+++ trunk/Source/WebCore/platform/graphics/ca/mac/LayerFlushSchedulerMac.cpp 2012-04-11 23:28:30 UTC (rev 113923)
@@ -29,6 +29,8 @@
#include "LayerFlushScheduler.h"
+#include "AutodrainedPool.h"
+
namespace WebCore {
static const CFIndex CoreAnimationRunLoopOrder = 2000000;
@@ -56,6 +58,7 @@
ASSERT(m_runLoopObserver);
ASSERT(!m_isSuspended);
+ AutodrainedPool pool;
if (m_client->flushLayers())
invalidate();
}
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes