Index: Source/platform/graphics/paint/DisplayItemList.h |
diff --git a/Source/platform/graphics/paint/DisplayItemList.h b/Source/platform/graphics/paint/DisplayItemList.h |
index 164f94160f061d035a3d185fd06fd0032c7055b0..e8c258026dea60961bc8e966ca165d1c7cf1d479 100644 |
--- a/Source/platform/graphics/paint/DisplayItemList.h |
+++ b/Source/platform/graphics/paint/DisplayItemList.h |
@@ -6,6 +6,7 @@ |
#define DisplayItemList_h |
#include "platform/PlatformExport.h" |
+#include "platform/RuntimeEnabledFeatures.h" |
#include "platform/graphics/ContiguousContainer.h" |
#include "platform/graphics/paint/DisplayItem.h" |
#include "platform/graphics/paint/Transform3DDisplayItem.h" |
@@ -43,7 +44,8 @@ public: |
} |
// These methods are called during paint invalidation. |
- void invalidate(DisplayItemClient); |
+ void invalidate(const DisplayItemClientWrapper&); |
+ void invalidateUntracked(DisplayItemClient); |
void invalidateAll(); |
// These methods are called during painting. |
@@ -109,6 +111,22 @@ public: |
void showDebugData() const; |
#endif |
+ void startTrackingPaintInvalidationObjects() |
+ { |
+ ASSERT(RuntimeEnabledFeatures::slimmingPaintV2Enabled()); |
+ m_trackedPaintInvalidationObjects = adoptPtr(new Vector<String>()); |
+ } |
+ void stopTrackingPaintInvalidationObjects() |
+ { |
+ ASSERT(RuntimeEnabledFeatures::slimmingPaintV2Enabled()); |
+ m_trackedPaintInvalidationObjects = nullptr; |
+ } |
+ Vector<String> trackedPaintInvalidationObjects() |
+ { |
+ ASSERT(RuntimeEnabledFeatures::slimmingPaintV2Enabled()); |
+ return m_trackedPaintInvalidationObjects ? *m_trackedPaintInvalidationObjects : Vector<String>(); |
+ } |
+ |
protected: |
DisplayItemList() |
: m_currentDisplayItems(kMaximumDisplayItemSize, 0) |
@@ -183,6 +201,8 @@ private: |
// the duplicated ids are from. |
DisplayItemIndicesByClientMap m_newDisplayItemIndicesByClient; |
#endif |
+ |
+ OwnPtr<Vector<String>> m_trackedPaintInvalidationObjects; |
}; |
} // namespace blink |