| Index: cc/tiles/decoded_image_tracker.cc
|
| diff --git a/cc/tiles/decoded_image_tracker.cc b/cc/tiles/decoded_image_tracker.cc
|
| index cdfa39bb28e8bd30bf221151a58c96b15ee38be7..5672854c1f554ff578075859a2662d293799075a 100644
|
| --- a/cc/tiles/decoded_image_tracker.cc
|
| +++ b/cc/tiles/decoded_image_tracker.cc
|
| @@ -15,8 +15,9 @@ DecodedImageTracker::~DecodedImageTracker() {
|
| image_controller_->UnlockImageDecode(pair.first);
|
| }
|
|
|
| -void DecodedImageTracker::QueueImageDecode(sk_sp<const SkImage> image,
|
| - const base::Closure& callback) {
|
| +void DecodedImageTracker::QueueImageDecode(
|
| + sk_sp<const SkImage> image,
|
| + const base::Callback<void(bool)>& callback) {
|
| DCHECK(image_controller_);
|
| // Queue the decode in the image controller, but switch out the callback for
|
| // our own.
|
| @@ -41,10 +42,15 @@ void DecodedImageTracker::NotifyFrameFinished() {
|
| }
|
|
|
| void DecodedImageTracker::ImageDecodeFinished(
|
| - const base::Closure& callback,
|
| - ImageController::ImageDecodeRequestId id) {
|
| - locked_images_.push_back(std::make_pair(id, kNumFramesToLock));
|
| - callback.Run();
|
| + const base::Callback<void(bool)>& callback,
|
| + ImageController::ImageDecodeRequestId id,
|
| + ImageController::ImageDecodeResult result) {
|
| + if (result == ImageController::ImageDecodeResult::SUCCESS)
|
| + locked_images_.push_back(std::make_pair(id, kNumFramesToLock));
|
| + bool decode_succeeded =
|
| + result == ImageController::ImageDecodeResult::SUCCESS ||
|
| + result == ImageController::ImageDecodeResult::DECODE_NOT_REQUIRED;
|
| + callback.Run(decode_succeeded);
|
| }
|
|
|
| } // namespace cc
|
|
|