Title: [180578] trunk/Source/WebCore
Revision
180578
Author
akl...@apple.com
Date
2015-02-24 11:44:00 -0800 (Tue, 24 Feb 2015)

Log Message

[Mac] WebKit abandons overlay scrollbar CALayers.
<https://webkit.org/b/141943>
<rdar://problem/19932199>

Reviewed by Beth Dakin.

* platform/mac/ScrollAnimatorMac.mm:
(-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
Use NSAnimationNonblockingThreaded to ensure that NSAnimations get cleaned up after they finish.
The animation was indirectly retaining the overlay scrollbar's CALayer, causing significant
amounts of abandoned memory to accumulate over time.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (180577 => 180578)


--- trunk/Source/WebCore/ChangeLog	2015-02-24 19:32:14 UTC (rev 180577)
+++ trunk/Source/WebCore/ChangeLog	2015-02-24 19:44:00 UTC (rev 180578)
@@ -1,3 +1,17 @@
+2015-02-24  Andreas Kling  <akl...@apple.com>
+
+        [Mac] WebKit abandons overlay scrollbar CALayers.
+        <https://webkit.org/b/141943>
+        <rdar://problem/19932199>
+
+        Reviewed by Beth Dakin.
+
+        * platform/mac/ScrollAnimatorMac.mm:
+        (-[WebScrollbarPartAnimation initWithScrollbar:featureToAnimate:animateFrom:animateTo:duration:]):
+        Use NSAnimationNonblockingThreaded to ensure that NSAnimations get cleaned up after they finish.
+        The animation was indirectly retaining the overlay scrollbar's CALayer, causing significant
+        amounts of abandoned memory to accumulate over time.
+
 2015-02-24  Anders Carlsson  <ander...@apple.com>
 
         Implement more of the data fetching API

Modified: trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm (180577 => 180578)


--- trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm	2015-02-24 19:32:14 UTC (rev 180577)
+++ trunk/Source/WebCore/platform/mac/ScrollAnimatorMac.mm	2015-02-24 19:44:00 UTC (rev 180578)
@@ -315,7 +315,8 @@
     _startValue = startValue;
     _endValue = endValue;
 
-    [self setAnimationBlockingMode:NSAnimationNonblocking];
+    // FIXME: This is a workaround for <rdar://problem/19899011>.
+    [self setAnimationBlockingMode:NSAnimationNonblockingThreaded];
 
     return self;
 }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to