Title: [158403] tags/Safari-538.4/Source/WebCore

Diff

Modified: tags/Safari-538.4/Source/WebCore/ChangeLog (158402 => 158403)


--- tags/Safari-538.4/Source/WebCore/ChangeLog	2013-10-31 22:49:51 UTC (rev 158402)
+++ tags/Safari-538.4/Source/WebCore/ChangeLog	2013-10-31 22:57:34 UTC (rev 158403)
@@ -1,5 +1,30 @@
 2013-10-31  Lucas Forschler  <[email protected]>
 
+        Merge r158391
+
+    2013-10-31  Beth Dakin  <[email protected]>
+
+            Repro scrolling crash with scrollbars that use setPresentationValue on the 
+            scrolling thread
+            https://bugs.webkit.org/show_bug.cgi?id=123549
+            -and corresponding-
+            <rdar://problem/15246606>
+
+            Reviewed by Brady Eidson.
+
+            Here's another speculative fix. If a scrollbar was removed, we would not properly 
+            inform the scrolling thread. Instead of checking supportsUpdateOnSecondaryThread() 
+            before calling setScrollbarPaintersFromScrollbars(), check it from within 
+            setScrollbarPaintersFromScrollbars(), and this will allow the ScrollbarPainter to 
+            be properly updated.
+
+            * page/scrolling/mac/ScrollingCoordinatorMac.mm:
+            (WebCore::ScrollingCoordinatorMac::frameViewLayoutUpdated):
+            * page/scrolling/mac/ScrollingStateScrollingNodeMac.mm:
+            (WebCore::ScrollingStateScrollingNode::setScrollbarPaintersFromScrollbars):
+
+2013-10-31  Lucas Forschler  <[email protected]>
+
         Merge r158375
 
     2013-10-31  Beth Dakin  <[email protected]>

Modified: tags/Safari-538.4/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm (158402 => 158403)


--- tags/Safari-538.4/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm	2013-10-31 22:49:51 UTC (rev 158402)
+++ tags/Safari-538.4/Source/WebCore/page/scrolling/mac/ScrollingCoordinatorMac.mm	2013-10-31 22:57:34 UTC (rev 158403)
@@ -133,9 +133,7 @@
 
     Scrollbar* verticalScrollbar = frameView->verticalScrollbar();
     Scrollbar* horizontalScrollbar = frameView->horizontalScrollbar();
-    if ((verticalScrollbar && verticalScrollbar->supportsUpdateOnSecondaryThread())
-        || (horizontalScrollbar && horizontalScrollbar->supportsUpdateOnSecondaryThread()))
-        setScrollbarPaintersFromScrollbarsForNode(verticalScrollbar, horizontalScrollbar, node);
+    setScrollbarPaintersFromScrollbarsForNode(verticalScrollbar, horizontalScrollbar, node);
 
     ScrollParameters scrollParameters;
     scrollParameters.horizontalScrollElasticity = frameView->horizontalScrollElasticity();

Modified: tags/Safari-538.4/Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm (158402 => 158403)


--- tags/Safari-538.4/Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm	2013-10-31 22:49:51 UTC (rev 158402)
+++ tags/Safari-538.4/Source/WebCore/page/scrolling/mac/ScrollingStateScrollingNodeMac.mm	2013-10-31 22:57:34 UTC (rev 158403)
@@ -99,8 +99,10 @@
         return;
     ScrollbarThemeMac* macTheme = static_cast<ScrollbarThemeMac*>(scrollbarTheme);
 
-    ScrollbarPainter verticalPainter = verticalScrollbar ? macTheme->painterForScrollbar(verticalScrollbar) : 0;
-    ScrollbarPainter horizontalPainter = horizontalScrollbar ? macTheme->painterForScrollbar(horizontalScrollbar) : 0;
+    ScrollbarPainter verticalPainter = verticalScrollbar && verticalScrollbar->supportsUpdateOnSecondaryThread()
+        ? macTheme->painterForScrollbar(verticalScrollbar) : 0;
+    ScrollbarPainter horizontalPainter = horizontalScrollbar && horizontalScrollbar->supportsUpdateOnSecondaryThread()
+        ? macTheme->painterForScrollbar(horizontalScrollbar) : 0;
 
     if (m_verticalScrollbarPainter == verticalPainter && m_horizontalScrollbarPainter == horizontalPainter)
         return;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to