OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/image_decoder.h" | 5 #include "chrome/browser/image_decoder.h" |
6 | 6 |
7 #include <utility> | 7 #include <utility> |
8 | 8 |
9 #include "base/bind.h" | 9 #include "base/bind.h" |
10 #include "base/threading/thread_task_runner_handle.h" | 10 #include "base/threading/thread_task_runner_handle.h" |
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
49 // A single ImageDecoder instance should live for the life of the program. | 49 // A single ImageDecoder instance should live for the life of the program. |
50 // Explicitly add a reference so the object isn't deleted. | 50 // Explicitly add a reference so the object isn't deleted. |
51 AddRef(); | 51 AddRef(); |
52 } | 52 } |
53 | 53 |
54 ImageDecoder::~ImageDecoder() { | 54 ImageDecoder::~ImageDecoder() { |
55 } | 55 } |
56 | 56 |
57 ImageDecoder::ImageRequest::ImageRequest() | 57 ImageDecoder::ImageRequest::ImageRequest() |
58 : task_runner_(base::ThreadTaskRunnerHandle::Get()) { | 58 : task_runner_(base::ThreadTaskRunnerHandle::Get()) { |
59 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 59 DCHECK(sequence_checker_.CalledOnValidSequence()); |
60 } | 60 } |
61 | 61 |
62 ImageDecoder::ImageRequest::ImageRequest( | 62 ImageDecoder::ImageRequest::ImageRequest( |
63 const scoped_refptr<base::SequencedTaskRunner>& task_runner) | 63 const scoped_refptr<base::SequencedTaskRunner>& task_runner) |
64 : task_runner_(task_runner) { | 64 : task_runner_(task_runner) { |
65 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 65 DCHECK(sequence_checker_.CalledOnValidSequence()); |
66 } | 66 } |
67 | 67 |
68 ImageDecoder::ImageRequest::~ImageRequest() { | 68 ImageDecoder::ImageRequest::~ImageRequest() { |
69 DCHECK(sequence_checker_.CalledOnValidSequencedThread()); | 69 DCHECK(sequence_checker_.CalledOnValidSequence()); |
70 ImageDecoder::Cancel(this); | 70 ImageDecoder::Cancel(this); |
71 } | 71 } |
72 | 72 |
73 // static | 73 // static |
74 void ImageDecoder::Start(ImageRequest* image_request, | 74 void ImageDecoder::Start(ImageRequest* image_request, |
75 std::vector<uint8_t> image_data) { | 75 std::vector<uint8_t> image_data) { |
76 StartWithOptions(image_request, std::move(image_data), DEFAULT_CODEC, false); | 76 StartWithOptions(image_request, std::move(image_data), DEFAULT_CODEC, false); |
77 } | 77 } |
78 | 78 |
79 // static | 79 // static |
(...skipping 234 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
314 auto it = image_request_id_map_.find(request_id); | 314 auto it = image_request_id_map_.find(request_id); |
315 if (it == image_request_id_map_.end()) | 315 if (it == image_request_id_map_.end()) |
316 return; | 316 return; |
317 image_request = it->second; | 317 image_request = it->second; |
318 image_request_id_map_.erase(it); | 318 image_request_id_map_.erase(it); |
319 } | 319 } |
320 | 320 |
321 DCHECK(image_request->task_runner()->RunsTasksOnCurrentThread()); | 321 DCHECK(image_request->task_runner()->RunsTasksOnCurrentThread()); |
322 image_request->OnDecodeImageFailed(); | 322 image_request->OnDecodeImageFailed(); |
323 } | 323 } |
OLD | NEW |