Handle simple SkImageShaders
Currently, the Image Decode Controller (IDC) can't process images that
are embedded in a SkPaint's SkShader. This change expands coverage to
handle cases where the SkShader is a simple SkImageShader, for which
Skia provides introspection via isAImage().
This change updates DiscardableImageMap to allow us to track and pre-
decode these images. It additionally updates ImageHijackCanvas to
replace the un-decoded images with decoded ones at runtime.
This change does not yet handle decoding sub-rects of images used
in an SkImageShader, although that should be a relatively
straight-forward follow-up.
R=vmpstr,vmiura
BUG=
667479
CQ_INCLUDE_TRYBOTS=master.tryserver.blink:linux_trusty_blink_rel
Committed:
https://crrev.com/6dfd1ba1efd6d4669b5f048eab38beaadfa63934
Cr-Commit-Position: refs/heads/master@{#436796}