Index: Source/core/rendering/RenderLayerScrollableArea.cpp |
diff --git a/Source/core/rendering/RenderLayerScrollableArea.cpp b/Source/core/rendering/RenderLayerScrollableArea.cpp |
index 591abf0e3a4161669ef8099d60cfe71f1d77f50e..0057d937b66bba370a652dfe23fd90d6649ead53 100644 |
--- a/Source/core/rendering/RenderLayerScrollableArea.cpp |
+++ b/Source/core/rendering/RenderLayerScrollableArea.cpp |
@@ -76,6 +76,7 @@ const int ResizerControlExpandRatioForTouch = 2; |
RenderLayerScrollableArea::RenderLayerScrollableArea(RenderBox* box) |
: m_box(box) |
, m_inResizeMode(false) |
+ , m_scrollsOverflow(false) |
, m_scrollDimensionsDirty(true) |
, m_inOverflowRelayout(false) |
, m_needsCompositedScrolling(false) |
@@ -967,14 +968,6 @@ void RenderLayerScrollableArea::positionOverflowControls(const IntSize& offsetFr |
m_box->compositedLayerMapping()->positionOverflowControlsLayers(offsetFromRoot); |
} |
-bool RenderLayerScrollableArea::scrollsOverflow() const |
-{ |
- if (FrameView* frameView = m_box->view()->frameView()) |
- return frameView->containsScrollableArea(this); |
- |
- return false; |
-} |
- |
void RenderLayerScrollableArea::updateScrollCornerStyle() |
{ |
if (!m_scrollCorner && !hasScrollbar()) |
@@ -1415,9 +1408,10 @@ void RenderLayerScrollableArea::updateScrollableAreaSet(bool hasOverflow) |
if (HTMLFrameOwnerElement* owner = frame->ownerElement()) |
isVisibleToHitTest &= owner->renderer() && owner->renderer()->visibleToHitTesting(); |
- bool requiresScrollableArea = hasOverflow && isVisibleToHitTest; |
+ m_scrollsOverflow = hasOverflow && isVisibleToHitTest; |
+ |
bool updatedScrollableAreaSet = false; |
- if (requiresScrollableArea) { |
+ if (m_scrollsOverflow) { |
if (frameView->addScrollableArea(this)) |
updatedScrollableAreaSet = true; |
} else { |
@@ -1432,7 +1426,7 @@ void RenderLayerScrollableArea::updateScrollableAreaSet(bool hasOverflow) |
RenderLayerCompositor* compositor = m_box->view()->compositor(); |
if (compositor->acceleratedCompositingForOverflowScrollEnabled()) |
layer()->didUpdateNeedsCompositedScrolling(); |
- else if (requiresScrollableArea) |
+ else if (m_scrollsOverflow) |
compositor->setNeedsUpdateCompositingRequirementsState(); |
else |
setNeedsCompositedScrolling(false); |