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

Side by Side Diff: components/error_page/common/localized_error.cc

Issue 2094733002: Remove details strings used by iframes on network error pages (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Remove unused iOS strings Created 4 years, 5 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
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 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 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "components/error_page/common/localized_error.h" 5 #include "components/error_page/common/localized_error.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include <utility> 9 #include <utility>
10 10
(...skipping 25 matching lines...) Expand all
36 #endif 36 #endif
37 37
38 #if defined(OS_ANDROID) 38 #if defined(OS_ANDROID)
39 #include "components/offline_pages/offline_page_feature.h" 39 #include "components/offline_pages/offline_page_feature.h"
40 #endif 40 #endif
41 41
42 namespace error_page { 42 namespace error_page {
43 43
44 namespace { 44 namespace {
45 45
46 // Some error pages have no details or summary.
47 const unsigned int kEmptyMessageResourceID = 0;
48
49 static const char kRedirectLoopLearnMoreUrl[] = 46 static const char kRedirectLoopLearnMoreUrl[] =
50 "https://support.google.com/chrome?p=rl_error"; 47 "https://support.google.com/chrome?p=rl_error";
51 static const char kWeakDHKeyLearnMoreUrl[] = 48 static const char kWeakDHKeyLearnMoreUrl[] =
52 "https://support.google.com/chrome?p=dh_error"; 49 "https://support.google.com/chrome?p=dh_error";
53 static const int kGoogleCachedCopySuggestionType = 0; 50 static const int kGoogleCachedCopySuggestionType = 0;
54 51
55 enum NAV_SUGGESTIONS { 52 enum NAV_SUGGESTIONS {
56 SUGGEST_NONE = 0, 53 SUGGEST_NONE = 0,
57 SUGGEST_DIAGNOSE_TOOL = 1 << 0, 54 SUGGEST_DIAGNOSE_TOOL = 1 << 0,
58 SUGGEST_CHECK_CONNECTION = 1 << 1, 55 SUGGEST_CHECK_CONNECTION = 1 << 1,
(...skipping 13 matching lines...) Expand all
72 69
73 enum SHOW_BUTTONS { 70 enum SHOW_BUTTONS {
74 SHOW_NO_BUTTONS = 0, 71 SHOW_NO_BUTTONS = 0,
75 SHOW_BUTTON_RELOAD = 1, 72 SHOW_BUTTON_RELOAD = 1,
76 }; 73 };
77 74
78 struct LocalizedErrorMap { 75 struct LocalizedErrorMap {
79 int error_code; 76 int error_code;
80 unsigned int title_resource_id; 77 unsigned int title_resource_id;
81 unsigned int heading_resource_id; 78 unsigned int heading_resource_id;
82 // Detailed summary used when the error is in the main frame. 79 // Detailed summary used when the error is in the main frame and shown on
80 // mouse over when the error is in a frame.
83 unsigned int summary_resource_id; 81 unsigned int summary_resource_id;
84 // Short one sentence description shown on mouse over when the error is in
85 // a frame.
86 unsigned int details_resource_id;
87 int suggestions; // Bitmap of SUGGEST_* values. 82 int suggestions; // Bitmap of SUGGEST_* values.
88 int buttons; // Which buttons if any to show. 83 int buttons; // Which buttons if any to show.
89 }; 84 };
90 85
91 const LocalizedErrorMap net_error_options[] = { 86 const LocalizedErrorMap net_error_options[] = {
92 {net::ERR_TIMED_OUT, 87 {net::ERR_TIMED_OUT,
93 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 88 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
94 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 89 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
95 IDS_ERRORPAGES_SUMMARY_TIMED_OUT, 90 IDS_ERRORPAGES_SUMMARY_TIMED_OUT,
96 IDS_ERRORPAGES_DETAILS_TIMED_OUT,
97 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG | 91 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG |
98 SUGGEST_DIAGNOSE_TOOL, 92 SUGGEST_DIAGNOSE_TOOL,
99 SHOW_BUTTON_RELOAD, 93 SHOW_BUTTON_RELOAD,
100 }, 94 },
101 {net::ERR_CONNECTION_TIMED_OUT, 95 {net::ERR_CONNECTION_TIMED_OUT,
102 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 96 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
103 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 97 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
104 IDS_ERRORPAGES_SUMMARY_TIMED_OUT, 98 IDS_ERRORPAGES_SUMMARY_TIMED_OUT,
105 IDS_ERRORPAGES_DETAILS_TIMED_OUT,
106 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG | 99 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG |
107 SUGGEST_DIAGNOSE_TOOL, 100 SUGGEST_DIAGNOSE_TOOL,
108 SHOW_BUTTON_RELOAD, 101 SHOW_BUTTON_RELOAD,
109 }, 102 },
110 {net::ERR_CONNECTION_CLOSED, 103 {net::ERR_CONNECTION_CLOSED,
111 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 104 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
112 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 105 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
113 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED, 106 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED,
114 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED,
115 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG | 107 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG |
116 SUGGEST_DIAGNOSE_TOOL, 108 SUGGEST_DIAGNOSE_TOOL,
117 SHOW_BUTTON_RELOAD, 109 SHOW_BUTTON_RELOAD,
118 }, 110 },
119 {net::ERR_CONNECTION_RESET, 111 {net::ERR_CONNECTION_RESET,
120 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 112 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
121 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 113 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
122 IDS_ERRORPAGES_SUMMARY_CONNECTION_RESET, 114 IDS_ERRORPAGES_SUMMARY_CONNECTION_RESET,
123 IDS_ERRORPAGES_DETAILS_CONNECTION_RESET,
124 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG | 115 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG |
125 SUGGEST_DIAGNOSE_TOOL, 116 SUGGEST_DIAGNOSE_TOOL,
126 SHOW_BUTTON_RELOAD, 117 SHOW_BUTTON_RELOAD,
127 }, 118 },
128 {net::ERR_CONNECTION_REFUSED, 119 {net::ERR_CONNECTION_REFUSED,
129 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 120 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
130 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 121 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
131 IDS_ERRORPAGES_SUMMARY_CONNECTION_REFUSED, 122 IDS_ERRORPAGES_SUMMARY_CONNECTION_REFUSED,
132 IDS_ERRORPAGES_DETAILS_CONNECTION_REFUSED,
133 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG, 123 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG,
134 SHOW_BUTTON_RELOAD, 124 SHOW_BUTTON_RELOAD,
135 }, 125 },
136 {net::ERR_CONNECTION_FAILED, 126 {net::ERR_CONNECTION_FAILED,
137 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 127 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
138 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 128 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
139 IDS_ERRORPAGES_SUMMARY_CONNECTION_FAILED, 129 IDS_ERRORPAGES_SUMMARY_CONNECTION_FAILED,
140 IDS_ERRORPAGES_DETAILS_CONNECTION_FAILED,
141 SUGGEST_DIAGNOSE_TOOL, 130 SUGGEST_DIAGNOSE_TOOL,
142 SHOW_BUTTON_RELOAD, 131 SHOW_BUTTON_RELOAD,
143 }, 132 },
144 {net::ERR_NAME_NOT_RESOLVED, 133 {net::ERR_NAME_NOT_RESOLVED,
145 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 134 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
146 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 135 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
147 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED, 136 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
148 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
149 SUGGEST_CHECK_CONNECTION | SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG | 137 SUGGEST_CHECK_CONNECTION | SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG |
150 SUGGEST_PROXY_CONFIG | SUGGEST_DIAGNOSE_TOOL, 138 SUGGEST_PROXY_CONFIG | SUGGEST_DIAGNOSE_TOOL,
151 SHOW_BUTTON_RELOAD, 139 SHOW_BUTTON_RELOAD,
152 }, 140 },
153 {net::ERR_ICANN_NAME_COLLISION, 141 {net::ERR_ICANN_NAME_COLLISION,
154 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 142 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
155 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 143 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
156 IDS_ERRORPAGES_SUMMARY_ICANN_NAME_COLLISION, 144 IDS_ERRORPAGES_SUMMARY_ICANN_NAME_COLLISION,
157 IDS_ERRORPAGES_DETAILS_ICANN_NAME_COLLISION,
158 SUGGEST_NONE, 145 SUGGEST_NONE,
159 SHOW_NO_BUTTONS, 146 SHOW_NO_BUTTONS,
160 }, 147 },
161 {net::ERR_ADDRESS_UNREACHABLE, 148 {net::ERR_ADDRESS_UNREACHABLE,
162 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 149 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
163 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 150 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
164 IDS_ERRORPAGES_SUMMARY_ADDRESS_UNREACHABLE, 151 IDS_ERRORPAGES_SUMMARY_ADDRESS_UNREACHABLE,
165 IDS_ERRORPAGES_DETAILS_ADDRESS_UNREACHABLE,
166 SUGGEST_DIAGNOSE_TOOL, 152 SUGGEST_DIAGNOSE_TOOL,
167 SHOW_BUTTON_RELOAD, 153 SHOW_BUTTON_RELOAD,
168 }, 154 },
169 {net::ERR_NETWORK_ACCESS_DENIED, 155 {net::ERR_NETWORK_ACCESS_DENIED,
170 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 156 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
171 IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED, 157 IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED,
172 IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED, 158 IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED,
173 IDS_ERRORPAGES_DETAILS_NETWORK_ACCESS_DENIED,
174 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | 159 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG |
175 SUGGEST_ANTIVIRUS_CONFIG | SUGGEST_DIAGNOSE_TOOL, 160 SUGGEST_ANTIVIRUS_CONFIG | SUGGEST_DIAGNOSE_TOOL,
176 SHOW_NO_BUTTONS, 161 SHOW_NO_BUTTONS,
177 }, 162 },
178 {net::ERR_PROXY_CONNECTION_FAILED, 163 {net::ERR_PROXY_CONNECTION_FAILED,
179 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 164 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
180 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED, 165 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
181 IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED, 166 IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED,
182 IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED,
183 SUGGEST_PROXY_CONFIG | SUGGEST_CONTACT_ADMINISTRATOR | SUGGEST_DIAGNOSE_TOOL, 167 SUGGEST_PROXY_CONFIG | SUGGEST_CONTACT_ADMINISTRATOR | SUGGEST_DIAGNOSE_TOOL,
184 SHOW_NO_BUTTONS, 168 SHOW_NO_BUTTONS,
185 }, 169 },
186 {net::ERR_INTERNET_DISCONNECTED, 170 {net::ERR_INTERNET_DISCONNECTED,
187 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 171 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
188 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED, 172 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
189 kEmptyMessageResourceID, 173 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
190 IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED,
191 SUGGEST_OFFLINE_CHECKS | SUGGEST_DIAGNOSE_TOOL, 174 SUGGEST_OFFLINE_CHECKS | SUGGEST_DIAGNOSE_TOOL,
192 SHOW_NO_BUTTONS, 175 SHOW_NO_BUTTONS,
193 }, 176 },
194 {net::ERR_FILE_NOT_FOUND, 177 {net::ERR_FILE_NOT_FOUND,
195 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 178 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
196 IDS_ERRORPAGES_HEADING_FILE_NOT_FOUND, 179 IDS_ERRORPAGES_HEADING_FILE_NOT_FOUND,
197 IDS_ERRORPAGES_SUMMARY_FILE_NOT_FOUND, 180 IDS_ERRORPAGES_SUMMARY_FILE_NOT_FOUND,
198 IDS_ERRORPAGES_DETAILS_FILE_NOT_FOUND,
199 SUGGEST_NONE, 181 SUGGEST_NONE,
200 SHOW_NO_BUTTONS, 182 SHOW_NO_BUTTONS,
201 }, 183 },
202 {net::ERR_CACHE_MISS, 184 {net::ERR_CACHE_MISS,
203 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 185 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
204 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE, 186 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE,
205 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE, 187 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE,
206 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE,
207 SUGGEST_NONE, 188 SUGGEST_NONE,
208 SHOW_BUTTON_RELOAD, 189 SHOW_BUTTON_RELOAD,
209 }, 190 },
210 {net::ERR_CACHE_READ_FAILURE, 191 {net::ERR_CACHE_READ_FAILURE,
211 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 192 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
212 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE, 193 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE,
213 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE, 194 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE,
214 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE,
215 SUGGEST_NONE, 195 SUGGEST_NONE,
216 SHOW_BUTTON_RELOAD, 196 SHOW_BUTTON_RELOAD,
217 }, 197 },
218 {net::ERR_NETWORK_IO_SUSPENDED, 198 {net::ERR_NETWORK_IO_SUSPENDED,
219 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 199 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
220 IDS_ERRORPAGES_HEADING_CONNECTION_INTERRUPTED, 200 IDS_ERRORPAGES_HEADING_CONNECTION_INTERRUPTED,
221 IDS_ERRORPAGES_SUMMARY_NETWORK_IO_SUSPENDED, 201 IDS_ERRORPAGES_SUMMARY_NETWORK_IO_SUSPENDED,
222 IDS_ERRORPAGES_DETAILS_NETWORK_IO_SUSPENDED,
223 SUGGEST_NONE, 202 SUGGEST_NONE,
224 SHOW_BUTTON_RELOAD, 203 SHOW_BUTTON_RELOAD,
225 }, 204 },
226 {net::ERR_TOO_MANY_REDIRECTS, 205 {net::ERR_TOO_MANY_REDIRECTS,
227 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 206 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
228 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 207 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
229 IDS_ERRORPAGES_SUMMARY_TOO_MANY_REDIRECTS, 208 IDS_ERRORPAGES_SUMMARY_TOO_MANY_REDIRECTS,
230 IDS_ERRORPAGES_DETAILS_TOO_MANY_REDIRECTS,
231 SUGGEST_LEARNMORE, 209 SUGGEST_LEARNMORE,
232 SHOW_BUTTON_RELOAD, 210 SHOW_BUTTON_RELOAD,
233 }, 211 },
234 {net::ERR_EMPTY_RESPONSE, 212 {net::ERR_EMPTY_RESPONSE,
235 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 213 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
236 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 214 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
237 IDS_ERRORPAGES_SUMMARY_EMPTY_RESPONSE, 215 IDS_ERRORPAGES_SUMMARY_EMPTY_RESPONSE,
238 IDS_ERRORPAGES_DETAILS_EMPTY_RESPONSE,
239 SUGGEST_NONE, 216 SUGGEST_NONE,
240 SHOW_BUTTON_RELOAD, 217 SHOW_BUTTON_RELOAD,
241 }, 218 },
242 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH, 219 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH,
243 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 220 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
244 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 221 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
245 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE, 222 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
246 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH,
247 SUGGEST_NONE, 223 SUGGEST_NONE,
248 SHOW_BUTTON_RELOAD, 224 SHOW_BUTTON_RELOAD,
249 }, 225 },
250 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION, 226 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION,
251 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 227 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
252 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 228 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
253 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE, 229 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
254 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION,
255 SUGGEST_NONE, 230 SUGGEST_NONE,
256 SHOW_BUTTON_RELOAD, 231 SHOW_BUTTON_RELOAD,
257 }, 232 },
258 {net::ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION, 233 {net::ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION,
259 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 234 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
260 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 235 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
261 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE, 236 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
262 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_LOCATION,
263 SUGGEST_NONE, 237 SUGGEST_NONE,
264 SHOW_BUTTON_RELOAD, 238 SHOW_BUTTON_RELOAD,
265 }, 239 },
266 {net::ERR_CONTENT_LENGTH_MISMATCH, 240 {net::ERR_CONTENT_LENGTH_MISMATCH,
267 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 241 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
268 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 242 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
269 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED, 243 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED,
270 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED,
271 SUGGEST_NONE, 244 SUGGEST_NONE,
272 SHOW_BUTTON_RELOAD, 245 SHOW_BUTTON_RELOAD,
273 }, 246 },
274 {net::ERR_INCOMPLETE_CHUNKED_ENCODING, 247 {net::ERR_INCOMPLETE_CHUNKED_ENCODING,
275 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 248 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
276 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 249 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
277 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED, 250 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED,
278 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED,
279 SUGGEST_NONE, 251 SUGGEST_NONE,
280 SHOW_BUTTON_RELOAD, 252 SHOW_BUTTON_RELOAD,
281 }, 253 },
282 {net::ERR_SSL_PROTOCOL_ERROR, 254 {net::ERR_SSL_PROTOCOL_ERROR,
283 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 255 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
284 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 256 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
285 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE, 257 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
286 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
287 SUGGEST_DIAGNOSE_TOOL, 258 SUGGEST_DIAGNOSE_TOOL,
288 SHOW_BUTTON_RELOAD, 259 SHOW_BUTTON_RELOAD,
289 }, 260 },
290 {net::ERR_BAD_SSL_CLIENT_AUTH_CERT, 261 {net::ERR_BAD_SSL_CLIENT_AUTH_CERT,
291 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 262 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
292 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 263 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
293 IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT, 264 IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT,
294 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT,
295 SUGGEST_CONTACT_ADMINISTRATOR, 265 SUGGEST_CONTACT_ADMINISTRATOR,
296 SHOW_NO_BUTTONS, 266 SHOW_NO_BUTTONS,
297 }, 267 },
298 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY, 268 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY,
299 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 269 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
300 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 270 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
301 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR, 271 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR,
302 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
303 SUGGEST_LEARNMORE, 272 SUGGEST_LEARNMORE,
304 SHOW_NO_BUTTONS, 273 SHOW_NO_BUTTONS,
305 }, 274 },
306 {net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, 275 {net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN,
307 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 276 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
308 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 277 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
309 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DETAILS, 278 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DETAILS,
310 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DESCRIPTION,
311 SUGGEST_NONE, 279 SUGGEST_NONE,
312 SHOW_NO_BUTTONS, 280 SHOW_NO_BUTTONS,
313 }, 281 },
314 {net::ERR_TEMPORARILY_THROTTLED, 282 {net::ERR_TEMPORARILY_THROTTLED,
315 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 283 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
316 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 284 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
317 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE, 285 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE,
318 IDS_ERRORPAGES_DETAILS_TEMPORARILY_THROTTLED,
319 SUGGEST_DISABLE_EXTENSION, 286 SUGGEST_DISABLE_EXTENSION,
320 SHOW_NO_BUTTONS, 287 SHOW_NO_BUTTONS,
321 }, 288 },
322 {net::ERR_BLOCKED_BY_CLIENT, 289 {net::ERR_BLOCKED_BY_CLIENT,
323 IDS_ERRORPAGES_TITLE_BLOCKED, 290 IDS_ERRORPAGES_TITLE_BLOCKED,
324 IDS_ERRORPAGES_HEADING_BLOCKED, 291 IDS_ERRORPAGES_HEADING_BLOCKED,
325 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_EXTENSION, 292 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_EXTENSION,
326 IDS_ERRORPAGES_DETAILS_BLOCKED_BY_EXTENSION,
327 SUGGEST_DISABLE_EXTENSION, 293 SUGGEST_DISABLE_EXTENSION,
328 SHOW_BUTTON_RELOAD, 294 SHOW_BUTTON_RELOAD,
329 }, 295 },
330 {net::ERR_NETWORK_CHANGED, 296 {net::ERR_NETWORK_CHANGED,
331 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 297 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
332 IDS_ERRORPAGES_HEADING_CONNECTION_INTERRUPTED, 298 IDS_ERRORPAGES_HEADING_CONNECTION_INTERRUPTED,
333 IDS_ERRORPAGES_SUMMARY_NETWORK_CHANGED, 299 IDS_ERRORPAGES_SUMMARY_NETWORK_CHANGED,
334 IDS_ERRORPAGES_DETAILS_NETWORK_CHANGED,
335 SUGGEST_NONE, 300 SUGGEST_NONE,
336 SHOW_BUTTON_RELOAD, 301 SHOW_BUTTON_RELOAD,
337 }, 302 },
338 {net::ERR_BLOCKED_BY_ADMINISTRATOR, 303 {net::ERR_BLOCKED_BY_ADMINISTRATOR,
339 IDS_ERRORPAGES_TITLE_BLOCKED, 304 IDS_ERRORPAGES_TITLE_BLOCKED,
340 IDS_ERRORPAGES_HEADING_BLOCKED, 305 IDS_ERRORPAGES_HEADING_BLOCKED,
341 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_ADMINISTRATOR, 306 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_ADMINISTRATOR,
342 IDS_ERRORPAGES_DETAILS_BLOCKED_BY_ADMINISTRATOR,
343 SUGGEST_CONTACT_ADMINISTRATOR, 307 SUGGEST_CONTACT_ADMINISTRATOR,
344 SHOW_NO_BUTTONS, 308 SHOW_NO_BUTTONS,
345 }, 309 },
346 {net::ERR_BLOCKED_ENROLLMENT_CHECK_PENDING, 310 {net::ERR_BLOCKED_ENROLLMENT_CHECK_PENDING,
347 IDS_ERRORPAGES_TITLE_BLOCKED, 311 IDS_ERRORPAGES_TITLE_BLOCKED,
348 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED, 312 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
349 IDS_ERRORPAGES_SUMMARY_BLOCKED_ENROLLMENT_CHECK_PENDING, 313 IDS_ERRORPAGES_SUMMARY_BLOCKED_ENROLLMENT_CHECK_PENDING,
350 IDS_ERRORPAGES_DETAILS_BLOCKED_ENROLLMENT_CHECK_PENDING,
351 SUGGEST_COMPLETE_SETUP, 314 SUGGEST_COMPLETE_SETUP,
352 SHOW_NO_BUTTONS, 315 SHOW_NO_BUTTONS,
353 }, 316 },
354 {net::ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION, 317 {net::ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION,
355 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 318 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
356 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 319 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
357 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE, 320 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
358 IDS_ERRORPAGES_DETAILS_SSL_FALLBACK_BEYOND_MINIMUM_VERSION,
359 SUGGEST_NONE, 321 SUGGEST_NONE,
360 SHOW_NO_BUTTONS, 322 SHOW_NO_BUTTONS,
361 }, 323 },
362 {net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH, 324 {net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH,
363 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 325 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
364 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 326 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
365 IDS_ERRORPAGES_SUMMARY_SSL_VERSION_OR_CIPHER_MISMATCH, 327 IDS_ERRORPAGES_SUMMARY_SSL_VERSION_OR_CIPHER_MISMATCH,
366 IDS_ERRORPAGES_DETAILS_SSL_VERSION_OR_CIPHER_MISMATCH,
367 SUGGEST_UNSUPPORTED_CIPHER, 328 SUGGEST_UNSUPPORTED_CIPHER,
368 SHOW_NO_BUTTONS, 329 SHOW_NO_BUTTONS,
369 }, 330 },
370 {net::ERR_TEMPORARY_BACKOFF, 331 {net::ERR_TEMPORARY_BACKOFF,
371 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 332 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
372 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, 333 IDS_ERRORPAGES_HEADING_ACCESS_DENIED,
373 IDS_ERRORPAGES_SUMMARY_TEMPORARY_BACKOFF, 334 IDS_ERRORPAGES_SUMMARY_TEMPORARY_BACKOFF,
374 IDS_ERRORPAGES_DETAILS_TEMPORARY_BACKOFF,
375 SUGGEST_NONE, 335 SUGGEST_NONE,
376 SHOW_NO_BUTTONS, 336 SHOW_NO_BUTTONS,
377 }, 337 },
378 {net::ERR_SSL_SERVER_CERT_BAD_FORMAT, 338 {net::ERR_SSL_SERVER_CERT_BAD_FORMAT,
379 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 339 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
380 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION, 340 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
381 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR, 341 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR,
382 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
383 SUGGEST_NONE, 342 SUGGEST_NONE,
384 SHOW_NO_BUTTONS, 343 SHOW_NO_BUTTONS,
385 }, 344 },
386 }; 345 };
387 346
388 // Special error page to be used in the case of navigating back to a page 347 // Special error page to be used in the case of navigating back to a page
389 // generated by a POST. LocalizedError::HasStrings expects this net error code 348 // generated by a POST. LocalizedError::HasStrings expects this net error code
390 // to also appear in the array above. 349 // to also appear in the array above.
391 const LocalizedErrorMap repost_error = { 350 const LocalizedErrorMap repost_error = {
392 net::ERR_CACHE_MISS, 351 net::ERR_CACHE_MISS,
393 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 352 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
394 IDS_HTTP_POST_WARNING_TITLE, 353 IDS_HTTP_POST_WARNING_TITLE,
395 IDS_ERRORPAGES_HTTP_POST_WARNING, 354 IDS_ERRORPAGES_HTTP_POST_WARNING,
396 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE,
397 SUGGEST_REPOST_RELOAD, 355 SUGGEST_REPOST_RELOAD,
398 SHOW_NO_BUTTONS, 356 SHOW_NO_BUTTONS,
399 }; 357 };
400 358
401 const LocalizedErrorMap http_error_options[] = { 359 const LocalizedErrorMap http_error_options[] = {
402 {403, 360 {403,
403 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 361 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
404 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, 362 IDS_ERRORPAGES_HEADING_ACCESS_DENIED,
405 IDS_ERRORPAGES_SUMMARY_FORBIDDEN, 363 IDS_ERRORPAGES_SUMMARY_FORBIDDEN,
406 IDS_ERRORPAGES_DETAILS_FORBIDDEN,
407 SUGGEST_NONE, 364 SUGGEST_NONE,
408 SHOW_BUTTON_RELOAD, 365 SHOW_BUTTON_RELOAD,
409 }, 366 },
410 {410, 367 {410,
411 IDS_ERRORPAGES_TITLE_NOT_FOUND, 368 IDS_ERRORPAGES_TITLE_NOT_FOUND,
412 IDS_ERRORPAGES_HEADING_NOT_FOUND, 369 IDS_ERRORPAGES_HEADING_NOT_FOUND,
413 IDS_ERRORPAGES_SUMMARY_GONE, 370 IDS_ERRORPAGES_SUMMARY_GONE,
414 IDS_ERRORPAGES_DETAILS_GONE,
415 SUGGEST_NONE, 371 SUGGEST_NONE,
416 SHOW_NO_BUTTONS, 372 SHOW_NO_BUTTONS,
417 }, 373 },
418 374
419 {500, 375 {500,
420 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 376 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
421 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 377 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
422 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST, 378 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
423 IDS_ERRORPAGES_DETAILS_INTERNAL_SERVER_ERROR,
424 SUGGEST_NONE, 379 SUGGEST_NONE,
425 SHOW_BUTTON_RELOAD, 380 SHOW_BUTTON_RELOAD,
426 }, 381 },
427 {501, 382 {501,
428 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 383 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
429 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 384 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
430 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST, 385 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
431 IDS_ERRORPAGES_DETAILS_NOT_IMPLEMENTED,
432 SUGGEST_NONE, 386 SUGGEST_NONE,
433 SHOW_NO_BUTTONS, 387 SHOW_NO_BUTTONS,
434 }, 388 },
435 {502, 389 {502,
436 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 390 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
437 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 391 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
438 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST, 392 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
439 IDS_ERRORPAGES_DETAILS_BAD_GATEWAY,
440 SUGGEST_NONE, 393 SUGGEST_NONE,
441 SHOW_BUTTON_RELOAD, 394 SHOW_BUTTON_RELOAD,
442 }, 395 },
443 {503, 396 {503,
444 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 397 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
445 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 398 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
446 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST, 399 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
447 IDS_ERRORPAGES_DETAILS_SERVICE_UNAVAILABLE,
448 SUGGEST_NONE, 400 SUGGEST_NONE,
449 SHOW_BUTTON_RELOAD, 401 SHOW_BUTTON_RELOAD,
450 }, 402 },
451 {504, 403 {504,
452 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 404 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
453 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING, 405 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
454 IDS_ERRORPAGES_SUMMARY_GATEWAY_TIMEOUT, 406 IDS_ERRORPAGES_SUMMARY_GATEWAY_TIMEOUT,
455 IDS_ERRORPAGES_DETAILS_GATEWAY_TIMEOUT,
456 SUGGEST_NONE, 407 SUGGEST_NONE,
457 SHOW_BUTTON_RELOAD, 408 SHOW_BUTTON_RELOAD,
458 }, 409 },
459 }; 410 };
460 411
461 const LocalizedErrorMap dns_probe_error_options[] = { 412 const LocalizedErrorMap dns_probe_error_options[] = {
462 {error_page::DNS_PROBE_POSSIBLE, 413 {error_page::DNS_PROBE_POSSIBLE,
463 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 414 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
464 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 415 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
465 IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING, 416 IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING,
466 IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING,
467 SUGGEST_DIAGNOSE_TOOL, 417 SUGGEST_DIAGNOSE_TOOL,
468 SHOW_BUTTON_RELOAD, 418 SHOW_BUTTON_RELOAD,
469 }, 419 },
470 420
471 // DNS_PROBE_NOT_RUN is not here; NetErrorHelper will restore the original 421 // DNS_PROBE_NOT_RUN is not here; NetErrorHelper will restore the original
472 // error, which might be one of several DNS-related errors. 422 // error, which might be one of several DNS-related errors.
473 423
474 {error_page::DNS_PROBE_STARTED, 424 {error_page::DNS_PROBE_STARTED,
475 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 425 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
476 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 426 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
477 IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING, 427 IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING,
478 IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING,
479 // Include SUGGEST_RELOAD so the More button doesn't jump when we update. 428 // Include SUGGEST_RELOAD so the More button doesn't jump when we update.
480 SUGGEST_DIAGNOSE_TOOL, 429 SUGGEST_DIAGNOSE_TOOL,
481 SHOW_BUTTON_RELOAD, 430 SHOW_BUTTON_RELOAD,
482 }, 431 },
483 432
484 // DNS_PROBE_FINISHED_UNKNOWN is not here; NetErrorHelper will restore the 433 // DNS_PROBE_FINISHED_UNKNOWN is not here; NetErrorHelper will restore the
485 // original error, which might be one of several DNS-related errors. 434 // original error, which might be one of several DNS-related errors.
486 435
487 {error_page::DNS_PROBE_FINISHED_NO_INTERNET, 436 {error_page::DNS_PROBE_FINISHED_NO_INTERNET,
488 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 437 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
489 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED, 438 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
490 kEmptyMessageResourceID, 439 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
491 IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED,
492 SUGGEST_OFFLINE_CHECKS | SUGGEST_DIAGNOSE_TOOL, 440 SUGGEST_OFFLINE_CHECKS | SUGGEST_DIAGNOSE_TOOL,
493 SHOW_NO_BUTTONS, 441 SHOW_NO_BUTTONS,
494 }, 442 },
495 {error_page::DNS_PROBE_FINISHED_BAD_CONFIG, 443 {error_page::DNS_PROBE_FINISHED_BAD_CONFIG,
496 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 444 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
497 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 445 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
498 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED, 446 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
499 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
500 SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG | 447 SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG |
501 SUGGEST_DIAGNOSE_TOOL, 448 SUGGEST_DIAGNOSE_TOOL,
502 SHOW_BUTTON_RELOAD, 449 SHOW_BUTTON_RELOAD,
503 }, 450 },
504 {error_page::DNS_PROBE_FINISHED_NXDOMAIN, 451 {error_page::DNS_PROBE_FINISHED_NXDOMAIN,
505 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 452 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
506 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 453 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
507 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED, 454 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
508 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
509 SUGGEST_DIAGNOSE_TOOL, 455 SUGGEST_DIAGNOSE_TOOL,
510 SHOW_BUTTON_RELOAD, 456 SHOW_BUTTON_RELOAD,
511 }, 457 },
512 }; 458 };
513 459
514 const LocalizedErrorMap* FindErrorMapInArray(const LocalizedErrorMap* maps, 460 const LocalizedErrorMap* FindErrorMapInArray(const LocalizedErrorMap* maps,
515 size_t num_maps, 461 size_t num_maps,
516 int error_code) { 462 int error_code) {
517 for (size_t i = 0; i < num_maps; ++i) { 463 for (size_t i = 0; i < num_maps; ++i) {
518 if (maps[i].error_code == error_code) 464 if (maps[i].error_code == error_code)
(...skipping 404 matching lines...) Expand 10 before | Expand all | Expand 10 after
923 base::DictionaryValue* error_strings) { 869 base::DictionaryValue* error_strings) {
924 webui::SetLoadTimeDataDefaults(locale, error_strings); 870 webui::SetLoadTimeDataDefaults(locale, error_strings);
925 871
926 // Grab the strings and settings that depend on the error type. Init 872 // Grab the strings and settings that depend on the error type. Init
927 // options with default values. 873 // options with default values.
928 LocalizedErrorMap options = { 874 LocalizedErrorMap options = {
929 0, 875 0,
930 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 876 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
931 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 877 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
932 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE, 878 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE,
933 kEmptyMessageResourceID,
934 SUGGEST_NONE, 879 SUGGEST_NONE,
935 SHOW_NO_BUTTONS, 880 SHOW_NO_BUTTONS,
936 }; 881 };
937 882
938 const LocalizedErrorMap* error_map = LookupErrorMap(error_domain, error_code, 883 const LocalizedErrorMap* error_map = LookupErrorMap(error_domain, error_code,
939 is_post); 884 is_post);
940 if (error_map) 885 if (error_map)
941 options = *error_map; 886 options = *error_map;
942 887
943 // If we got "access denied" but the url was a file URL, then we say it was a 888 // If we got "access denied" but the url was a file URL, then we say it was a
944 // file instead of just using the "not available" default message. Just adding 889 // file instead of just using the "not available" default message. Just adding
945 // ERR_ACCESS_DENIED to the map isn't sufficient, since that message may be 890 // ERR_ACCESS_DENIED to the map isn't sufficient, since that message may be
946 // generated by some OSs when the operation doesn't involve a file URL. 891 // generated by some OSs when the operation doesn't involve a file URL.
947 if (error_domain == net::kErrorDomain && 892 if (error_domain == net::kErrorDomain &&
948 error_code == net::ERR_ACCESS_DENIED && 893 error_code == net::ERR_ACCESS_DENIED &&
949 failed_url.scheme() == "file") { 894 failed_url.scheme() == "file") {
950 options.title_resource_id = IDS_ERRORPAGES_TITLE_ACCESS_DENIED; 895 options.title_resource_id = IDS_ERRORPAGES_TITLE_ACCESS_DENIED;
951 options.heading_resource_id = IDS_ERRORPAGES_HEADING_FILE_ACCESS_DENIED; 896 options.heading_resource_id = IDS_ERRORPAGES_HEADING_FILE_ACCESS_DENIED;
952 options.summary_resource_id = IDS_ERRORPAGES_SUMMARY_FILE_ACCESS_DENIED; 897 options.summary_resource_id = IDS_ERRORPAGES_SUMMARY_FILE_ACCESS_DENIED;
953 options.details_resource_id = IDS_ERRORPAGES_DETAILS_FILE_ACCESS_DENIED;
954 options.suggestions = SUGGEST_NONE; 898 options.suggestions = SUGGEST_NONE;
955 options.buttons = SHOW_BUTTON_RELOAD; 899 options.buttons = SHOW_BUTTON_RELOAD;
956 } 900 }
957 901
958 base::string16 failed_url_string(url_formatter::FormatUrl( 902 base::string16 failed_url_string(url_formatter::FormatUrl(
959 failed_url, url_formatter::kFormatUrlOmitNothing, 903 failed_url, url_formatter::kFormatUrlOmitNothing,
960 net::UnescapeRule::NORMAL, nullptr, nullptr, nullptr)); 904 net::UnescapeRule::NORMAL, nullptr, nullptr, nullptr));
961 // URLs are always LTR. 905 // URLs are always LTR.
962 if (base::i18n::IsRTL()) 906 if (base::i18n::IsRTL())
963 base::i18n::WrapStringWithLTRFormatting(&failed_url_string); 907 base::i18n::WrapStringWithLTRFormatting(&failed_url_string);
964 error_strings->SetString("title", 908 error_strings->SetString("title",
965 l10n_util::GetStringFUTF16(options.title_resource_id, failed_url_string)); 909 l10n_util::GetStringFUTF16(options.title_resource_id, failed_url_string));
966 std::string icon_class = GetIconClassForError(error_domain, error_code); 910 std::string icon_class = GetIconClassForError(error_domain, error_code);
967 error_strings->SetString("iconClass", icon_class); 911 error_strings->SetString("iconClass", icon_class);
968 912
969 base::string16 host_name(url_formatter::IDNToUnicode(failed_url.host())); 913 base::string16 host_name(url_formatter::IDNToUnicode(failed_url.host()));
970 914
971 base::DictionaryValue* heading = new base::DictionaryValue; 915 base::DictionaryValue* heading = new base::DictionaryValue;
972 heading->SetString("msg", 916 heading->SetString("msg",
973 l10n_util::GetStringUTF16(options.heading_resource_id)); 917 l10n_util::GetStringUTF16(options.heading_resource_id));
974 heading->SetString("hostName", host_name); 918 heading->SetString("hostName", host_name);
975 error_strings->Set("heading", heading); 919 error_strings->Set("heading", heading);
976 920
977 base::DictionaryValue* summary = new base::DictionaryValue; 921 base::DictionaryValue* summary = new base::DictionaryValue;
978 922
979 // Set summary message under the heading. 923 // Set summary message under the heading.
980 summary->SetString( 924 summary->SetString(
981 "msg", 925 "msg", l10n_util::GetStringUTF16(options.summary_resource_id));
982 options.summary_resource_id != kEmptyMessageResourceID
983 ? l10n_util::GetStringUTF16(options.summary_resource_id)
984 : base::string16());
985 926
986 // Add a DNS definition string. 927 // Add a DNS definition string.
987 summary->SetString("dnsDefinition", 928 summary->SetString("dnsDefinition",
988 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUMMARY_DNS_DEFINITION)); 929 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUMMARY_DNS_DEFINITION));
989 930
990 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 931 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
991 932
992 // Check if easter egg should be disabled. 933 // Check if easter egg should be disabled.
993 if (command_line->HasSwitch( 934 if (command_line->HasSwitch(
994 error_page::switches::kDisableDinosaurEasterEgg)) { 935 error_page::switches::kDisableDinosaurEasterEgg)) {
995 // The presence of this string disables the easter egg. Acts as a flag. 936 // The presence of this string disables the easter egg. Acts as a flag.
996 error_strings->SetString("disabledEasterEgg", 937 error_strings->SetString("disabledEasterEgg",
997 l10n_util::GetStringUTF16(IDS_ERRORPAGE_FUN_DISABLED)); 938 l10n_util::GetStringUTF16(IDS_ERRORPAGE_FUN_DISABLED));
998 } 939 }
999 940
1000 summary->SetString("failedUrl", failed_url_string); 941 summary->SetString("failedUrl", failed_url_string);
1001 summary->SetString("hostName", host_name); 942 summary->SetString("hostName", host_name);
1002 943
1003 error_strings->SetString( 944 error_strings->SetString(
1004 "details", l10n_util::GetStringUTF16(IDS_ERRORPAGE_NET_BUTTON_DETAILS)); 945 "details", l10n_util::GetStringUTF16(IDS_ERRORPAGE_NET_BUTTON_DETAILS));
1005 error_strings->SetString( 946 error_strings->SetString(
1006 "hideDetails", l10n_util::GetStringUTF16( 947 "hideDetails", l10n_util::GetStringUTF16(
1007 IDS_ERRORPAGE_NET_BUTTON_HIDE_DETAILS)); 948 IDS_ERRORPAGE_NET_BUTTON_HIDE_DETAILS));
1008 error_strings->Set("summary", summary); 949 error_strings->Set("summary", summary);
1009 950
1010 error_strings->SetString(
1011 "errorDetails",
1012 options.details_resource_id != kEmptyMessageResourceID
1013 ? l10n_util::GetStringUTF16(options.details_resource_id)
1014 : base::string16());
1015
1016 base::string16 error_string; 951 base::string16 error_string;
1017 if (error_domain == net::kErrorDomain) { 952 if (error_domain == net::kErrorDomain) {
1018 // Non-internationalized error string, for debugging Chrome itself. 953 // Non-internationalized error string, for debugging Chrome itself.
1019 error_string = base::ASCIIToUTF16(net::ErrorToShortString(error_code)); 954 error_string = base::ASCIIToUTF16(net::ErrorToShortString(error_code));
1020 } else if (error_domain == error_page::kDnsProbeErrorDomain) { 955 } else if (error_domain == error_page::kDnsProbeErrorDomain) {
1021 std::string ascii_error_string = 956 std::string ascii_error_string =
1022 error_page::DnsProbeStatusToString(error_code); 957 error_page::DnsProbeStatusToString(error_code);
1023 error_string = base::ASCIIToUTF16(ascii_error_string); 958 error_string = base::ASCIIToUTF16(ascii_error_string);
1024 } else { 959 } else {
1025 DCHECK_EQ(LocalizedError::kHttpErrorDomain, error_domain); 960 DCHECK_EQ(LocalizedError::kHttpErrorDomain, error_domain);
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
1115 show_saved_copy_button->SetString("primary", "true"); 1050 show_saved_copy_button->SetString("primary", "true");
1116 error_strings->Set("showSavedCopyButton", show_saved_copy_button); 1051 error_strings->Set("showSavedCopyButton", show_saved_copy_button);
1117 } 1052 }
1118 } 1053 }
1119 1054
1120 base::string16 LocalizedError::GetErrorDetails(const std::string& error_domain, 1055 base::string16 LocalizedError::GetErrorDetails(const std::string& error_domain,
1121 int error_code, 1056 int error_code,
1122 bool is_post) { 1057 bool is_post) {
1123 const LocalizedErrorMap* error_map = 1058 const LocalizedErrorMap* error_map =
1124 LookupErrorMap(error_domain, error_code, is_post); 1059 LookupErrorMap(error_domain, error_code, is_post);
1125 if (error_map) 1060 if (error_map) {
1126 return l10n_util::GetStringUTF16(error_map->details_resource_id); 1061 return l10n_util::GetStringUTF16(error_map->summary_resource_id);
1127 else 1062 } else {
1128 return l10n_util::GetStringUTF16(IDS_ERRORPAGES_DETAILS_UNKNOWN); 1063 return l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE);
1064 }
1129 } 1065 }
1130 1066
1131 bool LocalizedError::HasStrings(const std::string& error_domain, 1067 bool LocalizedError::HasStrings(const std::string& error_domain,
1132 int error_code) { 1068 int error_code) {
1133 // Whether or not the there are strings for an error does not depend on 1069 // Whether or not the there are strings for an error does not depend on
1134 // whether or not the page was be generated by a POST, so just claim it was 1070 // whether or not the page was be generated by a POST, so just claim it was
1135 // not. 1071 // not.
1136 return LookupErrorMap(error_domain, error_code, /*is_post=*/false) != nullptr; 1072 return LookupErrorMap(error_domain, error_code, /*is_post=*/false) != nullptr;
1137 } 1073 }
1138 1074
1139 } // namespace error_page 1075 } // namespace error_page
OLDNEW
« no previous file with comments | « no previous file | components/error_page_strings.grdp » ('j') | components/neterror/resources/neterror.css » ('J')

Powered by Google App Engine
This is Rietveld 408576698