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..55a92f8e23846990ea0128d4e21dd8562709cbf4 100644 |
--- a/chrome/browser/android/offline_pages/background_loader_offliner.cc |
+++ b/chrome/browser/android/offline_pages/background_loader_offliner.cc |
@@ -97,6 +97,30 @@ void BackgroundLoaderOffliner::DidStopLoading() { |
weak_ptr_factory_.GetWeakPtr())); |
} |
+void BackgroundLoaderOffliner::RenderProcessGone( |
Pete Williamson
2016/12/21 20:49:28
What would cause a call to RenderProcessGone? I d
|
+ base::TerminationStatus status) { |
+ SavePageRequest request(*pending_request_.get()); |
+ switch (status) { |
+ case TERMINATION_STATUS_OOM: |
+ case TERMINATION_STATUS_PROCESS_CRASHED: |
+ case TERMINATION_STATUS_STILL_RUNNING: |
+ completion_callback_.Run(request, |
+ Offliner::RequestStatus::LOADING_FAILED_NO_NEXT); |
+ break; |
+ case TERMINATION_STATUS_PROCESS_WAS_KILLED: |
dougarnett
2016/12/22 01:37:53
Can you share any insight on this case? Cleanly ki
|
+ default: |
+ completion_callback_.Run(request, |
+ Offliner::RequestStatus::LOADING_FAILED); |
+ } |
+ ResetState(); |
+} |
+ |
+void BackgroundLoaderOffliner::WebContentsDestroyed() { |
+ completion_callback_.Run(*pending_request_.get(), |
+ Offliner::RequestStatus::LOADING_FAILED); |
+ ResetState(); |
+} |
+ |
void BackgroundLoaderOffliner::OnPageSaved(SavePageResult save_result, |
int64_t offline_id) { |
if (!pending_request_) |