Changeset 90478 in webkit
- Timestamp:
- Jul 6, 2011 12:04:47 PM (13 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r90471 r90478 1 2011-07-06 Ryuan Choi <ryuan.choi@samsung.com> 2 3 [Performance] Only call sendContentResizeNotification when the scrollbar actually did change 4 https://bugs.webkit.org/show_bug.cgi?id=47320 5 6 Reviewed by Eric Seidel. 7 8 Move avoidScrollbarCreation checking code from setHasHorizontalScrollbar 9 and setHasVerticalScrollbar to their caller in order to keep sendContentResizedNotification 10 false in case scrollbar is not really changed. 11 As a result, it will remove unnecessary relayout in the above case. 12 13 No new tests as this is very hard to write tests for. The bug only 14 occured when scrolling the sites which contain frame in browser with 15 frameFlattening. This should not change functionality in other case. 16 17 * platform/ScrollView.cpp: 18 (WebCore::ScrollView::setHasHorizontalScrollbar): 19 (WebCore::ScrollView::setHasVerticalScrollbar): 20 (WebCore::ScrollView::updateScrollbars): 21 1 22 2011-07-06 Nate Chapin <japhet@chromium.org> 2 23 -
trunk/Source/WebCore/platform/ScrollView.cpp
r88877 r90478 89 89 void ScrollView::setHasHorizontalScrollbar(bool hasBar) 90 90 { 91 if (hasBar && avoidScrollbarCreation()) 92 return; 93 91 ASSERT(!hasBar || !avoidScrollbarCreation()); 94 92 if (hasBar && !m_horizontalScrollbar) { 95 93 m_horizontalScrollbar = createScrollbar(HorizontalScrollbar); … … 109 107 void ScrollView::setHasVerticalScrollbar(bool hasBar) 110 108 { 111 if (hasBar && avoidScrollbarCreation()) 112 return; 113 109 ASSERT(!hasBar || !avoidScrollbarCreation()); 114 110 if (hasBar && !m_verticalScrollbar) { 115 111 m_verticalScrollbar = createScrollbar(VerticalScrollbar); … … 473 469 474 470 if (m_scrollbarsSuppressed || (hScroll != ScrollbarAuto && vScroll != ScrollbarAuto)) { 475 if (hasHorizontalScrollbar != newHasHorizontalScrollbar )471 if (hasHorizontalScrollbar != newHasHorizontalScrollbar && (hasHorizontalScrollbar || !avoidScrollbarCreation())) 476 472 setHasHorizontalScrollbar(newHasHorizontalScrollbar); 477 if (hasVerticalScrollbar != newHasVerticalScrollbar )473 if (hasVerticalScrollbar != newHasVerticalScrollbar && (hasVerticalScrollbar || !avoidScrollbarCreation())) 478 474 setHasVerticalScrollbar(newHasVerticalScrollbar); 479 475 } else { … … 501 497 newHasHorizontalScrollbar = false; 502 498 503 if (hasHorizontalScrollbar != newHasHorizontalScrollbar ) {499 if (hasHorizontalScrollbar != newHasHorizontalScrollbar && (hasHorizontalScrollbar || !avoidScrollbarCreation())) { 504 500 if (m_scrollOrigin.y() && !newHasHorizontalScrollbar) 505 501 m_scrollOrigin.setY(m_scrollOrigin.y() - m_horizontalScrollbar->height()); … … 508 504 } 509 505 510 if (hasVerticalScrollbar != newHasVerticalScrollbar ) {506 if (hasVerticalScrollbar != newHasVerticalScrollbar && (hasVerticalScrollbar || !avoidScrollbarCreation())) { 511 507 if (m_scrollOrigin.x() && !newHasVerticalScrollbar) 512 508 m_scrollOrigin.setX(m_scrollOrigin.x() - m_verticalScrollbar->width());
Note: See TracChangeset
for help on using the changeset viewer.