| Index: cc/tiles/checker_image_tracker.h
|
| diff --git a/cc/tiles/checker_image_tracker.h b/cc/tiles/checker_image_tracker.h
|
| index 205e4937ff54acfa6fe3fcde1ce85d333079ee1f..335050c6b9df5ec861be30f2f6b58f852bbebf07 100644
|
| --- a/cc/tiles/checker_image_tracker.h
|
| +++ b/cc/tiles/checker_image_tracker.h
|
| @@ -40,7 +40,7 @@ class CC_EXPORT CheckerImageTracker {
|
|
|
| // Returns true if the decode for |image| will be deferred to the image decode
|
| // service and it should be be skipped during raster.
|
| - bool ShouldCheckerImage(const PaintImage& image, WhichTree tree);
|
| + bool ShouldCheckerImage(const DrawImage& image, WhichTree tree);
|
|
|
| using ImageDecodeQueue = std::vector<PaintImage>;
|
| void ScheduleImageDecodeQueue(ImageDecodeQueue image_decode_queue);
|
| @@ -78,6 +78,15 @@ class CC_EXPORT CheckerImageTracker {
|
| SYNC
|
| };
|
|
|
| + // Contains the information to construct a DrawImage from PaintImage when
|
| + // queuing the image decode.
|
| + struct DecodeState {
|
| + DecodePolicy policy = DecodePolicy::SYNC;
|
| + SkFilterQuality filter_quality = kNone_SkFilterQuality;
|
| + SkSize scale = SkSize::MakeEmpty();
|
| + gfx::ColorSpace color_space;
|
| + };
|
| +
|
| // Wrapper to unlock an image decode requested from the ImageController on
|
| // destruction.
|
| class ScopedDecodeHolder {
|
| @@ -101,6 +110,9 @@ class CC_EXPORT CheckerImageTracker {
|
| // Called when the next request in the |image_decode_queue_| should be
|
| // scheduled with the image decode service.
|
| void ScheduleNextImageDecode();
|
| + void UpdateDecodeState(const DrawImage& draw_image,
|
| + PaintImage::Id paint_image_id,
|
| + DecodeState* decode_state);
|
|
|
| ImageController* image_controller_;
|
| CheckerImageTrackerClient* client_;
|
| @@ -123,7 +135,7 @@ class CC_EXPORT CheckerImageTracker {
|
| base::Optional<PaintImage> outstanding_image_decode_;
|
|
|
| // A map of ImageId to its DecodePolicy.
|
| - std::unordered_map<PaintImage::Id, DecodePolicy> image_async_decode_state_;
|
| + std::unordered_map<PaintImage::Id, DecodeState> image_async_decode_state_;
|
|
|
| // A map of image id to image decode request id for images to be unlocked.
|
| std::unordered_map<PaintImage::Id, std::unique_ptr<ScopedDecodeHolder>>
|
|
|