Index: cc/tiles/checker_image_tracker.h |
diff --git a/cc/tiles/checker_image_tracker.h b/cc/tiles/checker_image_tracker.h |
index 335050c6b9df5ec861be30f2f6b58f852bbebf07..a5b730845b06644b2333a11488a71a713d27aaed 100644 |
--- a/cc/tiles/checker_image_tracker.h |
+++ b/cc/tiles/checker_image_tracker.h |
@@ -33,6 +33,14 @@ class CC_EXPORT CheckerImageTrackerClient { |
// sync tree until the previous tree is activated. |
class CC_EXPORT CheckerImageTracker { |
public: |
+ enum class DecodeType { kRaster, kPreDecode }; |
vmpstr
2017/06/12 21:45:30
Comment please
Khushal
2017/06/14 00:29:19
Done.
|
+ |
+ struct ImageDecodeRequest { |
+ ImageDecodeRequest(PaintImage paint_image, DecodeType type); |
+ PaintImage paint_image; |
+ DecodeType type; |
+ }; |
+ |
CheckerImageTracker(ImageController* image_controller, |
CheckerImageTrackerClient* client, |
bool enable_checker_imaging); |
@@ -42,9 +50,13 @@ class CC_EXPORT CheckerImageTracker { |
// service and it should be be skipped during raster. |
bool ShouldCheckerImage(const DrawImage& image, WhichTree tree); |
- using ImageDecodeQueue = std::vector<PaintImage>; |
+ // Provides a prioritized queue of images to decode. |
+ using ImageDecodeQueue = std::vector<ImageDecodeRequest>; |
void ScheduleImageDecodeQueue(ImageDecodeQueue image_decode_queue); |
+ // Sets whether decode work should be scheduled for pre-decode tiles. |
+ void SetCanSchedulePredecodeImages(bool can_schedule_predecode_images); |
+ |
// Returns the set of images to invalidate on the sync tree. |
const PaintImageIdFlatSet& TakeImagesToInvalidateOnSyncTree(); |
@@ -130,6 +142,9 @@ class CC_EXPORT CheckerImageTracker { |
// dependent on these images. |
ImageDecodeQueue image_decode_queue_; |
+ // Whether we can schedule decodes for pre-decoded images. |
+ bool can_schedule_predecode_images_ = false; |
+ |
// The currently outstanding image decode that has been scheduled with the |
// decode service. There can be only one outstanding decode at a time. |
base::Optional<PaintImage> outstanding_image_decode_; |