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 ac4995a2fec9d3343a410706ee1635a4c103f67d..5cb89edfb2a59ae55b4cdc8194bdfcfd6c9626ac 100644 |
--- a/content/renderer/image_downloader/image_downloader_impl.cc |
+++ b/content/renderer/image_downloader/image_downloader_impl.cc |
@@ -130,7 +130,12 @@ ImageDownloaderImpl::ImageDownloaderImpl( |
} |
ImageDownloaderImpl::~ImageDownloaderImpl() { |
- RenderThread::Get()->RemoveObserver(this); |
+ RenderThread* thread = RenderThread::Get(); |
+ // As ImageDownloaderImpl is a strong binding with message pipe, the |
+ // destructor may run after message loop shutdown, so we need to check whether |
+ // RenderThread is null. |
+ if (thread) |
+ thread->RemoveObserver(this); |
} |
// static |