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

Unified Diff: chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc

Issue 931993002: Make image_decoder a Leaky LazyInstance (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix a few comments Created 5 years, 9 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
Index: chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
diff --git a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
index 2ffad5ee6dd400a5d94697679a8f8b67acda8b32..7e784d65bf6e811f51e5d60d079ebe1b3a6cc084 100644
--- a/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
+++ b/chrome/browser/chromeos/login/supervised/supervised_user_creation_screen.cc
@@ -100,12 +100,13 @@ SupervisedUserCreationScreen::SupervisedUserCreationScreen(
BaseScreenDelegate* base_screen_delegate,
SupervisedUserCreationScreenHandler* actor)
: BaseScreen(base_screen_delegate),
+ ImageRequest(content::BrowserThread::GetMessageLoopProxyForThread(
+ content::BrowserThread::UI)),
actor_(actor),
on_error_screen_(false),
manager_signin_in_progress_(false),
last_page_(kNameOfIntroScreen),
sync_service_(NULL),
- image_decoder_(NULL),
apply_photo_after_decoding_(false),
selected_image_(0),
histogram_helper_(new ErrorScreensHistogramHelper("Supervised")),
@@ -121,8 +122,6 @@ SupervisedUserCreationScreen::~SupervisedUserCreationScreen() {
sync_service_->RemoveObserver(this);
if (actor_)
actor_->SetDelegate(NULL);
- if (image_decoder_.get())
- image_decoder_->set_delegate(NULL);
NetworkPortalDetector::Get()->RemoveObserver(this);
}
@@ -592,27 +591,18 @@ void SupervisedUserCreationScreen::OnPhotoTaken(
const std::string& raw_data) {
DCHECK(content::BrowserThread::CurrentlyOn(content::BrowserThread::UI));
user_photo_ = gfx::ImageSkia();
- if (image_decoder_.get())
- image_decoder_->set_delegate(NULL);
- image_decoder_ = new ImageDecoder(this, raw_data,
- ImageDecoder::DEFAULT_CODEC);
- scoped_refptr<base::MessageLoopProxy> task_runner =
- content::BrowserThread::GetMessageLoopProxyForThread(
- content::BrowserThread::UI);
- image_decoder_->Start(task_runner);
+ ImageDecoder::Cancel(this);
+ ImageDecoder::Start(this, raw_data);
}
void SupervisedUserCreationScreen::OnImageDecoded(
- const ImageDecoder* decoder,
const SkBitmap& decoded_image) {
- DCHECK_EQ(image_decoder_.get(), decoder);
user_photo_ = gfx::ImageSkia::CreateFrom1xBitmap(decoded_image);
if (apply_photo_after_decoding_)
ApplyPicture();
}
-void SupervisedUserCreationScreen::OnDecodeImageFailed(
- const ImageDecoder* decoder) {
+void SupervisedUserCreationScreen::OnDecodeImageFailed() {
NOTREACHED() << "Failed to decode PNG image from WebUI";
}

Powered by Google App Engine
This is Rietveld 408576698