Index: chrome/browser/android/offline_pages/prerendering_offliner.cc |
diff --git a/chrome/browser/android/offline_pages/prerendering_offliner.cc b/chrome/browser/android/offline_pages/prerendering_offliner.cc |
index bab7d7fa6630b0794ed865cdf39d5ae6b0a2ed02..7cad8e4a74676697be4c90afe5fca286157f82af 100644 |
--- a/chrome/browser/android/offline_pages/prerendering_offliner.cc |
+++ b/chrome/browser/android/offline_pages/prerendering_offliner.cc |
@@ -5,6 +5,7 @@ |
#include "chrome/browser/android/offline_pages/prerendering_offliner.h" |
#include "base/bind.h" |
+#include "base/metrics/histogram_macros.h" |
#include "chrome/browser/android/offline_pages/offline_page_mhtml_archiver.h" |
#include "components/offline_pages/background/save_page_request.h" |
#include "components/offline_pages/offline_page_model.h" |
@@ -13,6 +14,17 @@ |
namespace offline_pages { |
+namespace { |
+ |
+void RecordStatusUma(Offliner::RequestStatus request_status) { |
+ UMA_HISTOGRAM_ENUMERATION( |
+ "OfflinePages.Background.OfflinerStatus", |
+ static_cast<int>(request_status), |
+ static_cast<int>(Offliner::RequestStatus::STATUS_COUNT)); |
+} |
+ |
+} // namespace |
+ |
PrerenderingOffliner::PrerenderingOffliner( |
content::BrowserContext* browser_context, |
const OfflinerPolicy* policy, |
@@ -66,6 +78,7 @@ void PrerenderingOffliner::OnLoadPageDone( |
} else { |
// Clear pending request and then run the completion callback. |
pending_request_.reset(nullptr); |
+ RecordStatusUma(load_status); |
completion_callback.Run(request, load_status); |
} |
} |
@@ -97,8 +110,9 @@ void PrerenderingOffliner::OnSavePageDone( |
} else { |
// TODO(dougarnett): Consider reflecting some recommendation to retry the |
// request based on specific save error cases. |
- save_status = RequestStatus::FAILED_SAVE; |
+ save_status = RequestStatus::SAVE_FAILED; |
} |
+ RecordStatusUma(save_status); |
completion_callback.Run(request, save_status); |
} |
@@ -138,6 +152,7 @@ void PrerenderingOffliner::Cancel() { |
pending_request_.reset(nullptr); |
GetOrCreateLoader()->StopLoading(); |
// TODO(dougarnett): Consider ability to cancel SavePage request. |
+ RecordStatusUma(Offliner::RequestStatus::REQUEST_CANCELED); |
} |
} |