Chromium Code Reviews| 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
|
| } |
| } |