File: net_error_info.h

package info (click to toggle)
chromium 139.0.7258.127-1
  • links: PTS, VCS
  • area: main
  • in suites:
  • size: 6,122,068 kB
  • sloc: cpp: 35,100,771; ansic: 7,163,530; javascript: 4,103,002; python: 1,436,920; asm: 946,517; xml: 746,709; pascal: 187,653; perl: 88,691; sh: 88,436; objc: 79,953; sql: 51,488; cs: 44,583; fortran: 24,137; makefile: 22,147; tcl: 15,277; php: 13,980; yacc: 8,984; ruby: 7,485; awk: 3,720; lisp: 3,096; lex: 1,327; ada: 727; jsp: 228; sed: 36
file content (144 lines) | stat: -rw-r--r-- 5,824 bytes parent folder | download | duplicates (11)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
// Copyright 2013 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.

#ifndef COMPONENTS_ERROR_PAGE_COMMON_NET_ERROR_INFO_H_
#define COMPONENTS_ERROR_PAGE_COMMON_NET_ERROR_INFO_H_

namespace error_page {

// Network error page events.  Used for UMA statistics and its values must be
// mirrored in NetErrorPageEvents in enums.xml.
enum NetworkErrorPageEvent {
  NETWORK_ERROR_PAGE_SHOWN = 0,  // Error pages shown.

  NETWORK_ERROR_PAGE_RELOAD_BUTTON_SHOWN = 1,    // Reload buttons shown.
  NETWORK_ERROR_PAGE_RELOAD_BUTTON_CLICKED = 2,  // Reload button clicked.
  NETWORK_ERROR_PAGE_RELOAD_BUTTON_ERROR = 3,    // Reload button clicked
                                                 // -> error.

  // Obsolete values used for the "Show saved copy" button.
  // NETWORK_ERROR_PAGE_SHOW_SAVED_COPY_BUTTON_SHOWN = 4,
  // NETWORK_ERROR_PAGE_SHOW_SAVED_COPY_BUTTON_CLICKED = 5,
  // NETWORK_ERROR_PAGE_SHOW_SAVED_COPY_BUTTON_ERROR = 6,

  NETWORK_ERROR_PAGE_MORE_BUTTON_CLICKED = 7,  // More button clicked.

  // Obsolete:
  // NETWORK_ERROR_PAGE_BROWSER_INITIATED_RELOAD = 8,  // Reload from browser.

  // Obsolete values used for when "Show saved copy" and "Reload" buttons were
  // both shown.
  //
  // NETWORK_ERROR_PAGE_BOTH_BUTTONS_SHOWN = 9,
  // NETWORK_ERROR_PAGE_BOTH_BUTTONS_RELOAD_CLICKED = 10,
  // NETWORK_ERROR_PAGE_BOTH_BUTTONS_SHOWN_SAVED_COPY_CLICKED = 11,

  NETWORK_ERROR_EASTER_EGG_ACTIVATED = 12,  // Easter egg activated.

  // Obsolete. No longer experimenting with the label.
  // NETWORK_ERROR_PAGE_CACHED_COPY_BUTTON_SHOWN = 13,
  // NETWORK_ERROR_PAGE_CACHED_COPY_BUTTON_CLICKED = 14,
  // NETWORK_ERROR_PAGE_CACHED_PAGE_BUTTON_SHOWN = 15,
  // NETWORK_ERROR_PAGE_CACHED_PAGE_BUTTON_CLICKED = 16,

  NETWORK_ERROR_DIAGNOSE_BUTTON_CLICKED = 17,  // Diagnose button clicked.

  // For the button to show all offline pages.
  // Obsolete. No longer showing this.
  // NETWORK_ERROR_PAGE_SHOW_OFFLINE_PAGES_BUTTON_SHOWN = 18,
  // NETWORK_ERROR_PAGE_SHOW_OFFLINE_PAGES_BUTTON_CLICKED = 19,

  // For the button to show offline copy.
  // Obsolete. No longer showing this.
  // NETWORK_ERROR_PAGE_SHOW_OFFLINE_COPY_BUTTON_SHOWN = 20,
  // NETWORK_ERROR_PAGE_SHOW_OFFLINE_COPY_BUTTON_CLICKED = 21,

