1 // Copyright (c) 2012 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
5 #include "net/base/net_errors.h"
7 #include "base/basictypes.h"
8 #include "base/metrics/histogram.h"
9 #include "base/strings/stringize_macros.h"
13 // Get all valid error codes into an array as positive numbers, for use in the
14 // |GetAllErrorCodesForUma| function below.
15 #define NET_ERROR(label, value) -(value),
16 const int kAllErrorCodes
[] = {
17 #include "net/base/net_error_list.h"
25 const char kErrorDomain
[] = "net";
27 const char* ErrorToString(int error
) {
32 #define NET_ERROR(label, value) \
34 return "net::" STRINGIZE_NO_EXPANSION(ERR_ ## label);
35 #include "net/base/net_error_list.h"
38 return "net::<unknown>";
42 std::vector
<int> GetAllErrorCodesForUma() {
43 return base::CustomHistogram::ArrayToCustomRanges(
44 kAllErrorCodes
, arraysize(kAllErrorCodes
));
47 Error
FileErrorToNetError(base::File::Error file_error
) {
49 case base::File::FILE_OK
:
51 case base::File::FILE_ERROR_ACCESS_DENIED
:
52 return net::ERR_ACCESS_DENIED
;
53 case base::File::FILE_ERROR_INVALID_URL
:
54 return net::ERR_INVALID_URL
;
55 case base::File::FILE_ERROR_NOT_FOUND
:
56 return net::ERR_FILE_NOT_FOUND
;
58 return net::ERR_FAILED
;