Index: Source/platform/graphics/paint/DisplayItemList.h |
diff --git a/Source/platform/graphics/paint/DisplayItemList.h b/Source/platform/graphics/paint/DisplayItemList.h |
index 4c3ef97d74167bbd008d0a99cfa7af4a2bcd386f..a8a8306680b16d9fc65cc0bf97f31c825a83af12 100644 |
--- a/Source/platform/graphics/paint/DisplayItemList.h |
+++ b/Source/platform/graphics/paint/DisplayItemList.h |
@@ -27,6 +27,10 @@ static const size_t kDisplayItemAlignment = WTF_ALIGN_OF(BeginTransform3DDisplay |
static const size_t kInitialDisplayItemsCapacity = 64; |
static const size_t kMaximumDisplayItemSize = sizeof(BeginTransform3DDisplayItem); |
+// Map from SimpleLayer.startPoint to the DrawingDisplayItems within its range |
+// which were invalidated on this frame and do not change SimpleLayers. |
+using DisplayListDiff = HashMap<DisplayItemClient, DisplayItem*>; |
+ |
using DisplayItems = ContiguousContainer<DisplayItem, kDisplayItemAlignment>; |
class PLATFORM_EXPORT DisplayItemList { |
@@ -70,8 +74,9 @@ public: |
void endSkippingCache() { ASSERT(m_skippingCacheCount > 0); --m_skippingCacheCount; } |
bool skippingCache() const { return m_skippingCacheCount; } |
- // Must be called when a painting is finished. |
- void commitNewDisplayItems(); |
+ // Must be called when a painting is finished. If passed, a DisplayListDiff |
+ // is initialized and created. |
+ void commitNewDisplayItems(DisplayListDiff* = 0); |
// Returns the approximate memory usage, excluding memory likely to be |
// shared with the embedder after copying to WebDisplayItemList. |