Chromium Code Reviews| Index: components/offline_pages/offline_page_model_impl.cc |
| diff --git a/components/offline_pages/offline_page_model_impl.cc b/components/offline_pages/offline_page_model_impl.cc |
| index d47d06d8337143f60d6989afa29d3b41d2433cf8..487892dc604939348196312bb76490477a2af6a9 100644 |
| --- a/components/offline_pages/offline_page_model_impl.cc |
| +++ b/components/offline_pages/offline_page_model_impl.cc |
| @@ -377,7 +377,7 @@ void OfflinePageModelImpl::MarkPageAccessedWhenLoadDone(int64_t offline_id) { |
| DCHECK(is_loaded_); |
| auto iter = offline_pages_.find(offline_id); |
| - if (iter == offline_pages_.end() || iter->second.IsExpired()) |
| + if (iter == offline_pages_.end()) |
| return; |
| // Make a copy of the cached item and update it. The cached item should only |
| @@ -411,7 +411,7 @@ void OfflinePageModelImpl::DoDeletePagesByOfflineId( |
| std::vector<base::FilePath> paths_to_delete; |
| for (const auto& offline_id : offline_ids) { |
| auto iter = offline_pages_.find(offline_id); |
| - if (iter != offline_pages_.end() && !iter->second.IsExpired()) { |
| + if (iter != offline_pages_.end()) { |
| paths_to_delete.push_back(iter->second.file_path); |
| } |
| } |
| @@ -432,10 +432,8 @@ void OfflinePageModelImpl::DeletePagesByClientIds( |
| const std::vector<ClientId>& client_ids, |
| const DeletePageCallback& callback) { |
| OfflinePageModelQueryBuilder builder; |
| - builder |
| - .SetClientIds(OfflinePageModelQuery::Requirement::INCLUDE_MATCHING, |
| - client_ids) |
| - .AllowExpiredPages(true); |
| + builder.SetClientIds(OfflinePageModelQuery::Requirement::INCLUDE_MATCHING, |
| + client_ids); |
| auto delete_pages = base::Bind(&OfflinePageModelImpl::DeletePages, |
| weak_ptr_factory_.GetWeakPtr(), callback); |
| RunWhenLoaded(base::Bind(&OfflinePageModelImpl::GetPagesMatchingQuery, |
| @@ -539,17 +537,6 @@ void OfflinePageModelImpl::GetAllPages( |
| callback)); |
| } |
| -void OfflinePageModelImpl::GetAllPagesWithExpired( |
| - const MultipleOfflinePageItemCallback& callback) { |
| - OfflinePageModelQueryBuilder builder; |
| - builder.AllowExpiredPages(true); |
| - |
| - RunWhenLoaded(base::Bind(&OfflinePageModelImpl::GetPagesMatchingQuery, |
| - weak_ptr_factory_.GetWeakPtr(), |
| - base::Passed(builder.Build(GetPolicyController())), |
| - callback)); |
| -} |
| - |
| void OfflinePageModelImpl::GetOfflineIdsForClientId( |
| const ClientId& client_id, |
| const MultipleOfflineIdCallback& callback) { |
| @@ -572,8 +559,7 @@ const std::vector<int64_t> OfflinePageModelImpl::MaybeGetOfflineIdsForClientId( |
| // We want only all pages, including those marked for deletion. |
| // TODO(fgorski): actually use an index rather than linear scan. |
| for (const auto& id_page_pair : offline_pages_) { |
| - if (id_page_pair.second.client_id == client_id && |
| - !id_page_pair.second.IsExpired()) { |
| + if (id_page_pair.second.client_id == client_id) { |
|
fgorski
2016/11/22 00:02:59
nit: since both body and condition are one liners,
romax
2016/11/23 23:32:03
Done.
|
| results.push_back(id_page_pair.second.offline_id); |
| } |
| } |
| @@ -631,8 +617,6 @@ void OfflinePageModelImpl::GetPagesByURLWhenLoadDone( |
| url.ReplaceComponents(remove_params); |
| for (const auto& id_page_pair : offline_pages_) { |
| - if (id_page_pair.second.IsExpired()) |
| - continue; |
| // First, search by last committed URL with fragment stripped. |
| if (url_without_fragment == |
| id_page_pair.second.url.ReplaceComponents(remove_params)) { |
| @@ -658,65 +642,6 @@ void OfflinePageModelImpl::CheckMetadataConsistency() { |
| weak_ptr_factory_.GetWeakPtr())); |
| } |
| -void OfflinePageModelImpl::ExpirePages( |
| - const std::vector<int64_t>& offline_ids, |
| - const base::Time& expiration_time, |
| - const base::Callback<void(bool)>& callback) { |
| - std::vector<base::FilePath> paths_to_delete; |
| - std::vector<OfflinePageItem> items_to_update; |
| - for (int64_t offline_id : offline_ids) { |
| - auto iter = offline_pages_.find(offline_id); |
| - if (iter == offline_pages_.end()) |
| - continue; |
| - |
| - OfflinePageItem offline_page = iter->second; |
| - paths_to_delete.push_back(offline_page.file_path); |
| - offline_page.expiration_time = expiration_time; |
| - |
| - items_to_update.push_back(offline_page); |
| - } |
| - |
| - store_->UpdateOfflinePages( |
| - items_to_update, |
| - base::Bind(&OfflinePageModelImpl::OnExpirePageDone, |
| - weak_ptr_factory_.GetWeakPtr(), expiration_time)); |
| - |
| - if (paths_to_delete.empty()) { |
| - callback.Run(true); |
| - return; |
| - } |
| - archive_manager_->DeleteMultipleArchives(paths_to_delete, callback); |
| -} |
| - |
| -void OfflinePageModelImpl::OnExpirePageDone( |
| - const base::Time& expiration_time, |
| - std::unique_ptr<OfflinePagesUpdateResult> result) { |
| - UMA_HISTOGRAM_BOOLEAN("OfflinePages.ExpirePage.StoreUpdateResult", |
| - result->updated_items.size() > 0); |
| - for (const auto& expired_page : result->updated_items) { |
| - const auto& iter = offline_pages_.find(expired_page.offline_id); |
| - if (iter == offline_pages_.end()) |
| - continue; |
| - |
| - iter->second.expiration_time = expiration_time; |
| - ClientId client_id = iter->second.client_id; |
| - offline_event_logger_.RecordPageExpired( |
| - std::to_string(expired_page.offline_id)); |
| - base::HistogramBase* histogram = base::Histogram::FactoryGet( |
| - AddHistogramSuffix(client_id, "OfflinePages.ExpirePage.PageLifetime"), |
| - 1, base::TimeDelta::FromDays(30).InMinutes(), 50, |
| - base::HistogramBase::kUmaTargetedHistogramFlag); |
| - histogram->Add((expiration_time - iter->second.creation_time).InMinutes()); |
| - histogram = base::Histogram::FactoryGet( |
| - AddHistogramSuffix(client_id, |
| - "OfflinePages.ExpirePage.TimeSinceLastAccess"), |
| - 1, base::TimeDelta::FromDays(30).InMinutes(), 50, |
| - base::HistogramBase::kUmaTargetedHistogramFlag); |
| - histogram->Add( |
| - (expiration_time - iter->second.last_access_time).InMinutes()); |
| - } |
| -} |
| - |
| ClientPolicyController* OfflinePageModelImpl::GetPolicyController() { |
| return policy_controller_.get(); |
| } |
| @@ -1031,11 +956,11 @@ void OfflinePageModelImpl::InformDeletePageDone( |
| void OfflinePageModelImpl::CheckMetadataConsistencyForArchivePaths( |
| const std::set<base::FilePath>& archive_paths) { |
| - ExpirePagesMissingArchiveFile(archive_paths); |
| + DeletePagesMissingArchiveFile(archive_paths); |
| DeleteOrphanedArchives(archive_paths); |
| } |
| -void OfflinePageModelImpl::ExpirePagesMissingArchiveFile( |
| +void OfflinePageModelImpl::DeletePagesMissingArchiveFile( |
| const std::set<base::FilePath>& archive_paths) { |
| std::vector<int64_t> ids_of_pages_missing_archive_file; |
| for (const auto& id_page_pair : offline_pages_) { |
| @@ -1046,20 +971,22 @@ void OfflinePageModelImpl::ExpirePagesMissingArchiveFile( |
| if (ids_of_pages_missing_archive_file.empty()) |
| return; |
| - ExpirePages( |
| - ids_of_pages_missing_archive_file, GetCurrentTime(), |
| - base::Bind(&OfflinePageModelImpl::OnExpirePagesMissingArchiveFileDone, |
| + DeletePagesByOfflineId( |
| + ids_of_pages_missing_archive_file, |
| + base::Bind(&OfflinePageModelImpl::OnDeletePagesMissingArchiveFileDone, |
| weak_ptr_factory_.GetWeakPtr(), |
| ids_of_pages_missing_archive_file)); |
| } |
| -void OfflinePageModelImpl::OnExpirePagesMissingArchiveFileDone( |
| +void OfflinePageModelImpl::OnDeletePagesMissingArchiveFileDone( |
| const std::vector<int64_t>& offline_ids, |
| - bool success) { |
| + DeletePageResult result) { |
| UMA_HISTOGRAM_COUNTS("OfflinePages.Consistency.PagesMissingArchiveFileCount", |
| static_cast<int32_t>(offline_ids.size())); |
| - UMA_HISTOGRAM_BOOLEAN( |
| - "OfflinePages.Consistency.ExpirePagesMissingArchiveFileResult", success); |
| + UMA_HISTOGRAM_ENUMERATION( |
| + "OfflinePages.Consistency.DeletePagesMissingArchiveFileResult", |
| + static_cast<int>(result), |
| + static_cast<int>(DeletePageResult::RESULT_COUNT)); |
| } |
| void OfflinePageModelImpl::DeleteOrphanedArchives( |
| @@ -1106,14 +1033,14 @@ void OfflinePageModelImpl::ClearStorageIfNeeded( |
| storage_manager_->ClearPagesIfNeeded(callback); |
| } |
| -void OfflinePageModelImpl::OnStorageCleared(size_t expired_page_count, |
| +void OfflinePageModelImpl::OnStorageCleared(size_t deleted_page_count, |
| ClearStorageResult result) { |
| UMA_HISTOGRAM_ENUMERATION("OfflinePages.ClearStorageResult", |
| static_cast<int>(result), |
| static_cast<int>(ClearStorageResult::RESULT_COUNT)); |
| - if (expired_page_count > 0) { |
| - UMA_HISTOGRAM_COUNTS("OfflinePages.ExpirePage.BatchSize", |
| - static_cast<int32_t>(expired_page_count)); |
| + if (deleted_page_count > 0) { |
| + UMA_HISTOGRAM_COUNTS("OfflinePages.ClearStorageBatchSize", |
| + static_cast<int32_t>(deleted_page_count)); |
| } |
| } |