  NETWORK_ERROR_PAGE_DOWNLOAD_BUTTON_SHOWN = 22,
  NETWORK_ERROR_PAGE_DOWNLOAD_BUTTON_CLICKED = 23,

  // Values for suggested content on the net-error page:

  // A list containing at least one item of offline content suggestions was
  // shown in the expanded/shown state.
  NETWORK_ERROR_PAGE_OFFLINE_SUGGESTIONS_SHOWN = 24,
  // An item from the offline content suggestions list was clicked.
  NETWORK_ERROR_PAGE_OFFLINE_SUGGESTION_CLICKED = 25,
  // A link that opens the downloads page was clicked.
  NETWORK_ERROR_PAGE_OFFLINE_DOWNLOADS_PAGE_CLICKED = 26,
  // A summary of available offline content was shown.
  NETWORK_ERROR_PAGE_OFFLINE_CONTENT_SUMMARY_SHOWN = 27,
  // A list containing at least one item of offline content suggestions was
  // shown in the collapsed/hidden state.
  NETWORK_ERROR_PAGE_OFFLINE_SUGGESTIONS_SHOWN_COLLAPSED = 28,
  // The error page was shown because the device is offline (this is the dino
  // page).
  NETWORK_ERROR_PAGE_OFFLINE_ERROR_SHOWN = 29,

  // "Sign in to network" button clicked.
  NETWORK_ERROR_PORTAL_SIGNIN_BUTTON_CLICKED = 30,

  NETWORK_ERROR_PAGE_EVENT_MAX,
};

// The status of a DNS probe.
//
// The DNS_PROBE_FINISHED_* values are used in histograms, so:
// 1. FINISHED_UNKNOWN must remain the first FINISHED_* value.
// 2. FINISHED_* values must not be rearranged relative to FINISHED_UNKNOWN.
// 3. New FINISHED_* values must be inserted at the end.
// 4. New non-FINISHED_* values cannot be inserted.
enum DnsProbeStatus {
  // A DNS probe may be run for this error page.  (This status is only used on
  // the renderer side before it's received a status update from the browser.)
  DNS_PROBE_POSSIBLE,

  // A DNS probe will not be run for this error page.  (This happens if the
  // user has the "Use web service to resolve navigation errors" preference
  // turned off, or if probes are disabled by the field trial.)
  DNS_PROBE_NOT_RUN,

  // A DNS probe has been started for this error page.  The renderer should
  // expect to receive another IPC with one of the FINISHED statuses once the
  // probe has finished (as long as the error page is still loaded).
  DNS_PROBE_STARTED,

  // A DNS probe has finished with one of the following results:

  // The probe was inconclusive.
  DNS_PROBE_FINISHED_INCONCLUSIVE,

  // There's no internet connection.
  DNS_PROBE_FINISHED_NO_INTERNET,

  // The DNS configuration is wrong, or the servers are down or broken.
  DNS_PROBE_FINISHED_BAD_CONFIG,

  // The DNS servers are working fine, so the domain must not exist.
  DNS_PROBE_FINISHED_NXDOMAIN,

  // The secure DNS configuration is wrong, or the servers are down or broken.
  DNS_PROBE_FINISHED_BAD_SECURE_CONFIG,

  DNS_PROBE_MAX
};

// Returns a string representing |status|.  It should be simply the name of
// the value as a string, but don't rely on that.  This is presented to the
// user as part of the DNS error page (as the error code, at the bottom),
// and is also used in some verbose log messages.
//
// The function will NOTREACHED() and return an empty string if given an int
// that does not match a value in DnsProbeStatus (or if it is DNS_PROBE_MAX,
// which is not a real status).
const char* DnsProbeStatusToString(int status);

// Returns true if |status| is one of the DNS_PROBE_FINISHED_* statuses.
bool DnsProbeStatusIsFinished(DnsProbeStatus status);

// Record specific error page events.
void RecordEvent(NetworkErrorPageEvent event);

}  // namespace error_page

#endif  // COMPONENTS_ERROR_PAGE_COMMON_NET_ERROR_INFO_H_