| 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();
|
|
|