| 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 5153efde1d23c2c9080d506d21f49853ef941b9e..785816f5a992c2e24e94d9f04f2753b2e887ad88 100644
|
| --- a/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp
|
| @@ -409,12 +409,17 @@ static FloatPoint slowLocalToAncestorPoint(const LayoutObject& object,
|
| return result;
|
| }
|
|
|
| -LayoutPoint
|
| -PaintInvalidationState::computePositionFromPaintInvalidationBacking() const {
|
| +LayoutPoint PaintInvalidationState::computeLocationInBacking(
|
| + const LayoutPoint& visualRectLocation) const {
|
| #if ENABLE(ASSERT)
|
| DCHECK(!m_didUpdateForChildren);
|
| #endif
|
|
|
| + // Use visual rect location for LayoutTexts because it suffices to check
|
| + // visual rect change for layout caused invalidation.
|
| + if (m_currentObject.isText())
|
| + return visualRectLocation;
|
| +
|
| FloatPoint point;
|
| if (m_paintInvalidationContainer != &m_currentObject) {
|
| if (m_cachedOffsetsEnabled) {
|
| @@ -422,7 +427,9 @@ PaintInvalidationState::computePositionFromPaintInvalidationBacking() const {
|
| point = m_svgTransform.mapPoint(point);
|
| point += FloatPoint(m_paintOffset);
|
| #ifdef CHECK_FAST_PATH_SLOW_PATH_EQUALITY
|
| - DCHECK(point == slowLocalOriginToAncestorPoint(m_currentObject, m_paintInvalidationContainer, FloatPoint());
|
| + DCHECK(point ==
|
| + slowLocalOriginToAncestorPoint(
|
| + m_currentObject, m_paintInvalidationContainer, FloatPoint()));
|
| #endif
|
| } else {
|
| point = slowLocalToAncestorPoint(
|
|
|