Index: third_party/WebKit/Source/core/frame/FrameView.cpp |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp |
index 35d4fbbbbf42bc5802b849f3a6507da5d2daf093..3a771f64bf005180c8f064fb030fff0584f79435 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
@@ -3698,7 +3698,8 @@ void FrameView::updateScrollbarGeometry() { |
if (oldRect != m_horizontalScrollbar->frameRect()) |
setScrollbarNeedsPaintInvalidation(HorizontalScrollbar); |
- m_horizontalScrollbar->setEnabled(contentsWidth() > clientWidth); |
+ m_horizontalScrollbar->setEnabled(contentsWidth() > clientWidth && |
+ !scrollbarsHidden()); |
m_horizontalScrollbar->setProportion(clientWidth, contentsWidth()); |
m_horizontalScrollbar->offsetDidChange(); |
} |
@@ -3716,7 +3717,8 @@ void FrameView::updateScrollbarGeometry() { |
if (oldRect != m_verticalScrollbar->frameRect()) |
setScrollbarNeedsPaintInvalidation(VerticalScrollbar); |
- m_verticalScrollbar->setEnabled(contentsHeight() > clientHeight); |
+ m_verticalScrollbar->setEnabled(contentsHeight() > clientHeight && |
+ !scrollbarsHidden()); |
m_verticalScrollbar->setProportion(clientHeight, contentsHeight()); |
m_verticalScrollbar->offsetDidChange(); |
} |
@@ -3784,6 +3786,10 @@ void FrameView::updateScrollbarsIfNeeded() { |
updateScrollbars(); |
} |
+void FrameView::didChangeScrollbarsHidden() { |
+ updateScrollbars(); |
+} |
+ |
void FrameView::updateScrollbars() { |
m_needsScrollbarsUpdate = false; |