| Index: components/precache/content/precache_manager.cc
|
| diff --git a/components/precache/content/precache_manager.cc b/components/precache/content/precache_manager.cc
|
| index 376c4579618c38b8059476dc98f87ce3fcc00689..7457018f6b559b60d967bc13fc82615f61371281 100644
|
| --- a/components/precache/content/precache_manager.cc
|
| +++ b/components/precache/content/precache_manager.cc
|
| @@ -197,12 +197,12 @@ void PrecacheManager::CancelPrecaching() {
|
| if (precache_fetcher_) {
|
| std::unique_ptr<PrecacheUnfinishedWork> unfinished_work =
|
| precache_fetcher_->CancelPrecaching();
|
| - BrowserThread::PostTask(
|
| - BrowserThread::DB,
|
| - FROM_HERE,
|
| - base::Bind(&PrecacheDatabase::SaveUnfinishedWork,
|
| - precache_database_->GetWeakPtr(),
|
| - base::Passed(&unfinished_work)));
|
| + if (unfinished_work) {
|
| + BrowserThread::PostTask(BrowserThread::DB, FROM_HERE,
|
| + base::Bind(&PrecacheDatabase::SaveUnfinishedWork,
|
| + precache_database_->GetWeakPtr(),
|
| + base::Passed(&unfinished_work)));
|
| + }
|
| // Destroying the |precache_fetcher_| will cancel any fetch in progress.
|
| precache_fetcher_.reset();
|
| }
|
|
|