Index: Source/core/frame/FrameView.cpp |
diff --git a/Source/core/frame/FrameView.cpp b/Source/core/frame/FrameView.cpp |
index d5bf83aa8aecf7602cb2c174a742c86203a68ac7..cf1a70c62357222d3c6572d2cbab835764ae4f5b 100644 |
--- a/Source/core/frame/FrameView.cpp |
+++ b/Source/core/frame/FrameView.cpp |
@@ -3299,6 +3299,8 @@ void FrameView::updateScrollbarGeometry() |
if (!m_scrollbarsSuppressed && oldRect != m_horizontalScrollbar->frameRect()) |
m_horizontalScrollbar->invalidate(); |
+ oldRect = m_horizontalScrollbar->frameRect(); |
+ |
if (m_scrollbarsSuppressed) |
m_horizontalScrollbar->setSuppressInvalidation(true); |
m_horizontalScrollbar->setEnabled(contentsWidth() > clientWidth); |
@@ -3306,6 +3308,17 @@ void FrameView::updateScrollbarGeometry() |
m_horizontalScrollbar->offsetDidChange(); |
if (m_scrollbarsSuppressed) |
m_horizontalScrollbar->setSuppressInvalidation(false); |
+ |
+ if (!m_scrollbarsSuppressed && oldRect != m_horizontalScrollbar->frameRect() && m_horizontalScrollbar->isCustomScrollbar()) { |
+ IntRect hBarRect((shouldPlaceVerticalScrollbarOnLeft() && m_verticalScrollbar) ? m_verticalScrollbar->width() : 0, |
+ height() - m_horizontalScrollbar->height(), |
+ width() - (m_verticalScrollbar ? m_verticalScrollbar->width() : 0), |
+ m_horizontalScrollbar->height()); |
+ m_horizontalScrollbar->setFrameRect(adjustScrollbarRectForResizer(hBarRect, m_horizontalScrollbar.get())); |
+ if (oldRect.height() != m_horizontalScrollbar->frameRect().height()) |
+ scrollbarExistenceDidChange(); |
esprehn
2014/10/29 06:43:50
What behavior are you trying to trigger here? The
MuVen
2014/10/29 09:39:59
Upon zooming in, customScrollbar style scales by s
|
+ m_horizontalScrollbar->invalidate(); |
+ } |
} |
if (m_verticalScrollbar) { |
@@ -3319,6 +3332,8 @@ void FrameView::updateScrollbarGeometry() |
if (!m_scrollbarsSuppressed && oldRect != m_verticalScrollbar->frameRect()) |
m_verticalScrollbar->invalidate(); |
+ oldRect = m_verticalScrollbar->frameRect(); |
+ |
if (m_scrollbarsSuppressed) |
m_verticalScrollbar->setSuppressInvalidation(true); |
m_verticalScrollbar->setEnabled(contentsHeight() > clientHeight); |
@@ -3326,6 +3341,17 @@ void FrameView::updateScrollbarGeometry() |
m_verticalScrollbar->offsetDidChange(); |
if (m_scrollbarsSuppressed) |
m_verticalScrollbar->setSuppressInvalidation(false); |
+ |
+ if (!m_scrollbarsSuppressed && oldRect != m_verticalScrollbar->frameRect() && m_verticalScrollbar->isCustomScrollbar()) { |
+ IntRect vBarRect(shouldPlaceVerticalScrollbarOnLeft() ? 0 : (width() - m_verticalScrollbar->width()), |
+ 0, |
+ m_verticalScrollbar->width(), |
+ height() - (m_horizontalScrollbar ? m_horizontalScrollbar->height() : 0)); |
+ m_verticalScrollbar->setFrameRect(adjustScrollbarRectForResizer(vBarRect, m_verticalScrollbar.get())); |
+ if (oldRect.width() != m_verticalScrollbar->frameRect().width()) |
+ scrollbarExistenceDidChange(); |
+ m_verticalScrollbar->invalidate(); |
+ } |
rwlbuis
2014/10/28 14:59:03
I see a repeated code pattern, meaning a shared fu
|
} |
} |