Index: chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc |
diff --git a/chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc b/chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc |
index 460a563b7a2767745814dd00bfccd857ee954f25..7c8a45c25548f93f00bc6ebc312601d168dab698 100644 |
--- a/chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc |
+++ b/chrome/browser/media_galleries/fileapi/supported_image_type_validator.cc |
@@ -52,7 +52,10 @@ class ImageDecoderDelegateAdapter : public ImageDecoder::Delegate { |
ImageDecoderDelegateAdapter( |
scoped_ptr<std::string> data, |
const storage::CopyOrMoveFileValidator::ResultCallback& callback) |
- : data_(data.Pass()), callback_(callback) { |
+ : Delegate(content::BrowserThread::GetMessageLoopProxyForThread( |
+ BrowserThread::IO)), |
+ data_(data.Pass()), |
+ callback_(callback) { |
DCHECK(data_); |
} |
@@ -61,13 +64,12 @@ class ImageDecoderDelegateAdapter : public ImageDecoder::Delegate { |
} |
// ImageDecoder::Delegate methods. |
- void OnImageDecoded(const ImageDecoder* /*decoder*/, |
- const SkBitmap& /*decoded_image*/) override { |
+ void OnImageDecoded(const SkBitmap& /*decoded_image*/) override { |
callback_.Run(base::File::FILE_OK); |
delete this; |
} |
- void OnDecodeImageFailed(const ImageDecoder* /*decoder*/) override { |
+ void OnDecodeImageFailed() override { |
callback_.Run(base::File::FILE_ERROR_SECURITY); |
delete this; |
} |
@@ -127,8 +129,6 @@ void SupportedImageTypeValidator::OnFileOpen(scoped_ptr<std::string> data) { |
// |adapter| will delete itself after a completion message is received. |
ImageDecoderDelegateAdapter* adapter = |
new ImageDecoderDelegateAdapter(data.Pass(), callback_); |
- decoder_ = new ImageDecoder(adapter, adapter->data(), |
- ImageDecoder::DEFAULT_CODEC); |
- decoder_->Start(content::BrowserThread::GetMessageLoopProxyForThread( |
- BrowserThread::IO)); |
+ ImageDecoder::Start(adapter, adapter->data(), ImageDecoder::DEFAULT_CODEC, |
+ false); |
} |