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

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

Issue 2596913002: [Offline pages] Update background loader offliner to return error when (Closed)
Patch Set: tests and code review Created 3 years, 12 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 096a5229acc2c2d6cb5eefe0f4bf9c3ef3b58c11..4d72e56a98d2c10e3aa3e3c5d7e59e77c3ec1594 100644
--- a/chrome/browser/android/offline_pages/background_loader_offliner.cc
+++ b/chrome/browser/android/offline_pages/background_loader_offliner.cc
@@ -97,6 +97,35 @@ void BackgroundLoaderOffliner::DidStopLoading() {
weak_ptr_factory_.GetWeakPtr()));
}
+void BackgroundLoaderOffliner::RenderProcessGone(
+ base::TerminationStatus status) {
+ if (pending_request_) {
+ SavePageRequest request(*pending_request_.get());
+ switch (status) {
+ case base::TERMINATION_STATUS_OOM:
+ case base::TERMINATION_STATUS_PROCESS_CRASHED:
+ case base::TERMINATION_STATUS_STILL_RUNNING:
+ completion_callback_.Run(
+ request, Offliner::RequestStatus::LOADING_FAILED_NO_NEXT);
+ break;
+ case base::TERMINATION_STATUS_PROCESS_WAS_KILLED:
+ default:
+ completion_callback_.Run(request,
+ Offliner::RequestStatus::LOADING_FAILED);
+ }
+ ResetState();
+ }
+}
+
+void BackgroundLoaderOffliner::WebContentsDestroyed() {
+ if (pending_request_) {
+ SavePageRequest request(*pending_request_.get());
+ completion_callback_.Run(*pending_request_.get(),
+ Offliner::RequestStatus::LOADING_FAILED);
+ ResetState();
+ }
+}
+
void BackgroundLoaderOffliner::OnPageSaved(SavePageResult save_result,
int64_t offline_id) {
if (!pending_request_)

Powered by Google App Engine
This is Rietveld 408576698