Index: Source/platform/graphics/paint/DisplayItemList.cpp |
diff --git a/Source/platform/graphics/paint/DisplayItemList.cpp b/Source/platform/graphics/paint/DisplayItemList.cpp |
index 4f990f6f4dfd51482d297bfec7cf7a1a1e662e1f..dcdec339b834d8035035fb40538847da4d8de6f4 100644 |
--- a/Source/platform/graphics/paint/DisplayItemList.cpp |
+++ b/Source/platform/graphics/paint/DisplayItemList.cpp |
@@ -142,20 +142,23 @@ bool DisplayItemList::clientCacheIsValid(DisplayItemClient client) const |
return m_validlyCachedClients.contains(client); |
} |
-void DisplayItemList::invalidatePaintOffset(DisplayItemClient client) |
+void DisplayItemList::invalidatePaintOffset(const DisplayItemClientWrapper& client) |
{ |
ASSERT(RuntimeEnabledFeatures::slimmingPaintV2Enabled()); |
updateValidlyCachedClientsIfNeeded(); |
- m_validlyCachedClients.remove(client); |
+ m_validlyCachedClients.remove(client.displayItemClient()); |
+ |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled() && m_trackedPaintInvalidationObjects) |
+ m_trackedPaintInvalidationObjects->append(client.debugName()); |
#if ENABLE(ASSERT) |
- m_clientsWithPaintOffsetInvalidations.add(client); |
+ m_clientsWithPaintOffsetInvalidations.add(client.displayItemClient()); |
// Ensure no phases slipped in using the old paint offset which would indicate |
// different phases used different paint offsets, which should not happen. |
for (const auto& item : m_newDisplayItems) |
- ASSERT(!item.isCached() || item.client() != client); |
+ ASSERT(!item.isCached() || item.client() != client.displayItemClient()); |
#endif |
} |