Index: cc/trees/element_id.h |
diff --git a/cc/trees/element_id.h b/cc/trees/element_id.h |
index 8518cf8ce13393c93c8d01faf224f27620d5269c..059cf2b36d7e8bdcaec6e9372004319f894bcacc 100644 |
--- a/cc/trees/element_id.h |
+++ b/cc/trees/element_id.h |
@@ -24,6 +24,10 @@ class TracedValue; |
namespace cc { |
+using ElementIdType = uint64_t; |
+ |
+static const ElementIdType kInvalidElementId = 0; |
+ |
// Element ids are chosen by cc's clients and can be used as a stable identifier |
// across updates. |
// |
@@ -44,9 +48,8 @@ namespace cc { |
// the Layer's lifetime because non-default ElementIds are only set during an |
// animation's lifetime. |
struct CC_EXPORT ElementId { |
- ElementId(int primaryId, int secondaryId) |
- : primaryId(primaryId), secondaryId(secondaryId) {} |
- ElementId() : ElementId(0, 0) {} |
+ explicit ElementId(int id) : id_(id) {} |
+ ElementId() : ElementId(kInvalidElementId) {} |
bool operator==(const ElementId& o) const; |
bool operator!=(const ElementId& o) const; |
@@ -61,11 +64,10 @@ struct CC_EXPORT ElementId { |
// The compositor treats this as an opaque handle and should not know how to |
// interpret these bits. Non-blink cc clients typically operate in terms of |
// layers and may set this value to match the client's layer id. |
- int primaryId; |
- int secondaryId; |
+ ElementIdType id_; |
}; |
-CC_EXPORT ElementId LayerIdToElementIdForTesting(int layer_id); |
+ElementId CC_EXPORT LayerIdToElementIdForTesting(int layer_id); |
struct CC_EXPORT ElementIdHash { |
size_t operator()(ElementId key) const; |