Title: [158403] tags/Safari-538.4/Source/WebCore
- Revision
- 158403
- Author
- [email protected]
- Date
- 2013-10-31 15:57:34 -0700 (Thu, 31 Oct 2013)
Log Message
Merged r158391. <rdar://problem/15246606>
Modified Paths
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