Title: [196378] branches/safari-601-branch/Source/WebCore
Revision
196378
Author
matthew_han...@apple.com
Date
2016-02-10 12:33:15 -0800 (Wed, 10 Feb 2016)

Log Message

Merge r196206. rdar://problem/24417430

Modified Paths

Diff

Modified: branches/safari-601-branch/Source/WebCore/ChangeLog (196377 => 196378)


--- branches/safari-601-branch/Source/WebCore/ChangeLog	2016-02-10 19:56:25 UTC (rev 196377)
+++ branches/safari-601-branch/Source/WebCore/ChangeLog	2016-02-10 20:33:15 UTC (rev 196378)
@@ -1,3 +1,23 @@
+2016-02-10  Matthew Hanson  <matthew_han...@apple.com>
+
+        Merge r196206. rdar://problem/24417430
+
+    2016-02-05  Beth Dakin  <bda...@apple.com>
+
+            ScrollbarPainters needs to be deallocated on the main thread
+            https://bugs.webkit.org/show_bug.cgi?id=153932
+            -and corresponding-
+            rdar://problem/24015483
+
+            Reviewed by Tim Horton.
+
+            Ensure the the destructor of ScrollingTreeFrameScrollingNodeMac and the
+            assignments done in this class are not responsible for deallocating the
+            ScrollbarPainter.
+            * page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm:
+            (WebCore::ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac):
+            (WebCore::ScrollingTreeFrameScrollingNodeMac::updateBeforeChildren):
+
 2016-02-09  Babak Shafiei  <bshaf...@apple.com>
 
         Merge r190616.

Modified: branches/safari-601-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm (196377 => 196378)


--- branches/safari-601-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm	2016-02-10 19:56:25 UTC (rev 196377)
+++ branches/safari-601-branch/Source/WebCore/page/scrolling/mac/ScrollingTreeFrameScrollingNodeMac.mm	2016-02-10 20:33:15 UTC (rev 196378)
@@ -65,6 +65,13 @@
 
 ScrollingTreeFrameScrollingNodeMac::~ScrollingTreeFrameScrollingNodeMac()
 {
+    if (m_verticalScrollbarPainter || m_horizontalScrollbarPainter) {
+        // FIXME: This is a workaround in place for the time being since NSScrollerImps cannot be deallocated
+        // on a non-main thread. rdar://problem/24535055
+        RetainPtr<ScrollbarPainter> retainedVerticalScrollbarPainter = m_verticalScrollbarPainter;
+        RetainPtr<ScrollbarPainter> retainedHorizontalScrollbarPainter = m_horizontalScrollbarPainter;
+        WTF::callOnMainThread([retainedVerticalScrollbarPainter, retainedHorizontalScrollbarPainter] { });
+    }
 }
 
 #if ENABLE(CSS_SCROLL_SNAP)
@@ -106,6 +113,14 @@
         m_footerLayer = scrollingStateNode.footerLayer();
 
     if (scrollingStateNode.hasChangedProperty(ScrollingStateFrameScrollingNode::PainterForScrollbar)) {
+        {
+            // FIXME: This is a workaround in place for the time being since NSScrollerImps cannot be deallocated
+            // on a non-main thread. rdar://problem/24535055
+            RetainPtr<ScrollbarPainter> retainedVerticalScrollbarPainter = m_verticalScrollbarPainter;
+            RetainPtr<ScrollbarPainter> retainedHorizontalScrollbarPainter = m_horizontalScrollbarPainter;
+            WTF::callOnMainThread([retainedVerticalScrollbarPainter, retainedHorizontalScrollbarPainter]
+                {});
+        }
         m_verticalScrollbarPainter = scrollingStateNode.verticalScrollbarPainter();
         m_horizontalScrollbarPainter = scrollingStateNode.horizontalScrollbarPainter();
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to