OLD | NEW |
---|---|
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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_data_fetcher.h" | 5 #include "components/image_fetcher/image_data_fetcher.h" |
6 | 6 |
7 #include "net/base/load_flags.h" | 7 #include "net/base/load_flags.h" |
8 #include "net/url_request/url_fetcher.h" | 8 #include "net/url_request/url_fetcher.h" |
9 #include "net/url_request/url_request.h" | 9 #include "net/url_request/url_request.h" |
10 #include "net/url_request/url_request_context_getter.h" | 10 #include "net/url_request/url_request_context_getter.h" |
(...skipping 28 matching lines...) Expand all Loading... | |
39 next_url_fetcher_id_(0) {} | 39 next_url_fetcher_id_(0) {} |
40 | 40 |
41 ImageDataFetcher::~ImageDataFetcher() {} | 41 ImageDataFetcher::~ImageDataFetcher() {} |
42 | 42 |
43 void ImageDataFetcher::SetDataUseServiceName( | 43 void ImageDataFetcher::SetDataUseServiceName( |
44 DataUseServiceName data_use_service_name) { | 44 DataUseServiceName data_use_service_name) { |
45 data_use_service_name_ = data_use_service_name; | 45 data_use_service_name_ = data_use_service_name; |
46 } | 46 } |
47 | 47 |
48 void ImageDataFetcher::FetchImageData( | 48 void ImageDataFetcher::FetchImageData( |
49 const GURL& url, const ImageDataFetcherCallback& callback) { | 49 const GURL& url, const ImageDataFetcherCallback& callback) { |
Marc Treib
2017/02/02 15:19:13
Not your doing, but url should be image_url to mat
gambard
2017/02/03 12:11:34
Done.
| |
50 std::unique_ptr<net::URLFetcher> url_fetcher = | 50 ImageDataFetcher::FetchImageData( |
51 net::URLFetcher::Create( | 51 url, callback, std::string(), |
Marc Treib
2017/02/02 15:19:13
Please add a comment for the empty string param, l
gambard
2017/02/03 12:11:34
Done.
| |
52 next_url_fetcher_id_++, url, net::URLFetcher::GET, this); | 52 net::URLRequest::CLEAR_REFERRER_ON_TRANSITION_FROM_SECURE_TO_INSECURE); |
53 } | |
54 | |
55 void ImageDataFetcher::FetchImageData( | |
56 const GURL& image_url, | |
57 const ImageDataFetcherCallback& callback, | |
58 const std::string& referrer, | |
59 net::URLRequest::ReferrerPolicy referrer_policy) { | |
Marc Treib
2017/02/02 15:19:13
You should actually do something with the referrer
gambard
2017/02/03 12:11:34
Oooops :)
Done!
| |
60 std::unique_ptr<net::URLFetcher> url_fetcher = net::URLFetcher::Create( | |
61 next_url_fetcher_id_++, image_url, net::URLFetcher::GET, this); | |
53 | 62 |
54 DataUseUserData::AttachToFetcher(url_fetcher.get(), data_use_service_name_); | 63 DataUseUserData::AttachToFetcher(url_fetcher.get(), data_use_service_name_); |
55 | 64 |
56 std::unique_ptr<ImageDataFetcherRequest> request( | 65 std::unique_ptr<ImageDataFetcherRequest> request( |
57 new ImageDataFetcherRequest(callback, std::move(url_fetcher))); | 66 new ImageDataFetcherRequest(callback, std::move(url_fetcher))); |
58 request->url_fetcher->SetRequestContext(url_request_context_getter_.get()); | 67 request->url_fetcher->SetRequestContext(url_request_context_getter_.get()); |
59 request->url_fetcher->Start(); | 68 request->url_fetcher->Start(); |
60 | 69 |
61 pending_requests_[request->url_fetcher.get()] = std::move(request); | 70 pending_requests_[request->url_fetcher.get()] = std::move(request); |
62 } | 71 } |
63 | 72 |
64 void ImageDataFetcher::OnURLFetchComplete(const net::URLFetcher* source) { | 73 void ImageDataFetcher::OnURLFetchComplete(const net::URLFetcher* source) { |
65 auto request_iter = pending_requests_.find(source); | 74 auto request_iter = pending_requests_.find(source); |
66 DCHECK(request_iter != pending_requests_.end()); | 75 DCHECK(request_iter != pending_requests_.end()); |
67 | 76 |
68 std::string image_data; | 77 std::string image_data; |
69 if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS) { | 78 if (source->GetStatus().status() == net::URLRequestStatus::SUCCESS) { |
70 source->GetResponseAsString(&image_data); | 79 source->GetResponseAsString(&image_data); |
71 } | 80 } |
72 request_iter->second->callback.Run(image_data); | 81 request_iter->second->callback.Run(image_data); |
73 | 82 |
74 // Remove the finished request. | 83 // Remove the finished request. |
75 pending_requests_.erase(request_iter); | 84 pending_requests_.erase(request_iter); |
76 } | 85 } |
77 | 86 |
78 } // namespace image_fetcher | 87 } // namespace image_fetcher |
OLD | NEW |