Index: content/renderer/image_downloader/image_downloader_impl.cc |
diff --git a/content/renderer/image_downloader/image_downloader_impl.cc b/content/renderer/image_downloader/image_downloader_impl.cc |
index 5cb89edfb2a59ae55b4cdc8194bdfcfd6c9626ac..a7679900966e61f80eedefda12fd1f9fe4c42cdd 100644 |
--- a/content/renderer/image_downloader/image_downloader_impl.cc |
+++ b/content/renderer/image_downloader/image_downloader_impl.cc |
@@ -123,10 +123,13 @@ namespace content { |
ImageDownloaderImpl::ImageDownloaderImpl( |
RenderFrame* render_frame, |
- mojo::InterfaceRequest<content::mojom::ImageDownloader> request) |
- : RenderFrameObserver(render_frame), binding_(this, std::move(request)) { |
+ mojom::ImageDownloaderRequest request) |
+ : RenderFrameObserver(render_frame), |
+ binding_(this, std::move(request)) { |
DCHECK(render_frame); |
RenderThread::Get()->AddObserver(this); |
+ binding_.set_connection_error_handler( |
+ base::Bind(&ImageDownloaderImpl::OnDestruct, base::Unretained(this))); |
} |
ImageDownloaderImpl::~ImageDownloaderImpl() { |
@@ -141,10 +144,11 @@ ImageDownloaderImpl::~ImageDownloaderImpl() { |
// static |
void ImageDownloaderImpl::CreateMojoService( |
RenderFrame* render_frame, |
- mojo::InterfaceRequest<content::mojom::ImageDownloader> request) { |
- DVLOG(1) << "ImageDownloaderImpl::CreateService"; |
+ mojom::ImageDownloaderRequest request) { |
+ DVLOG(1) << "ImageDownloaderImpl::CreateMojoService"; |
DCHECK(render_frame); |
+ // Owns itself. |
new ImageDownloaderImpl(render_frame, std::move(request)); |
} |