Index: chrome/browser/chromeos/extensions/wallpaper_private_api.cc |
diff --git a/chrome/browser/chromeos/extensions/wallpaper_private_api.cc b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc |
index 00de7e08c4193e95900f7495566432969e416811..f9487fc8258ae5bfc18fe1eb043c837f524775db 100644 |
--- a/chrome/browser/chromeos/extensions/wallpaper_private_api.cc |
+++ b/chrome/browser/chromeos/extensions/wallpaper_private_api.cc |
@@ -101,7 +101,7 @@ class WallpaperFunctionBase::WallpaperDecoder : public ImageDecoder::Delegate { |
gfx::ImageSkia final_image(decoded_image); |
final_image.MakeThreadSafe(); |
if (cancel_flag_.IsSet()) { |
- function_->OnFailureOrCancel(); |
+ function_->OnFailureOrCancel(""); |
delete this; |
return; |
} |
@@ -110,8 +110,8 @@ class WallpaperFunctionBase::WallpaperDecoder : public ImageDecoder::Delegate { |
} |
virtual void OnDecodeImageFailed(const ImageDecoder* decoder) OVERRIDE { |
- function_->OnFailureOrCancel(); |
- // TODO(bshe): Dispatches an encoding error event. |
+ function_->OnFailureOrCancel( |
+ l10n_util::GetStringUTF8(IDS_WALLPAPER_MANAGER_INVALID_WALLPAPER)); |
delete this; |
} |
@@ -132,6 +132,13 @@ WallpaperFunctionBase::WallpaperFunctionBase() { |
WallpaperFunctionBase::~WallpaperFunctionBase() { |
} |
+void WallpaperFunctionBase::OnFailureOrCancel(const std::string& error) { |
+ wallpaper_decoder_ = NULL; |
+ if (!error.empty()) |
+ SetError(error); |
+ SendResponse(false); |
+} |
+ |
WallpaperSetWallpaperFunction::WallpaperSetWallpaperFunction() { |
} |
@@ -174,11 +181,6 @@ void WallpaperSetWallpaperFunction::OnWallpaperDecoded( |
this)); |
} |
-void WallpaperSetWallpaperFunction::OnFailureOrCancel() { |
- wallpaper_decoder_ = NULL; |
- SendResponse(false); |
-} |
- |
void WallpaperSetWallpaperFunction::SaveToFile() { |
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::FILE)); |
FilePath wallpaper_dir; |
@@ -188,7 +190,8 @@ void WallpaperSetWallpaperFunction::SaveToFile() { |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
base::Bind(&WallpaperSetWallpaperFunction::OnFailureOrCancel, |
- this)); |
+ this, "")); |
+ LOG(ERROR) << "Failed to create wallpaper directory."; |
return; |
} |
std::string file_name = GURL(url_).ExtractFileName(); |
@@ -214,7 +217,8 @@ void WallpaperSetWallpaperFunction::SaveToFile() { |
BrowserThread::PostTask( |
BrowserThread::UI, FROM_HERE, |
base::Bind(&WallpaperSetWallpaperFunction::OnFailureOrCancel, |
- this)); |
+ this, "")); |
+ LOG(ERROR) << "Failed to save downloaded wallpaper."; |
} |
} |
@@ -276,8 +280,3 @@ void WallpaperSetCustomWallpaperFunction::OnWallpaperDecoded( |
wallpaper_decoder_ = NULL; |
SendResponse(true); |
} |
- |
-void WallpaperSetCustomWallpaperFunction::OnFailureOrCancel() { |
- wallpaper_decoder_ = NULL; |
- SendResponse(false); |
-} |