| Index: third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutObject.cpp b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| index 9f80ca593c47a33958f8c9eb025376c01f79dac5..9b26683f6a0ad0b280384b03441e41237c1e1e6e 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutObject.cpp
|
| @@ -1369,7 +1369,7 @@ inline void LayoutObject::invalidateSelectionIfNeeded(const LayoutBoxModelObject
|
| // Composited scrolling should not be included in the bounds and position tracking, because the graphics layer backing the scroller
|
| // does not move on scroll.
|
| if (paintInvalidationContainer.usesCompositedScrolling() && &paintInvalidationContainer != this) {
|
| - LayoutSize inverseOffset(toLayoutBox(&paintInvalidationContainer)->scrolledContentOffset());
|
| + LayoutSize inverseOffset= LayoutSize(toLayoutBox(&paintInvalidationContainer)->scrolledContentOffset());
|
| newSelectionRect.move(inverseOffset);
|
| }
|
|
|
| @@ -1601,16 +1601,11 @@ void LayoutObject::mapToVisibleRectInContainerSpace(const LayoutBoxModelObject*
|
| }
|
|
|
| if (LayoutObject* o = parent()) {
|
| - if (o != paintInvalidationContainer && o->hasOverflowClip()) {
|
| - LayoutBox* boxParent = toLayoutBox(o);
|
| - if (o == paintInvalidationContainer)
|
| - boxParent->applyCachedScrollOffsetForPaintInvalidation(rect);
|
| - else
|
| - boxParent->applyCachedClipAndScrollOffsetForPaintInvalidation(rect);
|
| + if (o->hasOverflowClip()) {
|
| + toLayoutBox(o)->applyOverflowClipAndScrollOffsetForPaintInvalidationIfNeeded(rect);
|
| if (rect.isEmpty())
|
| return;
|
| }
|
| -
|
| o->mapToVisibleRectInContainerSpace(paintInvalidationContainer, rect, paintInvalidationState);
|
| }
|
| }
|
|
|