Chromium Code Reviews| 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) { |
|
jianli
2016/06/29 20:47:34
nit: RecordStatusUMA
|
| + UMA_HISTOGRAM_ENUMERATION( |
| + "OfflinePages.Background.OfflinerStatus", |
| + static_cast<int>(request_status), |
| + static_cast<int>(Offliner::RequestStatus::STATUS_COUNT)); |
|
Pete Williamson
2016/06/30 17:20:47
Will this succeed without static_cast?
dougarnett
2016/06/30 18:09:15
Done.
|
| +} |
| + |
| +} // 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); |
| } |
| } |