Index: chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
diff --git a/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc b/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
index ee791742768337f46b600b9ff9d7d43bf7838126..656062e664de743a652beb888a3711490da5e69e 100644 |
--- a/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
+++ b/chrome/browser/ui/webui/chromeos/login/user_image_screen_handler.cc |
@@ -18,12 +18,15 @@ |
#include "chrome/browser/ui/webui/web_ui_util.h" |
#include "chrome/common/chrome_switches.h" |
#include "chrome/common/url_constants.h" |
+#include "content/public/browser/browser_thread.h" |
#include "googleurl/src/gurl.h" |
#include "grit/generated_resources.h" |
#include "net/base/data_url.h" |
#include "ui/base/l10n/l10n_util.h" |
#include "ui/views/widget/widget.h" |
+using content::BrowserThread; |
+ |
namespace chromeos { |
UserImageScreenHandler::UserImageScreenHandler() |
@@ -190,6 +193,7 @@ void UserImageScreenHandler::HandleGetImages(const base::ListValue* args) { |
} |
void UserImageScreenHandler::HandlePhotoTaken(const base::ListValue* args) { |
+ DCHECK(BrowserThread::CurrentlyOn(BrowserThread::UI)); |
std::string image_url; |
if (!args || args->GetSize() != 1 || !args->GetString(0, &image_url)) |
NOTREACHED(); |
@@ -207,7 +211,9 @@ void UserImageScreenHandler::HandlePhotoTaken(const base::ListValue* args) { |
image_decoder_->set_delegate(NULL); |
image_decoder_ = new ImageDecoder(this, raw_data, |
ImageDecoder::DEFAULT_CODEC); |
- image_decoder_->Start(); |
+ scoped_refptr<base::MessageLoopProxy> task_runner = |
+ BrowserThread::GetMessageLoopProxyForThread(BrowserThread::UI); |
+ image_decoder_->Start(task_runner); |
} |
void UserImageScreenHandler::HandleCheckCameraPresence( |