| Index: components/offline_pages/core/offline_page_model_impl.cc
|
| diff --git a/components/offline_pages/core/offline_page_model_impl.cc b/components/offline_pages/core/offline_page_model_impl.cc
|
| index 011dfbe2a1670cf224c0f9d3590e227b9ee7c57f..245db22586d8fa368606460bde0dbd865607adc2 100644
|
| --- a/components/offline_pages/core/offline_page_model_impl.cc
|
| +++ b/components/offline_pages/core/offline_page_model_impl.cc
|
| @@ -708,11 +708,12 @@ void OfflinePageModelImpl::OnCreateArchiveDone(
|
| store_->AddOfflinePage(offline_page_item,
|
| base::Bind(&OfflinePageModelImpl::OnAddOfflinePageDone,
|
| weak_ptr_factory_.GetWeakPtr(), archiver,
|
| - callback, offline_page_item));
|
| + file_path, callback, offline_page_item));
|
| }
|
|
|
| void OfflinePageModelImpl::OnAddOfflinePageDone(
|
| OfflinePageArchiver* archiver,
|
| + const base::FilePath& file_path,
|
| const SavePageCallback& callback,
|
| const OfflinePageItem& offline_page,
|
| ItemActionStatus status) {
|
| @@ -727,6 +728,8 @@ void OfflinePageModelImpl::OnAddOfflinePageDone(
|
| offline_page.client_id.name_space, offline_page.url.spec(),
|
| std::to_string(offline_page.offline_id));
|
| } else if (status == ItemActionStatus::ALREADY_EXISTS) {
|
| + // Remove the orphaned archive. No callback necessary.
|
| + archive_manager_->DeleteArchive(file_path, base::Bind([](bool) {}));
|
| result = SavePageResult::ALREADY_EXISTS;
|
| } else {
|
| result = SavePageResult::STORE_FAILURE;
|
|
|