| Index: chrome/browser/search/suggestions/image_fetcher_impl.cc
|
| diff --git a/chrome/browser/search/suggestions/image_fetcher_impl.cc b/chrome/browser/search/suggestions/image_fetcher_impl.cc
|
| deleted file mode 100644
|
| index 9d046f0a05ba7e381075b2a7b91af406c78d8b55..0000000000000000000000000000000000000000
|
| --- a/chrome/browser/search/suggestions/image_fetcher_impl.cc
|
| +++ /dev/null
|
| @@ -1,100 +0,0 @@
|
| -// Copyright 2014 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -#include "chrome/browser/search/suggestions/image_fetcher_impl.h"
|
| -
|
| -#include <string>
|
| -
|
| -#include "base/bind.h"
|
| -#include "chrome/browser/search/suggestions/image_decoder_impl.h"
|
| -#include "content/public/browser/browser_thread.h"
|
| -#include "net/base/load_flags.h"
|
| -#include "net/url_request/url_request_context_getter.h"
|
| -#include "ui/gfx/image/image.h"
|
| -
|
| -namespace suggestions {
|
| -
|
| -ImageFetcherImpl::ImageFetcherImpl(
|
| - net::URLRequestContextGetter* url_request_context)
|
| - : delegate_(nullptr), url_request_context_(url_request_context),
|
| - image_decoder_(new suggestions::ImageDecoderImpl()),
|
| - image_data_fetcher_(
|
| - new image_fetcher::ImageDataFetcher(url_request_context_)) {
|
| -}
|
| -
|
| -ImageFetcherImpl::~ImageFetcherImpl() {}
|
| -
|
| -ImageFetcherImpl::ImageRequest::ImageRequest() {}
|
| -
|
| -ImageFetcherImpl::ImageRequest::ImageRequest(const ImageRequest& other) =
|
| - default;
|
| -
|
| -ImageFetcherImpl::ImageRequest::~ImageRequest() { }
|
| -
|
| -void ImageFetcherImpl::SetImageFetcherDelegate(
|
| - image_fetcher::ImageFetcherDelegate* delegate) {
|
| - DCHECK(delegate);
|
| - delegate_ = delegate;
|
| -}
|
| -
|
| -void ImageFetcherImpl::StartOrQueueNetworkRequest(
|
| - const std::string& id,
|
| - const GURL& image_url,
|
| - base::Callback<void(const std::string&, const gfx::Image&)> callback) {
|
| - // Before starting to fetch the image. Look for a request in progress for
|
| - // |image_url|, and queue if appropriate.
|
| - ImageRequestMap::iterator it = pending_net_requests_.find(image_url);
|
| - if (it == pending_net_requests_.end()) {
|
| - ImageRequest request;
|
| - request.id = id;
|
| - request.callbacks.push_back(callback);
|
| - pending_net_requests_[image_url].swap(&request);
|
| -
|
| - image_data_fetcher_->FetchImageData(
|
| - image_url,
|
| - base::Bind(&ImageFetcherImpl::OnImageURLFetched,
|
| - base::Unretained(this), image_url));
|
| - } else {
|
| - // Request in progress. Register as an interested callback.
|
| - it->second.callbacks.push_back(callback);
|
| - }
|
| -}
|
| -
|
| -void ImageFetcherImpl::OnImageURLFetched(const GURL& image_url,
|
| - const std::string& image_data) {
|
| - // Inform the ImageFetcherDelegate.
|
| - if (delegate_) {
|
| - auto it = pending_net_requests_.find(image_url);
|
| - DCHECK(it != pending_net_requests_.end());
|
| - delegate_->OnImageDataFetched(it->second.id, image_data);
|
| - }
|
| -
|
| - image_decoder_->DecodeImage(
|
| - image_data,
|
| - base::Bind(&ImageFetcherImpl::OnImageDecoded,
|
| - base::Unretained(this), image_url));
|
| -}
|
| -
|
| -void ImageFetcherImpl::OnImageDecoded(const GURL& image_url,
|
| - const gfx::Image& image) {
|
| - // Get request for the given image_url from the request queue.
|
| - ImageRequestMap::iterator image_iter = pending_net_requests_.find(image_url);
|
| - DCHECK(image_iter != pending_net_requests_.end());
|
| - ImageRequest* request = &image_iter->second;
|
| -
|
| - // Run all callbacks
|
| - for (const auto& callback : request->callbacks) {
|
| - callback.Run(request->id, image);
|
| - }
|
| -
|
| - // Inform the ImageFetcherDelegate.
|
| - if (delegate_) {
|
| - delegate_->OnImageFetched(request->id, image);
|
| - }
|
| -
|
| - // Erase the completed ImageRequest.
|
| - pending_net_requests_.erase(image_iter);
|
| -}
|
| -
|
| -} // namespace suggestions
|
|
|