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

Side by Side Diff: components/image_fetcher/core/image_fetcher_impl.cc

Issue 2761303002: Move common ImageFetcher component files to core/ (Closed)
Patch Set: Rebased. Created 3 years, 9 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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 "components/image_fetcher/image_fetcher_impl.h" 5 #include "components/image_fetcher/core/image_fetcher_impl.h"
6 6
7 #include <string> 7 #include <string>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "net/base/load_flags.h" 10 #include "net/base/load_flags.h"
11 #include "net/url_request/url_request_context_getter.h" 11 #include "net/url_request/url_request_context_getter.h"
12 12
13 namespace image_fetcher { 13 namespace image_fetcher {
14 14
15 ImageFetcherImpl::ImageFetcherImpl( 15 ImageFetcherImpl::ImageFetcherImpl(
16 std::unique_ptr<ImageDecoder> image_decoder, 16 std::unique_ptr<ImageDecoder> image_decoder,
17 net::URLRequestContextGetter* url_request_context) 17 net::URLRequestContextGetter* url_request_context)
18 : delegate_(nullptr), url_request_context_(url_request_context), 18 : delegate_(nullptr),
19 url_request_context_(url_request_context),
19 image_decoder_(std::move(image_decoder)), 20 image_decoder_(std::move(image_decoder)),
20 image_data_fetcher_(new ImageDataFetcher(url_request_context_.get())) { 21 image_data_fetcher_(new ImageDataFetcher(url_request_context_.get())) {}
21 }
22 22
23 ImageFetcherImpl::~ImageFetcherImpl() {} 23 ImageFetcherImpl::~ImageFetcherImpl() {}
24 24
25 ImageFetcherImpl::ImageRequest::ImageRequest() {} 25 ImageFetcherImpl::ImageRequest::ImageRequest() {}
26 26
27 ImageFetcherImpl::ImageRequest::ImageRequest(const ImageRequest& other) = 27 ImageFetcherImpl::ImageRequest::ImageRequest(const ImageRequest& other) =
28 default; 28 default;
29 29
30 ImageFetcherImpl::ImageRequest::~ImageRequest() { } 30 ImageFetcherImpl::ImageRequest::~ImageRequest() {}
31 31
32 void ImageFetcherImpl::SetImageFetcherDelegate(ImageFetcherDelegate* delegate) { 32 void ImageFetcherImpl::SetImageFetcherDelegate(ImageFetcherDelegate* delegate) {
33 DCHECK(delegate); 33 DCHECK(delegate);
34 delegate_ = delegate; 34 delegate_ = delegate;
35 } 35 }
36 36
37 void ImageFetcherImpl::SetDataUseServiceName( 37 void ImageFetcherImpl::SetDataUseServiceName(
38 DataUseServiceName data_use_service_name) { 38 DataUseServiceName data_use_service_name) {
39 image_data_fetcher_->SetDataUseServiceName(data_use_service_name); 39 image_data_fetcher_->SetDataUseServiceName(data_use_service_name);
40 } 40 }
41 41
42 void ImageFetcherImpl::SetDesiredImageFrameSize(const gfx::Size& size) { 42 void ImageFetcherImpl::SetDesiredImageFrameSize(const gfx::Size& size) {
43 desired_image_frame_size_ = size; 43 desired_image_frame_size_ = size;
44 } 44 }
45 45
46 void ImageFetcherImpl::StartOrQueueNetworkRequest( 46 void ImageFetcherImpl::StartOrQueueNetworkRequest(
47 const std::string& id, 47 const std::string& id,
48 const GURL& image_url, 48 const GURL& image_url,
49 const ImageFetcherCallback& callback) { 49 const ImageFetcherCallback& callback) {
50 // Before starting to fetch the image. Look for a request in progress for 50 // Before starting to fetch the image. Look for a request in progress for
51 // |image_url|, and queue if appropriate. 51 // |image_url|, and queue if appropriate.
52 ImageRequestMap::iterator it = pending_net_requests_.find(image_url); 52 ImageRequestMap::iterator it = pending_net_requests_.find(image_url);
53 if (it == pending_net_requests_.end()) { 53 if (it == pending_net_requests_.end()) {
54 ImageRequest request; 54 ImageRequest request;
55 request.id = id; 55 request.id = id;
56 request.callbacks.push_back(callback); 56 request.callbacks.push_back(callback);
57 pending_net_requests_[image_url].swap(&request); 57 pending_net_requests_[image_url].swap(&request);
58 58
59 image_data_fetcher_->FetchImageData( 59 image_data_fetcher_->FetchImageData(
60 image_url, 60 image_url, base::Bind(&ImageFetcherImpl::OnImageURLFetched,
61 base::Bind(&ImageFetcherImpl::OnImageURLFetched, 61 base::Unretained(this), image_url));
62 base::Unretained(this), image_url));
63 } else { 62 } else {
64 // Request in progress. Register as an interested callback. 63 // Request in progress. Register as an interested callback.
65 it->second.callbacks.push_back(callback); 64 it->second.callbacks.push_back(callback);
66 } 65 }
67 } 66 }
68 67
69 void ImageFetcherImpl::OnImageURLFetched(const GURL& image_url, 68 void ImageFetcherImpl::OnImageURLFetched(const GURL& image_url,
70 const std::string& image_data, 69 const std::string& image_data,
71 const RequestMetadata& metadata) { 70 const RequestMetadata& metadata) {
72 // Inform the ImageFetcherDelegate. 71 // Inform the ImageFetcherDelegate.
(...skipping 29 matching lines...) Expand all
102 101
103 // Erase the completed ImageRequest. 102 // Erase the completed ImageRequest.
104 pending_net_requests_.erase(image_iter); 103 pending_net_requests_.erase(image_iter);
105 } 104 }
106 105
107 ImageDecoder* ImageFetcherImpl::GetImageDecoder() { 106 ImageDecoder* ImageFetcherImpl::GetImageDecoder() {
108 return image_decoder_.get(); 107 return image_decoder_.get();
109 } 108 }
110 109
111 } // namespace image_fetcher 110 } // namespace image_fetcher
OLDNEW
« no previous file with comments | « components/image_fetcher/core/image_fetcher_impl.h ('k') | components/image_fetcher/core/request_metadata.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698