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 PlatformFileErrorToNetError(
48 base::PlatformFileError file_error) {
50 case base::PLATFORM_FILE_OK:
52 case base::PLATFORM_FILE_ERROR_ACCESS_DENIED:
53 return net::ERR_ACCESS_DENIED;
54 case base::PLATFORM_FILE_ERROR_INVALID_URL:
55 return net::ERR_INVALID_URL;
56 case base::PLATFORM_FILE_ERROR_NOT_FOUND:
57 return net::ERR_FILE_NOT_FOUND;
59 return net::ERR_FAILED;