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

Unified Diff: chrome/browser/image_decoder.cc

Issue 11968044: Fix login visual hitch on chromebook (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: rebase Created 7 years, 11 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
« no previous file with comments | « chrome/browser/image_decoder.h ('k') | chrome/browser/profiles/profile_downloader.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/image_decoder.cc
diff --git a/chrome/browser/image_decoder.cc b/chrome/browser/image_decoder.cc
index 6d7b948aa7f63a79dc817fc41088aec47cd588d3..b5b71668a3bc7bc1ca11c765f38b857a6726ad6e 100644
--- a/chrome/browser/image_decoder.cc
+++ b/chrome/browser/image_decoder.cc
@@ -19,16 +19,13 @@ ImageDecoder::ImageDecoder(Delegate* delegate,
: delegate_(delegate),
image_data_(image_data.begin(), image_data.end()),
image_codec_(image_codec),
- target_thread_id_(BrowserThread::UI) {
+ task_runner_(NULL) {
}
ImageDecoder::~ImageDecoder() {}
-void ImageDecoder::Start() {
- if (!BrowserThread::GetCurrentThreadIdentifier(&target_thread_id_)) {
- NOTREACHED();
- return;
- }
+void ImageDecoder::Start(scoped_refptr<base::SequencedTaskRunner> task_runner) {
+ task_runner_ = task_runner;
BrowserThread::PostTask(
BrowserThread::IO, FROM_HERE,
base::Bind(&ImageDecoder::DecodeImageInSandbox, this, image_data_));
@@ -47,13 +44,13 @@ bool ImageDecoder::OnMessageReceived(const IPC::Message& message) {
}
void ImageDecoder::OnDecodeImageSucceeded(const SkBitmap& decoded_image) {
- DCHECK(BrowserThread::CurrentlyOn(target_thread_id_));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (delegate_)
delegate_->OnImageDecoded(this, decoded_image);
}
void ImageDecoder::OnDecodeImageFailed() {
- DCHECK(BrowserThread::CurrentlyOn(target_thread_id_));
+ DCHECK(task_runner_->RunsTasksOnCurrentThread());
if (delegate_)
delegate_->OnDecodeImageFailed(this);
}
@@ -61,8 +58,8 @@ void ImageDecoder::OnDecodeImageFailed() {
void ImageDecoder::DecodeImageInSandbox(
const std::vector<unsigned char>& image_data) {
DCHECK(BrowserThread::CurrentlyOn(BrowserThread::IO));
- UtilityProcessHost* utility_process_host = UtilityProcessHost::Create(
- this, BrowserThread::GetMessageLoopProxyForThread(target_thread_id_));
+ UtilityProcessHost* utility_process_host;
+ utility_process_host = UtilityProcessHost::Create(this, task_runner_.get());
utility_process_host->EnableZygote();
if (image_codec_ == ROBUST_JPEG_CODEC) {
utility_process_host->Send(
« no previous file with comments | « chrome/browser/image_decoder.h ('k') | chrome/browser/profiles/profile_downloader.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698