Index: content/renderer/image_downloader/image_downloader_impl.h |
diff --git a/content/renderer/image_downloader/image_downloader_impl.h b/content/renderer/image_downloader/image_downloader_impl.h |
index 310ed0384c7f409b06f29a03589172fdef3cb6e9..f2a2d5f7ec92f3f451e0d26365e121be638d5936 100644 |
--- a/content/renderer/image_downloader/image_downloader_impl.h |
+++ b/content/renderer/image_downloader/image_downloader_impl.h |
@@ -9,37 +9,26 @@ |
#include <vector> |
-#include "base/macros.h" |
-#include "base/memory/scoped_vector.h" |
#include "content/common/image_downloader/image_downloader.mojom.h" |
#include "content/public/renderer/render_frame_observer.h" |
-#include "content/public/renderer/render_thread_observer.h" |
+#include "content/renderer/image_downloader/image_downloader_core.h" |
#include "mojo/public/cpp/bindings/binding.h" |
+#include "third_party/skia/include/core/SkBitmap.h" |
#include "url/gurl.h" |
-class SkBitmap; |
- |
-namespace gfx { |
-class Size; |
-} |
- |
namespace content { |
-class MultiResolutionImageResourceFetcher; |
+class ImageDownloaderCore; |
class RenderFrame; |
class ImageDownloaderImpl : public mojom::ImageDownloader, |
- public RenderFrameObserver, |
- public RenderThreadObserver { |
+ public RenderFrameObserver { |
public: |
~ImageDownloaderImpl() override; |
static void CreateMojoService(RenderFrame* render_frame, |
mojom::ImageDownloaderRequest request); |
- // RenderThreadObserver implementation. |
- void OnRenderProcessShutdown() override; |
- |
private: |
ImageDownloaderImpl(RenderFrame* render_frame, |
mojom::ImageDownloaderRequest request); |
@@ -47,51 +36,27 @@ class ImageDownloaderImpl : public mojom::ImageDownloader, |
// RenderFrameObserver implementation. |
void OnDestruct() override; |
- // ImageDownloader methods: |
+ // ImageDownloader implementation. |
void DownloadImage(const GURL& url, |
bool is_favicon, |
uint32_t max_bitmap_size, |
bool bypass_cache, |
const DownloadImageCallback& callback) override; |
- // Requests to fetch an image. When done, the ImageDownloaderImpl |
- // 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 |
- // the frames whose size <= |max_image_size| are returned. If all of the |
- // frames are larger than |max_image_size|, the smallest frame is resized to |
+ // Called when downloading finishes. All frames in |images| whose size <= |
+ // |max_image_size| will be returned through |callback|. If all of the frames |
+ // are larger than |max_image_size|, the smallest frame is resized to |
// |max_image_size| and is the only result. |max_image_size| == 0 is |
// interpreted as no max image size. |
- bool FetchImage(const GURL& image_url, |
- bool is_favicon, |
- uint32_t max_image_size, |
- bool bypass_cache, |
- const DownloadImageCallback& callback); |
- |
- // This callback is triggered when FetchImage completes, either |
- // succesfully or with a failure. See FetchImage for more |
- // details. |
- void DidFetchImage(uint32_t max_image_size, |
- const DownloadImageCallback& callback, |
- MultiResolutionImageResourceFetcher* fetcher, |
- const std::vector<SkBitmap>& images); |
- |
- // Reply download result |
- void ReplyDownloadResult( |
- int32_t http_status_code, |
- const std::vector<SkBitmap>& result_images, |
- const std::vector<gfx::Size>& result_original_image_sizes, |
- const DownloadImageCallback& callback); |
- |
- typedef ScopedVector<MultiResolutionImageResourceFetcher> |
- ImageResourceFetcherList; |
- |
- // ImageResourceFetchers schedule via FetchImage. |
- ImageResourceFetcherList image_fetchers_; |
+ void DidDownloadImage(uint32_t max_bitmap_size, |
+ const DownloadImageCallback& callback, |
+ int32_t http_status_code, |
+ const std::vector<SkBitmap>& images); |
mojo::Binding<mojom::ImageDownloader> binding_; |
+ ImageDownloaderCore image_downloader_; |
miu
2016/12/03 01:05:30
If the core installs a RenderFrameObserver (see ot
xjz
2016/12/06 19:50:55
Changed to use inheritance and "delete this" in ba
xjz
2016/12/06 23:58:17
As commented elsewhere, removed "delete this" in b
|
+ |
DISALLOW_COPY_AND_ASSIGN(ImageDownloaderImpl); |
}; |