| Index: chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
|
| diff --git a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
|
| index 300965fae792800e6f21f5fa3c4bad8bbc31195c..8a18e67ab5232fb3f294f35a47ed34e7bb1a92fd 100644
|
| --- a/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
|
| +++ b/chrome/browser/ui/webui/options/chromeos/change_picture_options_handler.cc
|
| @@ -98,8 +98,6 @@ ChangePictureOptionsHandler::~ChangePictureOptionsHandler() {
|
| CameraPresenceNotifier::GetInstance()->RemoveObserver(this);
|
| if (select_file_dialog_.get())
|
| select_file_dialog_->ListenerDestroyed();
|
| - if (image_decoder_.get())
|
| - image_decoder_->set_delegate(NULL);
|
| }
|
|
|
| void ChangePictureOptionsHandler::GetLocalizedValues(
|
| @@ -240,13 +238,11 @@ void ChangePictureOptionsHandler::HandlePhotoTaken(
|
| user_photo_ = gfx::ImageSkia();
|
| user_photo_data_url_ = image_url;
|
|
|
| - 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 =
|
| BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI);
|
| - image_decoder_->Start(task_runner);
|
| + ImageDecoder::GetInstance()->Start(this, raw_data,
|
| + ImageDecoder::DEFAULT_CODEC,
|
| + task_runner);
|
| }
|
|
|
| void ChangePictureOptionsHandler::HandlePageInitialized(
|
| @@ -370,7 +366,6 @@ void ChangePictureOptionsHandler::HandleSelectImage(
|
| } else if (image_type == "camera") {
|
| // Camera image is selected.
|
| if (user_photo_.isNull()) {
|
| - DCHECK(image_decoder_.get());
|
| waiting_for_camera_photo = true;
|
| VLOG(1) << "Still waiting for camera image to decode";
|
| } else {
|
| @@ -394,10 +389,6 @@ void ChangePictureOptionsHandler::HandleSelectImage(
|
| } else {
|
| NOTREACHED() << "Unexpected image type: " << image_type;
|
| }
|
| -
|
| - // Ignore the result of the previous decoding if it's no longer needed.
|
| - if (!waiting_for_camera_photo && image_decoder_.get())
|
| - image_decoder_->set_delegate(NULL);
|
| }
|
|
|
| void ChangePictureOptionsHandler::FileSelected(const base::FilePath& path,
|
| @@ -458,16 +449,12 @@ gfx::NativeWindow ChangePictureOptionsHandler::GetBrowserWindow() const {
|
| }
|
|
|
| void ChangePictureOptionsHandler::OnImageDecoded(
|
| - const ImageDecoder* decoder,
|
| const SkBitmap& decoded_image) {
|
| - DCHECK_EQ(image_decoder_.get(), decoder);
|
| - image_decoder_ = NULL;
|
| user_photo_ = gfx::ImageSkia::CreateFrom1xBitmap(decoded_image);
|
| SetImageFromCamera(user_photo_);
|
| }
|
|
|
| -void ChangePictureOptionsHandler::OnDecodeImageFailed(
|
| - const ImageDecoder* decoder) {
|
| +void ChangePictureOptionsHandler::OnDecodeImageFailed() {
|
| NOTREACHED() << "Failed to decode PNG image from WebUI";
|
| }
|
|
|
|
|