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

Unified Diff: third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h

Issue 2614093002: Combine LayoutObject::previousPaintOffset and paintOffset in paint properties (Closed)
Patch Set: - Created 3 years, 11 months 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/paint/FindPropertiesNeedingUpdate.h
diff --git a/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h b/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
index 0df5618bf795089fa535d7a6b7679a07b14f9d64..835870bbc0f50a51a6ffeaa4fe8e71c89f004d6c 100644
--- a/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
+++ b/third_party/WebKit/Source/core/paint/FindPropertiesNeedingUpdate.h
@@ -110,7 +110,8 @@ class FindObjectPropertiesNeedingUpdateScope {
PaintPropertyTreeBuilderContext& context)
: m_object(object),
m_neededPaintPropertyUpdate(object.needsPaintPropertyUpdate()),
- m_neededForcedSubtreeUpdate(context.forceSubtreeUpdate) {
+ m_neededForcedSubtreeUpdate(context.forceSubtreeUpdate),
+ m_originalPaintOffset(object.paintOffset()) {
// No need to check if an update was already needed.
if (m_neededPaintPropertyUpdate || m_neededForcedSubtreeUpdate)
return;
@@ -134,6 +135,8 @@ class FindObjectPropertiesNeedingUpdateScope {
// LayoutObject::setNeedsPaintPropertyUpdate().
// 2) The PrePaintTreeWalk should have had a forced subtree update (see:
// PaintPropertyTreeBuilderContext::forceSubtreeUpdate).
+ DCHECK_OBJECT_PROPERTY_EQ(m_object, &m_originalPaintOffset,
+ &m_object.paintOffset());
const auto* objectProperties = m_object.paintProperties();
if (m_originalProperties && objectProperties) {
DCHECK_OBJECT_PROPERTY_EQ(m_object,
@@ -172,20 +175,14 @@ class FindObjectPropertiesNeedingUpdateScope {
const auto* objectBorderBox =
objectProperties->localBorderBoxProperties();
if (originalBorderBox && objectBorderBox) {
- DCHECK_OBJECT_PROPERTY_EQ(m_object, &originalBorderBox->paintOffset,
- &objectBorderBox->paintOffset);
- DCHECK_OBJECT_PROPERTY_EQ(
- m_object, originalBorderBox->propertyTreeState.transform(),
- objectBorderBox->propertyTreeState.transform());
- DCHECK_OBJECT_PROPERTY_EQ(m_object,
- originalBorderBox->propertyTreeState.clip(),
- objectBorderBox->propertyTreeState.clip());
- DCHECK_OBJECT_PROPERTY_EQ(m_object,
- originalBorderBox->propertyTreeState.effect(),
- objectBorderBox->propertyTreeState.effect());
- DCHECK_OBJECT_PROPERTY_EQ(m_object,
- originalBorderBox->propertyTreeState.scroll(),
- objectBorderBox->propertyTreeState.scroll());
+ DCHECK_OBJECT_PROPERTY_EQ(m_object, originalBorderBox->transform(),
+ objectBorderBox->transform());
+ DCHECK_OBJECT_PROPERTY_EQ(m_object, originalBorderBox->clip(),
+ objectBorderBox->clip());
+ DCHECK_OBJECT_PROPERTY_EQ(m_object, originalBorderBox->effect(),
+ objectBorderBox->effect());
+ DCHECK_OBJECT_PROPERTY_EQ(m_object, originalBorderBox->scroll(),
+ objectBorderBox->scroll());
} else {
DCHECK_EQ(!!originalBorderBox, !!objectBorderBox)
<< " Object: " << m_object.debugName();
@@ -202,6 +199,7 @@ class FindObjectPropertiesNeedingUpdateScope {
const LayoutObject& m_object;
bool m_neededPaintPropertyUpdate;
bool m_neededForcedSubtreeUpdate;
+ LayoutPoint m_originalPaintOffset;
std::unique_ptr<const ObjectPaintProperties> m_originalProperties;
};

Powered by Google App Engine
This is Rietveld 408576698