Index: cc/paint/paint_image.cc |
diff --git a/cc/paint/paint_image.cc b/cc/paint/paint_image.cc |
index 846b3beecf6bc17923a6ba1280efc8b2e10e73f3..085ef24c65dbe61ca233753e96b7ea7fb9b1c6da 100644 |
--- a/cc/paint/paint_image.cc |
+++ b/cc/paint/paint_image.cc |
@@ -3,14 +3,20 @@ |
// found in the LICENSE file. |
#include "cc/paint/paint_image.h" |
+#include "base/atomic_sequence_num.h" |
namespace cc { |
+namespace { |
+base::StaticAtomicSequenceNumber s_next_id_; |
+} |
PaintImage::PaintImage() = default; |
-PaintImage::PaintImage(sk_sp<SkImage> sk_image, |
+PaintImage::PaintImage(Id id, |
+ sk_sp<SkImage> sk_image, |
AnimationType animation_type, |
CompletionState completion_state) |
- : sk_image_(std::move(sk_image)), |
+ : id_(id), |
+ sk_image_(std::move(sk_image)), |
animation_type_(animation_type), |
completion_state_(completion_state) {} |
PaintImage::PaintImage(const PaintImage& other) = default; |
@@ -21,9 +27,13 @@ PaintImage& PaintImage::operator=(const PaintImage& other) = default; |
PaintImage& PaintImage::operator=(PaintImage&& other) = default; |
bool PaintImage::operator==(const PaintImage& other) { |
- return sk_image_ == other.sk_image_ && |
+ return id_ == other.id_ && sk_image_ == other.sk_image_ && |
animation_type_ == other.animation_type_ && |
completion_state_ == other.completion_state_; |
} |
+PaintImage::Id PaintImage::GetNextId() { |
+ return s_next_id_.GetNext(); |
+} |
+ |
} // namespace cc |