Index: third_party/WebKit/Source/core/paint/PaintLayer.cpp |
diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.cpp b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
index 01825db216bfcbc45fe7b06d16d95043328839c5..246945079e83a231858196dcb2214309413a42c9 100644 |
--- a/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
+++ b/third_party/WebKit/Source/core/paint/PaintLayer.cpp |
@@ -800,12 +800,15 @@ bool PaintLayer::update3DTransformedDescendantStatus() { |
void PaintLayer::updateLayerPosition() { |
LayoutPoint localPoint; |
+ bool didResize = false; |
if (layoutObject()->isInline() && layoutObject()->isLayoutInline()) { |
LayoutInline* inlineFlow = toLayoutInline(layoutObject()); |
IntRect lineBox = enclosingIntRect(inlineFlow->linesBoundingBox()); |
m_size = lineBox.size(); |
} else if (LayoutBox* box = layoutBox()) { |
- m_size = pixelSnappedIntSize(box->size(), box->location()); |
+ IntSize newSize = pixelSnappedIntSize(box->size(), box->location()); |
+ didResize = newSize != m_size; |
+ m_size = newSize; |
localPoint.moveBy(box->topLeftLocation()); |
} |
@@ -863,6 +866,9 @@ void PaintLayer::updateLayerPosition() { |
m_location = localPoint; |
+ if (m_scrollableArea && didResize) |
+ m_scrollableArea->visibleSizeChanged(); |
+ |
#if DCHECK_IS_ON() |
m_needsPositionUpdate = false; |
#endif |