Index: Source/platform/scroll/ScrollView.cpp |
diff --git a/Source/platform/scroll/ScrollView.cpp b/Source/platform/scroll/ScrollView.cpp |
index 56bc53593a29dea66d28b8b11cab74951a4a420a..1e0aa28329bec7defe878d5305d37ecbf6e0065a 100644 |
--- a/Source/platform/scroll/ScrollView.cpp |
+++ b/Source/platform/scroll/ScrollView.cpp |
@@ -240,6 +240,18 @@ IntPoint ScrollView::adjustScrollPositionWithinRange(const IntPoint& scrollPoint |
return newScrollPosition; |
} |
+void ScrollView::adjustScrollbarOpacity() |
+{ |
+ if (m_horizontalScrollbar && layerForHorizontalScrollbar()) { |
+ bool isOpaqueScrollbar = !m_horizontalScrollbar->isOverlayScrollbar(); |
+ layerForHorizontalScrollbar()->setContentsOpaque(isOpaqueScrollbar); |
+ } |
+ if (m_verticalScrollbar && layerForVerticalScrollbar()) { |
+ bool isOpaqueScrollbar = !m_verticalScrollbar->isOverlayScrollbar(); |
+ layerForVerticalScrollbar()->setContentsOpaque(isOpaqueScrollbar); |
+ } |
+} |
+ |
int ScrollView::scrollSize(ScrollbarOrientation orientation) const |
{ |
Scrollbar* scrollbar = ((orientation == HorizontalScrollbar) ? m_horizontalScrollbar : m_verticalScrollbar).get(); |
@@ -812,6 +824,7 @@ bool ScrollView::isScrollCornerVisible() const |
void ScrollView::scrollbarStyleChanged() |
{ |
+ adjustScrollbarOpacity(); |
contentsResized(); |
updateScrollbars(scrollOffset()); |
positionScrollbarLayers(); |