Currently caching of image decodes is keyed on the SkImage uniqueID for an image, both in cc and skia. As we remove the use of SkImageGenerator backed images to transport lazy decoded images from blink to cc, these images are no longer represented as SkImages in PaintImage.
In order to eliminate the need for these uniqueIDs, 2 things need to be fixed:
1) cc's decode cache key: The cache key used for an image frame needs to be based on an id that includes (paint_image_id, content_id, frame_index). The content_id is necessary to distinguish partially decoded frames of the same image.
2) remove skia cache usage: For images not being decoded in cc, i.e., encoded images in PaintRecords in PaintShaders/PaintImages, skia caches the decode using this uniqueID. Once we capture all images in cc, this will no longer be necessary.
Comment 1 by bugdroid1@chromium.org
, Sep 25 2017