| Index: content/browser/download/download_stats.cc
|
| diff --git a/content/browser/download/download_stats.cc b/content/browser/download/download_stats.cc
|
| index 7831a4db32af2e31dc6b2339db06a9bd099b0ae6..c743970964f5490017e355c4f389573c218375f3 100644
|
| --- a/content/browser/download/download_stats.cc
|
| +++ b/content/browser/download/download_stats.cc
|
| @@ -8,6 +8,7 @@
|
| #include "base/strings/string_util.h"
|
| #include "content/browser/download/download_resource_handler.h"
|
| #include "content/public/browser/download_interrupt_reasons.h"
|
| +#include "net/base/net_errors.h"
|
| #include "net/http/http_content_disposition.h"
|
|
|
| namespace content {
|
| @@ -178,7 +179,7 @@ void RecordDownloadWriteLoopCount(int count) {
|
|
|
| void RecordAcceptsRanges(const std::string& accepts_ranges,
|
| int64 download_len,
|
| - const std::string& etag) {
|
| + bool has_strong_validator) {
|
| int64 max = 1024 * 1024 * 1024; // One Terabyte.
|
| download_len /= 1024; // In Kilobytes
|
| static const int kBuckets = 50;
|
| @@ -195,9 +196,7 @@ void RecordAcceptsRanges(const std::string& accepts_ranges,
|
| 1,
|
| max,
|
| kBuckets);
|
| - // ETags that start with "W/" are considered weak ETags which don't imply
|
| - // byte-wise equality.
|
| - if (!StartsWithASCII(etag, "w/", false))
|
| + if (has_strong_validator)
|
| RecordDownloadCount(STRONG_ETAG_AND_ACCEPTS_RANGES);
|
| } else {
|
| UMA_HISTOGRAM_CUSTOM_COUNTS("Download.AcceptRangesMissingOrInvalid.KBytes",
|
| @@ -453,6 +452,12 @@ void RecordFileBandwidth(size_t length,
|
| disk_write_time_ms * 100 / elapsed_time_ms);
|
| }
|
|
|
| +void RecordNetErrorForNetworkFailed(int net_error) {
|
| + UMA_HISTOGRAM_CUSTOM_ENUMERATION("Download.MapErrorNetworkFailed",
|
| + std::abs(net_error),
|
| + net::GetAllErrorCodesForUma());
|
| +}
|
| +
|
| void RecordSavePackageEvent(SavePackageEvent event) {
|
| UMA_HISTOGRAM_ENUMERATION("Download.SavePackage",
|
| event,
|
|
|