| Index: Source/core/layout/LayoutObject.cpp
|
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
|
| index 243fa13b8cf6447ac595aa712f256731738ecfa0..39912284a41dacf2f68f32faac07fca4172e674a 100644
|
| --- a/Source/core/layout/LayoutObject.cpp
|
| +++ b/Source/core/layout/LayoutObject.cpp
|
| @@ -2359,6 +2359,11 @@ LayoutObject* LayoutObject::container(const LayoutBoxModelObject* paintInvalidat
|
| return o;
|
| }
|
|
|
| +LayoutObject* LayoutObject::containerCrossingFrameBoundaries() const
|
| +{
|
| + return isLayoutView() ? frame()->ownerLayoutObject() : container();
|
| +}
|
| +
|
| bool LayoutObject::isSelectionBorder() const
|
| {
|
| SelectionState st = selectionState();
|
| @@ -3109,7 +3114,7 @@ static PaintInvalidationReason documentLifecycleBasedPaintInvalidationReason(con
|
|
|
| inline void LayoutObject::markContainerChainForPaintInvalidation()
|
| {
|
| - for (LayoutObject* container = this->container(); container && !container->shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState(); container = container->container())
|
| + for (LayoutObject* container = this->containerCrossingFrameBoundaries(); container && !container->shouldCheckForPaintInvalidationRegardlessOfPaintInvalidationState(); container = container->containerCrossingFrameBoundaries())
|
| container->setSelfMayNeedPaintInvalidation();
|
| }
|
|
|
|
|