Chromium Code Reviews| Index: Source/platform/graphics/paint/DisplayItem.h |
| diff --git a/Source/platform/graphics/paint/DisplayItem.h b/Source/platform/graphics/paint/DisplayItem.h |
| index ed8985384fd6aee80bffa12ab56447a5271950e0..dabad7fbe01dd8383d5bde7434db4737e0b83471 100644 |
| --- a/Source/platform/graphics/paint/DisplayItem.h |
| +++ b/Source/platform/graphics/paint/DisplayItem.h |
| @@ -24,7 +24,7 @@ class WebDisplayItemList; |
| class PLATFORM_EXPORT DisplayItem { |
| public: |
| enum { |
| - // Must be kept in sync with core/layout/PaintPhase.h. |
| + // Must be kept in sync with core/paint/PaintPhase.h. |
| PaintPhaseMax = 12, |
| }; |
| @@ -173,9 +173,34 @@ public: |
| EndSubtreePaintPhaseLast = EndSubtreePaintPhaseFirst + PaintPhaseMax, |
| EndSubtreeLast = EndSubtreePaintPhaseLast, |
| - TypeLast = EndSubtreeLast |
| + UninitializedType, |
|
jbroman
2015/06/29 18:11:56
Superduper nit: to me it seems nicer for the in-me
pdr.
2015/06/29 22:20:03
Oops, I landed this in the BoxClipper patch (https
|
| + TypeLast = UninitializedType |
| }; |
| + DisplayItem() |
|
chrishtr
2015/06/29 17:19:16
Add a comment about the use case. Also maybe priva
pdr.
2015/06/29 22:20:03
Moved to private and just friended ListContainer::
|
| + : m_client(nullptr) |
| + , m_scopeContainer(nullptr) |
| + , m_scopeId(0) |
| + , m_type(UninitializedType) |
| + , m_skippedCache(false) |
| + , m_ignoredFromList(true) |
| +#ifndef NDEBUG |
| + , m_clientDebugString("invalid") |
| +#endif |
| + { } |
| + |
| + DisplayItem(const DisplayItemClientWrapper& client, Type type) |
| + : m_client(client.displayItemClient()) |
| + , m_scopeContainer(nullptr) |
| + , m_scopeId(0) |
| + , m_type(type) |
| + , m_skippedCache(false) |
| + , m_ignoredFromList(false) |
| +#ifndef NDEBUG |
| + , m_clientDebugString(client.debugName()) |
| +#endif |
| + { } |
| + |
| struct Id { |
| Id(DisplayItemClient c, Type t) : client(c), type(t), scopeId(0), scopeContainer(nullptr) |
| { |
| @@ -303,6 +328,9 @@ public: |
| virtual bool drawsContent() const { return false; } |
| + bool ignoreFromDisplayList() const { return m_ignoredFromList; } |
| + void setIgnoredFromDisplayList() { m_ignoredFromList = true; } |
| + |
| #ifndef NDEBUG |
| static WTF::String typeAsDebugString(DisplayItem::Type); |
| const WTF::String& clientDebugString() const { return m_clientDebugString; } |
| @@ -310,18 +338,6 @@ public: |
| virtual void dumpPropertiesAsDebugString(WTF::StringBuilder&) const; |
| #endif |
| -protected: |
| - DisplayItem(const DisplayItemClientWrapper& client, Type type) |
| - : m_client(client.displayItemClient()) |
| - , m_scopeContainer(nullptr) |
| - , m_scopeId(0) |
| - , m_type(type) |
| - , m_skippedCache(false) |
| -#ifndef NDEBUG |
| - , m_clientDebugString(client.debugName()) |
| -#endif |
| - { } |
| - |
| private: |
| const DisplayItemClient m_client; |
| DisplayItemClient m_scopeContainer; |
| @@ -329,6 +345,7 @@ private: |
| static_assert(TypeLast < (1 << 16), "DisplayItem::Type should fit in 16 bits"); |
| const Type m_type : 16; |
| unsigned m_skippedCache : 1; |
| + unsigned m_ignoredFromList : 1; |
| #ifndef NDEBUG |
| WTF::String m_clientDebugString; |