summaryrefslogtreecommitdiff
path: root/chromium/content/renderer/image_downloader
diff options
context:
space:
mode:
Diffstat (limited to 'chromium/content/renderer/image_downloader')
-rw-r--r--chromium/content/renderer/image_downloader/image_downloader_base.cc45
-rw-r--r--chromium/content/renderer/image_downloader/image_downloader_base.h21
-rw-r--r--chromium/content/renderer/image_downloader/image_downloader_impl.cc5
-rw-r--r--chromium/content/renderer/image_downloader/single_image_downloader.cc5
4 files changed, 37 insertions, 39 deletions
diff --git a/chromium/content/renderer/image_downloader/image_downloader_base.cc b/chromium/content/renderer/image_downloader/image_downloader_base.cc
index 9167646ce8b..19dda4fcef9 100644
--- a/chromium/content/renderer/image_downloader/image_downloader_base.cc
+++ b/chromium/content/renderer/image_downloader/image_downloader_base.cc
@@ -9,15 +9,14 @@
#include "base/bind.h"
#include "base/location.h"
#include "base/logging.h"
-#include "base/memory/ptr_util.h"
#include "content/child/image_decoder.h"
#include "content/public/renderer/render_frame.h"
#include "content/public/renderer/render_thread.h"
#include "content/renderer/fetchers/multi_resolution_image_resource_fetcher.h"
#include "net/base/data_url.h"
-#include "third_party/WebKit/public/platform/WebURLRequest.h"
-#include "third_party/WebKit/public/platform/modules/fetch/fetch_api_request.mojom-shared.h"
-#include "third_party/WebKit/public/web/WebLocalFrame.h"
+#include "third_party/blink/public/platform/modules/fetch/fetch_api_request.mojom-shared.h"
+#include "third_party/blink/public/platform/web_url_request.h"
+#include "third_party/blink/public/web/web_local_frame.h"
#include "ui/gfx/favicon_size.h"
#include "ui/gfx/geometry/size.h"
#include "url/url_constants.h"
@@ -62,28 +61,27 @@ ImageDownloaderBase::~ImageDownloaderBase() {
void ImageDownloaderBase::DownloadImage(const GURL& image_url,
bool is_favicon,
bool bypass_cache,
- const DownloadCallback& callback) {
+ DownloadCallback callback) {
+ if (!image_url.SchemeIs(url::kDataScheme)) {
+ FetchImage(image_url, is_favicon, bypass_cache, std::move(callback));
+ // Will complete asynchronously via ImageDownloaderBase::DidFetchImage.
+ return;
+ }
+
std::vector<SkBitmap> result_images;
+ SkBitmap data_image = ImageFromDataUrl(image_url);
- if (image_url.SchemeIs(url::kDataScheme)) {
- SkBitmap data_image = ImageFromDataUrl(image_url);
- // Drop null or empty SkBitmap.
- if (!data_image.drawsNothing())
- result_images.push_back(data_image);
- } else {
- if (FetchImage(image_url, is_favicon, bypass_cache, callback)) {
- // Will complete asynchronously via ImageDownloaderBase::DidFetchImage
- return;
- }
- }
+ // Drop null or empty SkBitmap.
+ if (!data_image.drawsNothing())
+ result_images.push_back(data_image);
- callback.Run(0, result_images);
+ std::move(callback).Run(0, result_images);
}
-bool ImageDownloaderBase::FetchImage(const GURL& image_url,
+void ImageDownloaderBase::FetchImage(const GURL& image_url,
bool is_favicon,
bool bypass_cache,
- const DownloadCallback& callback) {
+ DownloadCallback callback) {
blink::WebLocalFrame* frame = render_frame()->GetWebFrame();
DCHECK(frame);
@@ -95,13 +93,12 @@ bool ImageDownloaderBase::FetchImage(const GURL& image_url,
: WebURLRequest::kRequestContextImage,
bypass_cache ? blink::mojom::FetchCacheMode::kBypassCache
: blink::mojom::FetchCacheMode::kDefault,
- base::Bind(&ImageDownloaderBase::DidFetchImage,
- base::Unretained(this), callback)));
- return true;
+ base::BindOnce(&ImageDownloaderBase::DidFetchImage,
+ base::Unretained(this), std::move(callback))));
}
void ImageDownloaderBase::DidFetchImage(
- const DownloadCallback& callback,
+ DownloadCallback callback,
MultiResolutionImageResourceFetcher* fetcher,
const std::vector<SkBitmap>& images) {
int32_t http_status_code = fetcher->http_status_code();
@@ -121,7 +118,7 @@ void ImageDownloaderBase::DidFetchImage(
}
// |this| may be destructed after callback is run.
- callback.Run(http_status_code, images);
+ std::move(callback).Run(http_status_code, images);
}
void ImageDownloaderBase::OnDestruct() {
diff --git a/chromium/content/renderer/image_downloader/image_downloader_base.h b/chromium/content/renderer/image_downloader/image_downloader_base.h
index c444bc3cb84..0c479fef5ec 100644
--- a/chromium/content/renderer/image_downloader/image_downloader_base.h
+++ b/chromium/content/renderer/image_downloader/image_downloader_base.h
@@ -28,13 +28,13 @@ class ImageDownloaderBase : public RenderFrameObserver,
~ImageDownloaderBase() override;
using DownloadCallback =
- base::Callback<void(int32_t, const std::vector<SkBitmap>&)>;
- // Request to aynchronously download an image. When done, |callback| will be
+ base::OnceCallback<void(int32_t, const std::vector<SkBitmap>&)>;
+ // Request to asynchronously download an image. When done, |callback| will be
// called.
void DownloadImage(const GURL& url,
bool is_favicon,
bool bypass_cache,
- const DownloadCallback& callback);
+ DownloadCallback callback);
protected:
// RenderFrameObserver implementation.
@@ -42,19 +42,18 @@ class ImageDownloaderBase : public RenderFrameObserver,
private:
// Requests to fetch an image. When done, the image downloader is notified by
- // way of DidFetchImage. Returns true if the request was successfully started,
- // false otherwise. If the image is a favicon, cookies will not be sent nor
- // accepted during download. If the image has multiple frames, all frames are
- // returned.
- bool FetchImage(const GURL& image_url,
+ // way of DidFetchImage. If the image is a favicon, cookies will not be sent
+ // nor accepted during download. If the image has multiple frames, all frames
+ // are returned.
+ void FetchImage(const GURL& image_url,
bool is_favicon,
bool bypass_cache,
- const DownloadCallback& callback);
+ DownloadCallback callback);
// This callback is triggered when FetchImage completes, either
- // succesfully or with a failure. See FetchImage for more
+ // successfully or with a failure. See FetchImage for more
// details.
- void DidFetchImage(const DownloadCallback& callback,
+ void DidFetchImage(DownloadCallback callback,
MultiResolutionImageResourceFetcher* fetcher,
const std::vector<SkBitmap>& images);
diff --git a/chromium/content/renderer/image_downloader/image_downloader_impl.cc b/chromium/content/renderer/image_downloader/image_downloader_impl.cc
index 6a70cc48a18..f20ad653cf1 100644
--- a/chromium/content/renderer/image_downloader/image_downloader_impl.cc
+++ b/chromium/content/renderer/image_downloader/image_downloader_impl.cc
@@ -119,8 +119,9 @@ void ImageDownloaderImpl::DownloadImage(const GURL& image_url,
ImageDownloaderBase::DownloadImage(
image_url, is_favicon, bypass_cache,
- base::Bind(&ImageDownloaderImpl::DidDownloadImage, base::Unretained(this),
- max_bitmap_size, base::Passed(&callback)));
+ base::BindOnce(&ImageDownloaderImpl::DidDownloadImage,
+ base::Unretained(this), max_bitmap_size,
+ std::move(callback)));
}
void ImageDownloaderImpl::DidDownloadImage(
diff --git a/chromium/content/renderer/image_downloader/single_image_downloader.cc b/chromium/content/renderer/image_downloader/single_image_downloader.cc
index 760b2148720..682e3ee491f 100644
--- a/chromium/content/renderer/image_downloader/single_image_downloader.cc
+++ b/chromium/content/renderer/image_downloader/single_image_downloader.cc
@@ -24,8 +24,9 @@ void SingleImageDownloader::DownloadImage(
new ImageDownloaderBase(render_frame.get()));
ImageDownloaderBase* image_downloader_ptr = image_downloader.get();
image_downloader_ptr->DownloadImage(
- url, false, false, base::Bind(&SingleImageDownloader::DidDownloadImage,
- base::Passed(&image_downloader), cb));
+ url, false, false,
+ base::BindOnce(&SingleImageDownloader::DidDownloadImage,
+ std::move(image_downloader), cb));
}
// Static