| Index: third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp
|
| index ca464ab93c3cb9394109bdd14c06d0e99660266c..221a7418714f6efb387f5bcad8363618d61bb006 100644
|
| --- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp
|
| @@ -156,14 +156,14 @@ void PaintInvalidationState::updatePaintOffsetAndClipForChildren()
|
| // FIXME: <http://bugs.webkit.org/show_bug.cgi?id=13443> Apply control clip if present.
|
| }
|
|
|
| -void PaintInvalidationState::mapObjectRectToAncestor(const LayoutObject& object, const LayoutBoxModelObject* ancestor, LayoutRect& rect) const
|
| +bool PaintInvalidationState::mapObjectRectToAncestor(const LayoutObject& object, const LayoutBoxModelObject* ancestor, LayoutRect& rect, bool edgeInclusive) const
|
| {
|
| ASSERT(canMapToAncestor(ancestor));
|
|
|
| if (ancestor == &object) {
|
| if (object.isBox() && object.styleRef().isFlippedBlocksWritingMode())
|
| toLayoutBox(object).flipForWritingMode(rect);
|
| - return;
|
| + return true;
|
| }
|
|
|
| if (object.hasLayer()) {
|
| @@ -179,8 +179,13 @@ void PaintInvalidationState::mapObjectRectToAncestor(const LayoutObject& object,
|
|
|
| rect.move(m_paintOffset);
|
|
|
| - if (m_clipped)
|
| + if (m_clipped) {
|
| + if (edgeInclusive)
|
| + return rect.inclusiveIntersect(m_clipRect);
|
| rect.intersect(m_clipRect);
|
| + }
|
| +
|
| + return true;
|
| }
|
|
|
| void PaintInvalidationState::addClipRectRelativeToPaintOffset(const LayoutSize& clipSize)
|
|
|