Index: components/image_fetcher/ios/raw_image_fetcher.mm |
diff --git a/ios/chrome/browser/net/image_fetcher.mm b/components/image_fetcher/ios/raw_image_fetcher.mm |
similarity index 78% |
copy from ios/chrome/browser/net/image_fetcher.mm |
copy to components/image_fetcher/ios/raw_image_fetcher.mm |
index f8bc5d1d08dbc180dcd8b5baf069bce8b9f521b4..c8b27c306fa80320abb4a45d5a2b4c7badc75a88 100644 |
--- a/ios/chrome/browser/net/image_fetcher.mm |
+++ b/components/image_fetcher/ios/raw_image_fetcher.mm |
@@ -2,7 +2,7 @@ |
// Use of this source code is governed by a BSD-style license that can be |
// found in the LICENSE file. |
-#import "ios/chrome/browser/net/image_fetcher.h" |
+#import "components/image_fetcher/ios/raw_image_fetcher.h" |
#import <Foundation/Foundation.h> |
#include <stddef.h> |
@@ -11,7 +11,7 @@ |
#include "base/location.h" |
#include "base/mac/scoped_nsobject.h" |
#include "base/task_runner.h" |
-#include "ios/chrome/browser/webp_transcode/webp_decoder.h" |
+#include "components/image_fetcher/ios/webp_decoder.h" |
#include "ios/web/public/web_thread.h" |
sdefresne
2016/11/23 14:40:33
Remove.
gambard
2016/11/23 15:01:21
Done.
|
#include "net/base/load_flags.h" |
#include "net/http/http_response_headers.h" |
@@ -38,6 +38,7 @@ class WebpDecoderDelegate : public webp_transcode::WebpDecoder::Delegate { |
DCHECK(decoded_image_); |
[decoded_image_ appendData:data]; |
} |
+ |
private: |
~WebpDecoderDelegate() override {} |
base::scoped_nsobject<NSMutableData> decoded_image_; |
@@ -60,14 +61,17 @@ base::scoped_nsobject<NSData> DecodeWebpImage( |
} // namespace |
-ImageFetcher::ImageFetcher(const scoped_refptr<base::TaskRunner>& task_runner) |
+namespace image_fetcher { |
+ |
+RawImageFetcher::RawImageFetcher( |
+ const scoped_refptr<base::TaskRunner>& task_runner) |
: request_context_getter_(nullptr), |
task_runner_(task_runner), |
weak_factory_(this) { |
DCHECK(task_runner_.get()); |
} |
-ImageFetcher::~ImageFetcher() { |
+RawImageFetcher::~RawImageFetcher() { |
// Delete all the entries in the |downloads_in_progress_| map. This will in |
// turn cancel all of the requests. |
for (const auto& pair : downloads_in_progress_) { |
@@ -76,7 +80,7 @@ ImageFetcher::~ImageFetcher() { |
} |
} |
-void ImageFetcher::StartDownload( |
+void RawImageFetcher::StartDownload( |
const GURL& url, |
ImageFetchedCallback callback, |
const std::string& referrer, |
@@ -85,25 +89,25 @@ void ImageFetcher::StartDownload( |
net::URLFetcher* fetcher = |
net::URLFetcher::Create(url, net::URLFetcher::GET, this).release(); |
downloads_in_progress_[fetcher] = [callback copy]; |
- fetcher->SetLoadFlags( |
- net::LOAD_DO_NOT_SEND_COOKIES | net::LOAD_DO_NOT_SAVE_COOKIES | |
- net::LOAD_DO_NOT_SEND_AUTH_DATA); |
+ fetcher->SetLoadFlags(net::LOAD_DO_NOT_SEND_COOKIES | |
+ net::LOAD_DO_NOT_SAVE_COOKIES | |
+ net::LOAD_DO_NOT_SEND_AUTH_DATA); |
fetcher->SetRequestContext(request_context_getter_.get()); |
fetcher->SetReferrer(referrer); |
fetcher->SetReferrerPolicy(referrer_policy); |
fetcher->Start(); |
} |
-void ImageFetcher::StartDownload( |
- const GURL& url, ImageFetchedCallback callback) { |
- ImageFetcher::StartDownload( |
- url, callback, std::string(), net::URLRequest::NEVER_CLEAR_REFERRER); |
+void RawImageFetcher::StartDownload(const GURL& url, |
+ ImageFetchedCallback callback) { |
+ RawImageFetcher::StartDownload(url, callback, std::string(), |
+ net::URLRequest::NEVER_CLEAR_REFERRER); |
} |
// Delegate callback that is called when URLFetcher completes. If the image |
// was fetched successfully, creates a new NSData and returns it to the |
// callback, otherwise returns nil to the callback. |
-void ImageFetcher::OnURLFetchComplete(const net::URLFetcher* fetcher) { |
+void RawImageFetcher::OnURLFetchComplete(const net::URLFetcher* fetcher) { |
if (downloads_in_progress_.find(fetcher) == downloads_in_progress_.end()) { |
LOG(ERROR) << "Received callback for unknown URLFetcher " << fetcher; |
return; |
@@ -124,8 +128,8 @@ void ImageFetcher::OnURLFetchComplete(const net::URLFetcher* fetcher) { |
// code has no meaning, because there is no actual server (data is encoded |
// directly in the URL). In that case, set the response code to 200 (OK). |
const GURL& original_url = fetcher->GetOriginalURL(); |
- const int http_response_code = original_url.SchemeIs("data") ? |
- 200 : fetcher->GetResponseCode(); |
+ const int http_response_code = |
+ original_url.SchemeIs("data") ? 200 : fetcher->GetResponseCode(); |
sdefresne
2016/11/23 14:40:33
Please use url::kDataScheme instead of "data".
gambard
2016/11/23 15:01:21
Done.
|
if (http_response_code != 200) { |
(callback.get())(original_url, http_response_code, nil); |
return; |
@@ -146,21 +150,17 @@ void ImageFetcher::OnURLFetchComplete(const net::URLFetcher* fetcher) { |
std::string mime_type; |
fetcher->GetResponseHeaders()->GetMimeType(&mime_type); |
if (mime_type == kWEBPMimeType) { |
- base::PostTaskAndReplyWithResult(task_runner_.get(), |
- FROM_HERE, |
- base::Bind(&DecodeWebpImage, data), |
- base::Bind(&ImageFetcher::RunCallback, |
- weak_factory_.GetWeakPtr(), |
- callback, |
- original_url, |
- http_response_code)); |
+ base::PostTaskAndReplyWithResult( |
+ task_runner_.get(), FROM_HERE, base::Bind(&DecodeWebpImage, data), |
+ base::Bind(&RawImageFetcher::RunCallback, weak_factory_.GetWeakPtr(), |
+ callback, original_url, http_response_code)); |
return; |
} |
} |
(callback.get())(original_url, http_response_code, data); |
} |
-void ImageFetcher::RunCallback( |
+void RawImageFetcher::RunCallback( |
const base::mac::ScopedBlock<ImageFetchedCallback>& callback, |
const GURL& url, |
int http_response_code, |
@@ -168,7 +168,9 @@ void ImageFetcher::RunCallback( |
(callback.get())(url, http_response_code, data); |
} |
-void ImageFetcher::SetRequestContextGetter( |
+void RawImageFetcher::SetRequestContextGetter( |
const scoped_refptr<net::URLRequestContextGetter>& request_context_getter) { |
request_context_getter_ = request_context_getter; |
} |
+ |
+} // namespace image_fetcher |