Index: third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp |
diff --git a/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp |
index da519217ae7084c3281d03457413fdf805f25d74..51bbe108a1fafcc4745b9155e5492f866d6e8475 100644 |
--- a/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp |
+++ b/third_party/WebKit/Source/platform/graphics/paint/PaintController.cpp |
@@ -124,7 +124,9 @@ void PaintController::invalidate(const DisplayItemClientWrapper& client, PaintIn |
void PaintController::invalidateClient(const DisplayItemClientWrapper& client) |
{ |
#if ENABLE(ASSERT) |
- m_invalidations.append(client.debugName()); |
+ // Slimming paint v1 CompositedLayerMapping may invalidate client on extra layers. |
+ if (RuntimeEnabledFeatures::slimmingPaintV2Enabled() || clientCacheIsValid(client.displayItemClient())) |
+ m_invalidations.append(client.debugName()); |
#endif |
invalidateUntracked(client.displayItemClient()); |
@@ -278,7 +280,7 @@ void PaintController::commitNewDisplayItems() |
&& m_newDisplayItemList.last().type() == DisplayItem::CachedDisplayItemList) { |
// The whole display item list is cached. |
ASSERT(m_newDisplayItemList.size() == 1 |
- || (m_newDisplayItemList.size() == 2 && m_newDisplayItemList[0].type() == DisplayItem::DebugRedFill)); |
+ || (m_newDisplayItemList.size() == 2 && DisplayItem::nonCachedType(m_newDisplayItemList[0].type()) == DisplayItem::DebugRedFill)); |
ASSERT(m_invalidations.isEmpty()); |
ASSERT(m_clientsCheckedPaintInvalidation.isEmpty()); |
m_newDisplayItemList.clear(); |