blink: Refactor image decoder to set |allow_decode_to_yuv_| in the base class.

Once yuv decoding is fixed for JPEGs, |allow_decode_to_yuv_| will be controlled by
the DecodeJpeg420ImagesToYUV flag introduced in
https://chromium-review.googlesource.com/c/chromium/src/+/1768817

* Remove runtime flag check from deferred image decoder and instead
  check in the webp_image decoder class. This will simplify the logic
  and allow JPEG/WebP yuv decoding to be enabled/disabled independently.
* Rename |can_decode_to_yuv_| to |allow_decode_to_yuv_| for clarity.
  This indicates whether yuv decoding is supported by the decoder, not
  whether or not the image can be decoded to yuv.
* Move |allow_decode_to_yuv_| and set to false by default. Update
  CanDecodeToYUV() to return |allow_decode_to_yuv_|.
* Move |image_planes_| to the base image decoder class and disallow
  overriding SetImagePlanes().
* Remove |decode_to_yuv_for_testing_| and instead directly set
  |allow_decode_to_yuv_| for testing.

Bug: 919627
Change-Id: Ie0693b8ac670aadf59ce94fda7cdc238132f2a8c
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1768818
Reviewed-by: Stephen Chenney <schenney@chromium.org>
Reviewed-by: Daniele Castagna <dcastagna@chromium.org>
Reviewed-by: Andres Calderon Jaramillo <andrescj@chromium.org>
Commit-Queue: Daniele Castagna <dcastagna@chromium.org>
Cr-Commit-Position: refs/heads/master@{#695341}
6 files changed