Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4528)

Unified Diff: cc/tiles/decoded_image_tracker.cc

Issue 2703633004: cc: Make image controller return a status with the callback. (Closed)
Patch Set: update Created 3 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « cc/tiles/decoded_image_tracker.h ('k') | cc/tiles/decoded_image_tracker_unittest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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
« no previous file with comments | « cc/tiles/decoded_image_tracker.h ('k') | cc/tiles/decoded_image_tracker_unittest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698