Index: cc/test/picture_cache_model.h |
diff --git a/cc/test/picture_cache_model.h b/cc/test/picture_cache_model.h |
new file mode 100644 |
index 0000000000000000000000000000000000000000..d60a4fcb5fd40656bbc7e57bb4598ac59b161848 |
--- /dev/null |
+++ b/cc/test/picture_cache_model.h |
@@ -0,0 +1,40 @@ |
+// Copyright 2016 The Chromium Authors. All rights reserved. |
+// Use of this source code is governed by a BSD-style license that can be |
+// found in the LICENSE file. |
+ |
+#ifndef CC_TEST_PICTURE_CACHE_MODEL_H_ |
+#define CC_TEST_PICTURE_CACHE_MODEL_H_ |
+ |
+#include <stdint.h> |
+ |
+#include <unordered_map> |
+ |
+#include "base/macros.h" |
+#include "third_party/skia/include/core/SkRefCnt.h" |
+ |
+class SkPicture; |
+ |
+namespace cc { |
+ |
+// PictureCacheModel provides a way for sharing a cache between an engine |
+// and the client. When the FakeEnginePictureCache and the ClientPictureCache |
+// point to the same PictureCacheModel, the calls to AddPicture on the |
+// engine make an SkPicture available through GetPicture on the client. |
+class PictureCacheModel { |
+ public: |
+ PictureCacheModel(); |
+ ~PictureCacheModel(); |
+ |
+ void AddPicture(const SkPicture* picture); |
+ |
+ sk_sp<const SkPicture> GetPicture(uint32_t unique_id); |
+ |
+ private: |
+ std::unordered_map<uint32_t, sk_sp<const SkPicture>> pictures_; |
+ |
+ DISALLOW_COPY_AND_ASSIGN(PictureCacheModel); |
+}; |
+ |
+} // namespace cc |
+ |
+#endif // CC_TEST_PICTURE_CACHE_MODEL_H_ |