Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1426)

Unified Diff: chrome/browser/android/offline_pages/background_loader_offliner.cc

Issue 2850943002: If MHTML saving is cancelled, delete the page afterwards. (Closed)
Patch Set: Fix unit tests on Android N5X swarming bot Created 3 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/android/offline_pages/background_loader_offliner.cc
diff --git a/chrome/browser/android/offline_pages/background_loader_offliner.cc b/chrome/browser/android/offline_pages/background_loader_offliner.cc
index 6c4a9b3062be368710d69e0f30013a9f1ee276ff..96dd8c08b205a2ed8ffb370110bf4cda6acfd4ce 100644
--- a/chrome/browser/android/offline_pages/background_loader_offliner.cc
+++ b/chrome/browser/android/offline_pages/background_loader_offliner.cc
@@ -81,6 +81,7 @@ void HandleApplicationStateChangeCancel(
completion_callback.Run(canceled_request,
Offliner::RequestStatus::FOREGROUND_CANCELED);
}
+
} // namespace
BackgroundLoaderOffliner::BackgroundLoaderOffliner(
@@ -414,8 +415,14 @@ void BackgroundLoaderOffliner::OnPageSaved(SavePageResult save_result,
ResetState();
if (save_state_ == DELETE_AFTER_SAVE) {
+ // Delete the saved page off disk and from the OPM.
+ std::vector<int64_t> offline_ids;
+ offline_ids.push_back(offline_id);
+ offline_page_model_->DeletePagesByOfflineId(
+ offline_ids,
+ base::Bind(&BackgroundLoaderOffliner::DeleteOfflinePageCallback,
+ weak_ptr_factory_.GetWeakPtr(), request));
save_state_ = NONE;
- cancel_callback_.Run(request);
return;
}
@@ -436,6 +443,12 @@ void BackgroundLoaderOffliner::OnPageSaved(SavePageResult save_result,
completion_callback_.Run(request, save_status);
}
+void BackgroundLoaderOffliner::DeleteOfflinePageCallback(
+ const SavePageRequest& request,
+ DeletePageResult result) {
+ cancel_callback_.Run(request);
+}
+
void BackgroundLoaderOffliner::ResetState() {
pending_request_.reset();
snapshot_controller_.reset();

Powered by Google App Engine
This is Rietveld 408576698