Title: [97079] trunk/Source/WebCore
- Revision
- 97079
- Author
- simon.fra...@apple.com
- Date
- 2011-10-10 13:05:16 -0700 (Mon, 10 Oct 2011)
Log Message
REGRESSION(96070) 25% intl1 PLT regression from scrollbar invalidation
https://bugs.webkit.org/show_bug.cgi?id=69238
Reviewed by Darin Adler.
Fix PLT regression from additional scrollbars invalidations.
Don't invalidate the scrollbar rect from setHasHorizontalScrollbar()
and setHasVerticalScrollbar(), because this is called during FrameView
teardown, at which point the invalidation is redundant.
Instead, invalidate from ScrollView::updateScrollbars(), which is
called only when scrollbars change because of size or layout
changes.
* platform/ScrollView.cpp:
(WebCore::ScrollView::setHasHorizontalScrollbar):
(WebCore::ScrollView::setHasVerticalScrollbar):
(WebCore::ScrollView::updateScrollbars):
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (97078 => 97079)
--- trunk/Source/WebCore/ChangeLog 2011-10-10 19:54:08 UTC (rev 97078)
+++ trunk/Source/WebCore/ChangeLog 2011-10-10 20:05:16 UTC (rev 97079)
@@ -1,3 +1,25 @@
+2011-10-10 Simon Fraser <simon.fra...@apple.com>
+
+ REGRESSION(96070) 25% intl1 PLT regression from scrollbar invalidation
+ https://bugs.webkit.org/show_bug.cgi?id=69238
+
+ Reviewed by Darin Adler.
+
+ Fix PLT regression from additional scrollbars invalidations.
+
+ Don't invalidate the scrollbar rect from setHasHorizontalScrollbar()
+ and setHasVerticalScrollbar(), because this is called during FrameView
+ teardown, at which point the invalidation is redundant.
+
+ Instead, invalidate from ScrollView::updateScrollbars(), which is
+ called only when scrollbars change because of size or layout
+ changes.
+
+ * platform/ScrollView.cpp:
+ (WebCore::ScrollView::setHasHorizontalScrollbar):
+ (WebCore::ScrollView::setHasVerticalScrollbar):
+ (WebCore::ScrollView::updateScrollbars):
+
2011-10-10 Abhishek Arya <infe...@chromium.org>
Style for updated due to inability to locate
Modified: trunk/Source/WebCore/platform/ScrollView.cpp (97078 => 97079)
--- trunk/Source/WebCore/platform/ScrollView.cpp 2011-10-10 19:54:08 UTC (rev 97078)
+++ trunk/Source/WebCore/platform/ScrollView.cpp 2011-10-10 20:05:16 UTC (rev 97079)
@@ -95,7 +95,6 @@
didAddHorizontalScrollbar(m_horizontalScrollbar.get());
m_horizontalScrollbar->styleChanged();
} else if (!hasBar && m_horizontalScrollbar) {
- m_horizontalScrollbar->invalidate();
willRemoveHorizontalScrollbar(m_horizontalScrollbar.get());
removeChild(m_horizontalScrollbar.get());
m_horizontalScrollbar = 0;
@@ -114,7 +113,6 @@
didAddVerticalScrollbar(m_verticalScrollbar.get());
m_verticalScrollbar->styleChanged();
} else if (!hasBar && m_verticalScrollbar) {
- m_verticalScrollbar->invalidate();
willRemoveVerticalScrollbar(m_verticalScrollbar.get());
removeChild(m_verticalScrollbar.get());
m_verticalScrollbar = 0;
@@ -497,6 +495,8 @@
if (hasHorizontalScrollbar != newHasHorizontalScrollbar && (hasHorizontalScrollbar || !avoidScrollbarCreation())) {
if (m_scrollOrigin.y() && !newHasHorizontalScrollbar)
m_scrollOrigin.setY(m_scrollOrigin.y() - m_horizontalScrollbar->height());
+ if (m_horizontalScrollbar)
+ m_horizontalScrollbar->invalidate();
setHasHorizontalScrollbar(newHasHorizontalScrollbar);
sendContentResizedNotification = true;
}
@@ -504,6 +504,8 @@
if (hasVerticalScrollbar != newHasVerticalScrollbar && (hasVerticalScrollbar || !avoidScrollbarCreation())) {
if (m_scrollOrigin.x() && !newHasVerticalScrollbar)
m_scrollOrigin.setX(m_scrollOrigin.x() - m_verticalScrollbar->width());
+ if (m_verticalScrollbar)
+ m_verticalScrollbar->invalidate();
setHasVerticalScrollbar(newHasVerticalScrollbar);
sendContentResizedNotification = true;
}
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes