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 8a3bfdab13304af8192d6e487225889e4d25b60f..b0900d71a5e93f8558fed8ad92d2d2b119db4895 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
@@ -3736,7 +3736,8 @@ void FrameView::updateScrollbarGeometry() { |
if (oldRect != horizontalScrollbar()->frameRect()) |
setScrollbarNeedsPaintInvalidation(HorizontalScrollbar); |
- horizontalScrollbar()->setEnabled(contentsWidth() > clientWidth); |
+ horizontalScrollbar()->setEnabled(contentsWidth() > clientWidth && |
+ !scrollbarsHidden()); |
horizontalScrollbar()->setProportion(clientWidth, contentsWidth()); |
horizontalScrollbar()->offsetDidChange(); |
} |
@@ -3754,7 +3755,8 @@ void FrameView::updateScrollbarGeometry() { |
if (oldRect != verticalScrollbar()->frameRect()) |
setScrollbarNeedsPaintInvalidation(VerticalScrollbar); |
- verticalScrollbar()->setEnabled(contentsHeight() > clientHeight); |
+ verticalScrollbar()->setEnabled(contentsHeight() > clientHeight && |
+ !scrollbarsHidden()); |
verticalScrollbar()->setProportion(clientHeight, contentsHeight()); |
verticalScrollbar()->offsetDidChange(); |
} |
@@ -3822,6 +3824,10 @@ void FrameView::updateScrollbarsIfNeeded() { |
updateScrollbars(); |
} |
+void FrameView::didChangeScrollbarsHidden() { |
+ updateScrollbars(); |
+} |
+ |
void FrameView::updateScrollbars() { |
m_needsScrollbarsUpdate = false; |