| Index: Source/core/layout/LayoutObject.cpp
|
| diff --git a/Source/core/layout/LayoutObject.cpp b/Source/core/layout/LayoutObject.cpp
|
| index abd4d61201124cc82585b605cd753adc344d9950..a6ad5c7fe968776c58f8d70126b0defa408be5c5 100644
|
| --- a/Source/core/layout/LayoutObject.cpp
|
| +++ b/Source/core/layout/LayoutObject.cpp
|
| @@ -2342,6 +2342,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();
|
| @@ -3092,7 +3097,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();
|
| }
|
|
|
|
|