| Index: content/browser/android/download_controller_android_impl.cc
|
| diff --git a/content/browser/android/download_controller_android_impl.cc b/content/browser/android/download_controller_android_impl.cc
|
| index efd07bf2f0e7e52f707a644b97810b510ad761d7..c0180108451d9c1d04f31f314f7833704f7fb0c1 100644
|
| --- a/content/browser/android/download_controller_android_impl.cc
|
| +++ b/content/browser/android/download_controller_android_impl.cc
|
| @@ -13,6 +13,7 @@
|
| #include "base/bind.h"
|
| #include "base/lazy_instance.h"
|
| #include "base/logging.h"
|
| +#include "base/metrics/histogram_macros.h"
|
| #include "base/synchronization/lock.h"
|
| #include "base/time/time.h"
|
| #include "content/browser/android/content_view_core_impl.h"
|
| @@ -131,6 +132,10 @@ static void OnRequestFileAccessResult(JNIEnv* env,
|
| cb(reinterpret_cast<
|
| DownloadControllerAndroid::AcquireFileAccessPermissionCallback*>(
|
| callback_id));
|
| + if (!granted) {
|
| + DownloadControllerAndroid::RecordDownloadCancelReason(
|
| + DownloadControllerAndroid::CANCEL_REASON_NO_STORAGE_PERMISSION);
|
| + }
|
| cb->Run(granted);
|
| }
|
|
|
| @@ -162,6 +167,13 @@ void DownloadControllerAndroid::SetDownloadControllerAndroid(
|
| }
|
|
|
| // static
|
| +void DownloadControllerAndroid::RecordDownloadCancelReason(
|
| + DownloadCancelReason reason) {
|
| + UMA_HISTOGRAM_ENUMERATION(
|
| + "MobileDownload.CancelReason", reason, CANCEL_REASON_MAX);
|
| +}
|
| +
|
| +// static
|
| DownloadControllerAndroidImpl* DownloadControllerAndroidImpl::GetInstance() {
|
| return base::Singleton<DownloadControllerAndroidImpl>::get();
|
| }
|
| @@ -494,6 +506,8 @@ void DownloadControllerAndroidImpl::OnDownloadUpdated(DownloadItem* item) {
|
| jmime_type.obj(), jfilename.obj(), jpath.obj(),
|
| item->GetReceivedBytes(), item->GetId(), jguid.obj(),
|
| joriginal_url.obj(), jreferrer_url.obj(), item->HasUserGesture());
|
| + DownloadControllerAndroid::RecordDownloadCancelReason(
|
| + DownloadControllerAndroid::CANCEL_REASON_NOT_CANCELED);
|
| break;
|
| case DownloadItem::CANCELLED:
|
| Java_DownloadController_onDownloadCancelled(
|
|
|