Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(7)

Unified Diff: third_party/WebKit/Source/core/layout/PaintInvalidationState.cpp

Issue 2476813002: Move LayoutObject::m_previousPosition... into a global map in ObjectPaintInvalidator (Closed)
Patch Set: doc Created 4 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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(

Powered by Google App Engine
This is Rietveld 408576698