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

Unified Diff: blimp/engine/renderer/engine_image_serialization_processor.h

Issue 1982893002: [blimp] Add SkPicture caching support. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix memory leak by adding virtual destructor 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: blimp/engine/renderer/engine_image_serialization_processor.h
diff --git a/blimp/engine/renderer/engine_image_serialization_processor.h b/blimp/engine/renderer/engine_image_serialization_processor.h
index b5519678eedd52de6de169d329ed6a5989a1342f..e8a9c0363ebc3cc8e08d7f42504563d14d81bfee 100644
--- a/blimp/engine/renderer/engine_image_serialization_processor.h
+++ b/blimp/engine/renderer/engine_image_serialization_processor.h
@@ -13,8 +13,8 @@
#include "blimp/common/blob_cache/id_util.h"
#include "blimp/engine/mojo/blob_channel.mojom.h"
#include "cc/proto/image_serialization_processor.h"
+#include "cc/proto/picture_cache.h"
#include "third_party/libwebp/webp/encode.h"
-#include "third_party/skia/include/core/SkPicture.h"
#include "third_party/skia/include/core/SkPixelSerializer.h"
namespace content {
@@ -26,8 +26,8 @@ namespace engine {
class BlobChannelSenderProxy;
-// EngineImageSerializationProcessor provides functionality to serialize and
-// deserialize Skia images.
+// EngineImageSerializationProcessor provides functionality to serialize
+// and temporarily cache Skia images.
class BLIMP_COMMON_EXPORT EngineImageSerializationProcessor
: public cc::ImageSerializationProcessor,
public SkPixelSerializer {
@@ -37,8 +37,8 @@ class BLIMP_COMMON_EXPORT EngineImageSerializationProcessor
~EngineImageSerializationProcessor() override;
// cc::ImageSerializationProcessor implementation.
- SkPixelSerializer* GetPixelSerializer() override;
- SkPicture::InstallPixelRefProc GetPixelDeserializer() override;
+ std::unique_ptr<cc::EnginePictureCache> CreateEnginePictureCache() override;
+ std::unique_ptr<cc::ClientPictureCache> CreateClientPictureCache() override;
// SkPixelSerializer implementation.
bool onUseEncodedData(const void* data, size_t len) override;
@@ -47,6 +47,8 @@ class BLIMP_COMMON_EXPORT EngineImageSerializationProcessor
private:
scoped_refptr<BlobData> EncodeImageAsBlob(const SkPixmap& pixmap);
+ // A serializer that be used to pass in to SkPicture::serialize(...) for
+ // serializing the SkPicture to a stream.
std::unique_ptr<SkPixelSerializer> pixel_serializer_;
// Sends image data as blobs to the browser process.

Powered by Google App Engine
This is Rietveld 408576698