| Index: components/precache/content/precache_manager.cc
|
| diff --git a/components/precache/content/precache_manager.cc b/components/precache/content/precache_manager.cc
|
| index 9a81fbb032b3e47ee7de0748794ec3c30ea0c096..2f896f3e3b9194778e4e11bd4403c55fa48c5a95 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();
|
| }
|
|
|