Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(247)

Side by Side Diff: chrome/common/net/net_error_info.h

Issue 570253002: Componentize NetErrorHelperCore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix Win64 Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
(Empty)
1 // Copyright (c) 2013 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.
4
5 #ifndef CHROME_COMMON_NET_NET_ERROR_INFO_H_
6 #define CHROME_COMMON_NET_NET_ERROR_INFO_H_
7
8 namespace chrome_common_net {
9
10 // Network error page events. Used for UMA statistics.
11 enum NetworkErrorPageEvent {
12 NETWORK_ERROR_PAGE_SHOWN, // Error pages shown.
13
14 NETWORK_ERROR_PAGE_RELOAD_BUTTON_SHOWN, // Reload buttons shown.
15 NETWORK_ERROR_PAGE_RELOAD_BUTTON_CLICKED, // Reload button clicked.
16 NETWORK_ERROR_PAGE_RELOAD_BUTTON_ERROR, // Reload button clicked
17 // -> error.
18
19 NETWORK_ERROR_PAGE_LOAD_STALE_BUTTON_SHOWN, // Load stale buttons shown.
20 NETWORK_ERROR_PAGE_LOAD_STALE_BUTTON_CLICKED, // Load stale button clicked.
21 NETWORK_ERROR_PAGE_LOAD_STALE_BUTTON_ERROR, // Load stale buttons -> error.
22
23 NETWORK_ERROR_PAGE_MORE_BUTTON_CLICKED, // More button clicked.
24
25 NETWORK_ERROR_PAGE_BROWSER_INITIATED_RELOAD, // Reload from browser.
26
27 NETWORK_ERROR_PAGE_EVENT_MAX,
28 };
29
30 // The status of a DNS probe that the NetErrorTabHelper may or may not have
31 // started.
32 //
33 // The DNS_PROBE_FINISHED_* values are used in histograms, so:
34 // 1. FINISHED_UNKNOWN must remain the first FINISHED_* value.
35 // 2. FINISHED_* values must not be rearranged relative to FINISHED_UNKNOWN.
36 // 3. New FINISHED_* values must be inserted at the end.
37 // 4. New non-FINISHED_* values cannot be inserted.
38 enum DnsProbeStatus {
39 // A DNS probe may be run for this error page. (This status is only used on
40 // the renderer side before it's received a status update from the browser.)
41 DNS_PROBE_POSSIBLE,
42
43 // A DNS probe will not be run for this error page. (This happens if the
44 // user has the "Use web service to resolve navigation errors" preference
45 // turned off, or if probes are disabled by the field trial.)
46 DNS_PROBE_NOT_RUN,
47
48 // A DNS probe has been started for this error page. The renderer should
49 // expect to receive another IPC with one of the FINISHED statuses once the
50 // probe has finished (as long as the error page is still loaded).
51 DNS_PROBE_STARTED,
52
53 // A DNS probe has finished with one of the following results:
54
55 // The probe was inconclusive.
56 DNS_PROBE_FINISHED_INCONCLUSIVE,
57
58 // There's no internet connection.
59 DNS_PROBE_FINISHED_NO_INTERNET,
60
61 // The DNS configuration is wrong, or the servers are down or broken.
62 DNS_PROBE_FINISHED_BAD_CONFIG,
63
64 // The DNS servers are working fine, so the domain must not exist.
65 DNS_PROBE_FINISHED_NXDOMAIN,
66
67 DNS_PROBE_MAX
68 };
69
70 // Returns a string representing |status|. It should be simply the name of
71 // the value as a string, but don't rely on that. This is presented to the
72 // user as part of the DNS error page (as the error code, at the bottom),
73 // and is also used in some verbose log messages.
74 //
75 // |status| is an int because error codes are ints by the time they get to the
76 // localized error system, and we don't want to require the caller to cast back
77 // to a probe status. The function will NOTREACHED() and return an empty
78 // string if given an int that does not match a value in DnsProbeStatus (or if
79 // it is DNS_PROBE_MAX, which is not a real status).
80 const char* DnsProbeStatusToString(int status);
81
82 // Returns true if |status| is one of the DNS_PROBE_FINISHED_* statuses.
83 bool DnsProbeStatusIsFinished(DnsProbeStatus status);
84
85 // Record specific error page events.
86 void RecordEvent(NetworkErrorPageEvent event);
87
88 // The error domain used to pass DNS probe statuses to the localized error
89 // code.
90 extern const char kDnsProbeErrorDomain[];
91
92 } // namespace chrome_common_net
93
94 #endif // CHROME_COMMON_NET_NET_ERROR_INFO_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698