Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1958)

Unified Diff: cc/playback/recording_source.h

Issue 1982893002: [blimp] Add SkPicture caching support. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: git merge origin/master Created 4 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: cc/playback/recording_source.h
diff --git a/cc/playback/recording_source.h b/cc/playback/recording_source.h
index 9e5aa7e95ae50e1ce5ece56f6700b6e7b0c9f0ae..2f0aabe2b809195a4b0b0a112402a9cd88bab877 100644
--- a/cc/playback/recording_source.h
+++ b/cc/playback/recording_source.h
@@ -23,10 +23,11 @@ namespace proto {
class RecordingSource;
} // namespace proto
+class ClientPictureCache;
class ContentLayerClient;
class DisplayItemList;
+class EnginePictureCache;
class RasterSource;
-class ImageSerializationProcessor;
class Region;
class CC_EXPORT RecordingSource {
@@ -46,11 +47,8 @@ class CC_EXPORT RecordingSource {
RecordingSource();
virtual ~RecordingSource();
- void ToProtobuf(
- proto::RecordingSource* proto,
- ImageSerializationProcessor* image_serialization_processor) const;
- void FromProtobuf(const proto::RecordingSource& proto,
- ImageSerializationProcessor* image_serialization_processor);
+ void ToProtobuf(proto::RecordingSource* proto) const;
+ void FromProtobuf(const proto::RecordingSource& proto);
bool UpdateAndExpandInvalidation(ContentLayerClient* painter,
Region* invalidation,
@@ -66,6 +64,10 @@ class CC_EXPORT RecordingSource {
void SetNeedsDisplayRect(const gfx::Rect& layer_rect);
+ void SetEnginePictureCache(EnginePictureCache* engine_picture_cache);
+
+ void SetClientPictureCache(ClientPictureCache* client_picture_cache);
+
// These functions are virtual for testing.
virtual scoped_refptr<RasterSource> CreateRasterSource(
bool can_use_lcd_text) const;
@@ -99,6 +101,22 @@ class CC_EXPORT RecordingSource {
void DetermineIfSolidColor();
+ // Updates the EnginePictureCache about the SkPictures currently in use.
+ void MarkForRegistrationEngine();
vmpstr 2016/06/16 22:09:59 Similarly here... is it possible to expose the ite
nyquist 2016/06/24 11:11:14 Done.
+ void MarkForUnregistrationEngine();
+
+ // Updates the ClientPictureCache about the SkPictures currently in use.
+ void MarkForRegistrationClient();
+ void MarkForUnregistrationClient();
+
+ // EnginePictureCache is used when the RecordingSource is instantiated on an
+ // engine, and the ClientPictureCache is only used on the client. They are
+ // never used together, but since the APIs are not the same, there needs
+ // to be two different members. Both caches are used to track which
+ // SkPictures are in use within the RecordingSource.
+ EnginePictureCache* engine_picture_cache_;
+ ClientPictureCache* client_picture_cache_;
+
InvalidationRegion invalidation_;
DISALLOW_COPY_AND_ASSIGN(RecordingSource);

Powered by Google App Engine
This is Rietveld 408576698