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

Side by Side Diff: chrome/common/localized_error.cc

Issue 1583693005: Update network error interstitial strings (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Add heading dictionary Created 4 years, 11 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
« no previous file with comments | « chrome/browser/errorpage_browsertest.cc ('k') | chrome/renderer/resources/neterror.css » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "chrome/common/localized_error.h" 5 #include "chrome/common/localized_error.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/command_line.h" 9 #include "base/command_line.h"
10 #include "base/i18n/rtl.h" 10 #include "base/i18n/rtl.h"
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
52 SUGGEST_NONE = 0, 52 SUGGEST_NONE = 0,
53 SUGGEST_RELOAD = 1 << 0, 53 SUGGEST_RELOAD = 1 << 0,
54 SUGGEST_CHECK_CONNECTION = 1 << 1, 54 SUGGEST_CHECK_CONNECTION = 1 << 1,
55 SUGGEST_DNS_CONFIG = 1 << 2, 55 SUGGEST_DNS_CONFIG = 1 << 2,
56 SUGGEST_FIREWALL_CONFIG = 1 << 3, 56 SUGGEST_FIREWALL_CONFIG = 1 << 3,
57 SUGGEST_PROXY_CONFIG = 1 << 4, 57 SUGGEST_PROXY_CONFIG = 1 << 4,
58 SUGGEST_DISABLE_EXTENSION = 1 << 5, 58 SUGGEST_DISABLE_EXTENSION = 1 << 5,
59 SUGGEST_LEARNMORE = 1 << 6, 59 SUGGEST_LEARNMORE = 1 << 6,
60 SUGGEST_VIEW_POLICIES = 1 << 7, 60 SUGGEST_VIEW_POLICIES = 1 << 7,
61 SUGGEST_CONTACT_ADMINISTRATOR = 1 << 8, 61 SUGGEST_CONTACT_ADMINISTRATOR = 1 << 8,
62 SUGGEST_UNSUPPORTED_CIPHER = 1 << 9,
62 }; 63 };
63 64
64 struct LocalizedErrorMap { 65 struct LocalizedErrorMap {
65 int error_code; 66 int error_code;
66 unsigned int title_resource_id; 67 unsigned int title_resource_id;
67 unsigned int heading_resource_id; 68 unsigned int heading_resource_id;
68 // Detailed summary used when the error is in the main frame. 69 // Detailed summary used when the error is in the main frame.
69 unsigned int summary_resource_id; 70 unsigned int summary_resource_id;
70 // Short one sentence description shown on mouse over when the error is in 71 // Short one sentence description shown on mouse over when the error is in
71 // a frame. 72 // a frame.
72 unsigned int details_resource_id; 73 unsigned int details_resource_id;
73 int suggestions; // Bitmap of SUGGEST_* values. 74 int suggestions; // Bitmap of SUGGEST_* values.
75 unsigned int error_explanation_id;
74 }; 76 };
75 77
76 const LocalizedErrorMap net_error_options[] = { 78 const LocalizedErrorMap net_error_options[] = {
77 {net::ERR_TIMED_OUT, 79 {net::ERR_TIMED_OUT,
78 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 80 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
79 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 81 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
80 IDS_ERRORPAGES_SUMMARY_TIMED_OUT, 82 IDS_ERRORPAGES_SUMMARY_TIMED_OUT,
81 IDS_ERRORPAGES_DETAILS_TIMED_OUT, 83 IDS_ERRORPAGES_DETAILS_TIMED_OUT,
82 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | 84 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG |
83 SUGGEST_PROXY_CONFIG, 85 SUGGEST_PROXY_CONFIG,
84 }, 86 },
85 {net::ERR_CONNECTION_TIMED_OUT, 87 {net::ERR_CONNECTION_TIMED_OUT,
86 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 88 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
87 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 89 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
88 IDS_ERRORPAGES_SUMMARY_TIMED_OUT, 90 IDS_ERRORPAGES_SUMMARY_TIMED_OUT,
89 IDS_ERRORPAGES_DETAILS_TIMED_OUT, 91 IDS_ERRORPAGES_DETAILS_TIMED_OUT,
90 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | 92 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG |
91 SUGGEST_PROXY_CONFIG, 93 SUGGEST_PROXY_CONFIG,
92 }, 94 },
93 {net::ERR_CONNECTION_CLOSED, 95 {net::ERR_CONNECTION_CLOSED,
94 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 96 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
95 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 97 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
96 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE, 98 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED,
97 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED, 99 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED,
98 SUGGEST_RELOAD, 100 SUGGEST_RELOAD,
99 }, 101 },
100 {net::ERR_CONNECTION_RESET, 102 {net::ERR_CONNECTION_RESET,
101 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 103 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
102 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 104 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
103 IDS_ERRORPAGES_SUMMARY_CONNECTION_RESET, 105 IDS_ERRORPAGES_SUMMARY_CONNECTION_RESET,
104 IDS_ERRORPAGES_DETAILS_CONNECTION_RESET, 106 IDS_ERRORPAGES_DETAILS_CONNECTION_RESET,
105 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | 107 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG |
106 SUGGEST_PROXY_CONFIG, 108 SUGGEST_PROXY_CONFIG,
107 }, 109 },
108 {net::ERR_CONNECTION_REFUSED, 110 {net::ERR_CONNECTION_REFUSED,
109 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 111 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
110 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 112 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
111 IDS_ERRORPAGES_SUMMARY_CONNECTION_REFUSED, 113 IDS_ERRORPAGES_SUMMARY_CONNECTION_REFUSED,
112 IDS_ERRORPAGES_DETAILS_CONNECTION_REFUSED, 114 IDS_ERRORPAGES_DETAILS_CONNECTION_REFUSED,
113 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG | 115 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG |
114 SUGGEST_PROXY_CONFIG, 116 SUGGEST_PROXY_CONFIG,
115 }, 117 },
116 {net::ERR_CONNECTION_FAILED, 118 {net::ERR_CONNECTION_FAILED,
117 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 119 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
118 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 120 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
119 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE, 121 IDS_ERRORPAGES_SUMMARY_CONNECTION_FAILED,
120 IDS_ERRORPAGES_DETAILS_CONNECTION_FAILED, 122 IDS_ERRORPAGES_DETAILS_CONNECTION_FAILED,
121 SUGGEST_RELOAD, 123 SUGGEST_RELOAD,
122 }, 124 },
123 {net::ERR_NAME_NOT_RESOLVED, 125 {net::ERR_NAME_NOT_RESOLVED,
124 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 126 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
125 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 127 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
126 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED, 128 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
127 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED, 129 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
128 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_DNS_CONFIG | 130 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_DNS_CONFIG |
129 SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG, 131 SUGGEST_FIREWALL_CONFIG | SUGGEST_PROXY_CONFIG,
(...skipping 14 matching lines...) Expand all
144 }, 146 },
145 {net::ERR_NETWORK_ACCESS_DENIED, 147 {net::ERR_NETWORK_ACCESS_DENIED,
146 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 148 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
147 IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED, 149 IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED,
148 IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED, 150 IDS_ERRORPAGES_SUMMARY_NETWORK_ACCESS_DENIED,
149 IDS_ERRORPAGES_DETAILS_NETWORK_ACCESS_DENIED, 151 IDS_ERRORPAGES_DETAILS_NETWORK_ACCESS_DENIED,
150 SUGGEST_FIREWALL_CONFIG, 152 SUGGEST_FIREWALL_CONFIG,
151 }, 153 },
152 {net::ERR_PROXY_CONNECTION_FAILED, 154 {net::ERR_PROXY_CONNECTION_FAILED,
153 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 155 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
154 IDS_ERRORPAGES_HEADING_PROXY_CONNECTION_FAILED, 156 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
155 IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED, 157 IDS_ERRORPAGES_SUMMARY_PROXY_CONNECTION_FAILED,
156 IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED, 158 IDS_ERRORPAGES_DETAILS_PROXY_CONNECTION_FAILED,
157 SUGGEST_PROXY_CONFIG, 159 SUGGEST_PROXY_CONFIG,
158 }, 160 },
159 {net::ERR_INTERNET_DISCONNECTED, 161 {net::ERR_INTERNET_DISCONNECTED,
160 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 162 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
161 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED, 163 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
162 IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED, 164 IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED,
163 IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED, 165 IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED,
164 SUGGEST_NONE, 166 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG,
165 }, 167 },
166 {net::ERR_FILE_NOT_FOUND, 168 {net::ERR_FILE_NOT_FOUND,
167 IDS_ERRORPAGES_TITLE_NOT_FOUND, 169 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
168 IDS_ERRORPAGES_HEADING_NOT_FOUND, 170 IDS_ERRORPAGES_HEADING_FILE_NOT_FOUND,
169 IDS_ERRORPAGES_SUMMARY_NOT_FOUND, 171 IDS_ERRORPAGES_SUMMARY_FILE_NOT_FOUND,
170 IDS_ERRORPAGES_DETAILS_FILE_NOT_FOUND, 172 IDS_ERRORPAGES_DETAILS_FILE_NOT_FOUND,
171 SUGGEST_NONE, 173 SUGGEST_RELOAD,
172 }, 174 },
173 {net::ERR_CACHE_MISS, 175 {net::ERR_CACHE_MISS,
174 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 176 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
175 IDS_ERRORPAGES_HEADING_CACHE_MISS, 177 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE,
176 IDS_ERRORPAGES_SUMMARY_CACHE_MISS, 178 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE,
177 IDS_ERRORPAGES_DETAILS_CACHE_MISS, 179 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE,
178 SUGGEST_RELOAD, 180 SUGGEST_RELOAD,
179 }, 181 },
180 {net::ERR_CACHE_READ_FAILURE, 182 {net::ERR_CACHE_READ_FAILURE,
181 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 183 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
182 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE, 184 IDS_ERRORPAGES_HEADING_CACHE_READ_FAILURE,
183 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE, 185 IDS_ERRORPAGES_SUMMARY_CACHE_READ_FAILURE,
184 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE, 186 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE,
185 SUGGEST_RELOAD, 187 SUGGEST_RELOAD,
186 }, 188 },
187 {net::ERR_NETWORK_IO_SUSPENDED, 189 {net::ERR_NETWORK_IO_SUSPENDED,
188 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 190 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
189 IDS_ERRORPAGES_HEADING_NETWORK_IO_SUSPENDED, 191 IDS_ERRORPAGES_HEADING_CONNECTION_INTERRUPTED,
190 IDS_ERRORPAGES_SUMMARY_NETWORK_IO_SUSPENDED, 192 IDS_ERRORPAGES_SUMMARY_NETWORK_IO_SUSPENDED,
191 IDS_ERRORPAGES_DETAILS_NETWORK_IO_SUSPENDED, 193 IDS_ERRORPAGES_DETAILS_NETWORK_IO_SUSPENDED,
192 SUGGEST_RELOAD, 194 SUGGEST_RELOAD,
193 }, 195 },
194 {net::ERR_TOO_MANY_REDIRECTS, 196 {net::ERR_TOO_MANY_REDIRECTS,
195 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 197 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
196 IDS_ERRORPAGES_HEADING_TOO_MANY_REDIRECTS, 198 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
197 IDS_ERRORPAGES_SUMMARY_TOO_MANY_REDIRECTS, 199 IDS_ERRORPAGES_SUMMARY_TOO_MANY_REDIRECTS,
198 IDS_ERRORPAGES_DETAILS_TOO_MANY_REDIRECTS, 200 IDS_ERRORPAGES_DETAILS_TOO_MANY_REDIRECTS,
199 SUGGEST_RELOAD | SUGGEST_LEARNMORE, 201 SUGGEST_RELOAD | SUGGEST_LEARNMORE,
200 }, 202 },
201 {net::ERR_EMPTY_RESPONSE, 203 {net::ERR_EMPTY_RESPONSE,
202 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 204 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
203 IDS_ERRORPAGES_HEADING_EMPTY_RESPONSE, 205 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
204 IDS_ERRORPAGES_SUMMARY_EMPTY_RESPONSE, 206 IDS_ERRORPAGES_SUMMARY_EMPTY_RESPONSE,
205 IDS_ERRORPAGES_DETAILS_EMPTY_RESPONSE, 207 IDS_ERRORPAGES_DETAILS_EMPTY_RESPONSE,
206 SUGGEST_RELOAD, 208 SUGGEST_RELOAD,
207 }, 209 },
208 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH, 210 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH,
209 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 211 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
210 IDS_ERRORPAGES_HEADING_DUPLICATE_HEADERS, 212 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
211 IDS_ERRORPAGES_SUMMARY_DUPLICATE_HEADERS, 213 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
212 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH, 214 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_LENGTH,
213 SUGGEST_NONE, 215 SUGGEST_RELOAD,
214 }, 216 },
215 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION, 217 {net::ERR_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION,
216 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 218 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
217 IDS_ERRORPAGES_HEADING_DUPLICATE_HEADERS, 219 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
218 IDS_ERRORPAGES_SUMMARY_DUPLICATE_HEADERS, 220 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
219 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION, 221 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_CONTENT_DISPOSITION,
220 SUGGEST_NONE, 222 SUGGEST_RELOAD,
221 }, 223 },
222 {net::ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION, 224 {net::ERR_RESPONSE_HEADERS_MULTIPLE_LOCATION,
223 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 225 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
224 IDS_ERRORPAGES_HEADING_DUPLICATE_HEADERS, 226 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
225 IDS_ERRORPAGES_SUMMARY_DUPLICATE_HEADERS, 227 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
226 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_LOCATION, 228 IDS_ERRORPAGES_DETAILS_RESPONSE_HEADERS_MULTIPLE_LOCATION,
227 SUGGEST_NONE, 229 SUGGEST_RELOAD,
228 }, 230 },
229 {net::ERR_CONTENT_LENGTH_MISMATCH, 231 {net::ERR_CONTENT_LENGTH_MISMATCH,
230 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 232 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
231 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 233 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
232 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE, 234 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED,
233 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED, 235 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED,
234 SUGGEST_RELOAD, 236 SUGGEST_RELOAD,
235 }, 237 },
236 {net::ERR_INCOMPLETE_CHUNKED_ENCODING, 238 {net::ERR_INCOMPLETE_CHUNKED_ENCODING,
237 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 239 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
238 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 240 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
239 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE, 241 IDS_ERRORPAGES_SUMMARY_CONNECTION_CLOSED,
240 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED, 242 IDS_ERRORPAGES_DETAILS_CONNECTION_CLOSED,
241 SUGGEST_RELOAD, 243 SUGGEST_RELOAD,
242 }, 244 },
243 {net::ERR_SSL_PROTOCOL_ERROR, 245 {net::ERR_SSL_PROTOCOL_ERROR,
244 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 246 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
245 IDS_ERRORPAGES_HEADING_SSL_PROTOCOL_ERROR, 247 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
246 IDS_ERRORPAGES_SUMMARY_SSL_PROTOCOL_ERROR, 248 IDS_ERRORPAGES_SUMMARY_INVALID_RESPONSE,
247 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, 249 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
248 SUGGEST_NONE, 250 SUGGEST_NONE,
249 }, 251 },
250 {net::ERR_BAD_SSL_CLIENT_AUTH_CERT, 252 {net::ERR_BAD_SSL_CLIENT_AUTH_CERT,
251 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 253 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
252 IDS_ERRORPAGES_HEADING_BAD_SSL_CLIENT_AUTH_CERT, 254 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
253 IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT, 255 IDS_ERRORPAGES_SUMMARY_BAD_SSL_CLIENT_AUTH_CERT,
254 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT, 256 IDS_ERRORPAGES_DETAILS_BAD_SSL_CLIENT_AUTH_CERT,
255 SUGGEST_NONE, 257 SUGGEST_NONE,
256 }, 258 },
257 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY, 259 {net::ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY,
258 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 260 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
259 IDS_ERRORPAGES_HEADING_WEAK_SERVER_EPHEMERAL_DH_KEY, 261 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
260 IDS_ERRORPAGES_SUMMARY_WEAK_SERVER_EPHEMERAL_DH_KEY, 262 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR,
261 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, 263 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
262 SUGGEST_LEARNMORE, 264 SUGGEST_LEARNMORE,
263 }, 265 },
264 {net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN, 266 {net::ERR_SSL_PINNED_KEY_NOT_IN_CERT_CHAIN,
265 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 267 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
266 IDS_ERRORPAGES_HEADING_PINNING_FAILURE, 268 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
267 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DETAILS, 269 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DETAILS,
268 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DESCRIPTION, 270 IDS_CERT_ERROR_SUMMARY_PINNING_FAILURE_DESCRIPTION,
269 SUGGEST_NONE, 271 SUGGEST_NONE,
270 }, 272 },
271 {net::ERR_TEMPORARILY_THROTTLED, 273 {net::ERR_TEMPORARILY_THROTTLED,
272 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 274 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
273 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, 275 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
274 IDS_ERRORPAGES_SUMMARY_TEMPORARILY_THROTTLED, 276 IDS_ERRORPAGES_SUMMARY_NOT_AVAILABLE,
275 IDS_ERRORPAGES_DETAILS_TEMPORARILY_THROTTLED, 277 IDS_ERRORPAGES_DETAILS_TEMPORARILY_THROTTLED,
276 SUGGEST_NONE, 278 SUGGEST_NONE,
277 }, 279 },
278 {net::ERR_BLOCKED_BY_CLIENT, 280 {net::ERR_BLOCKED_BY_CLIENT,
279 IDS_ERRORPAGES_TITLE_BLOCKED, 281 IDS_ERRORPAGES_TITLE_BLOCKED,
280 IDS_ERRORPAGES_HEADING_BLOCKED, 282 IDS_ERRORPAGES_HEADING_BLOCKED,
281 IDS_ERRORPAGES_SUMMARY_BLOCKED, 283 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_EXTENSION,
282 IDS_ERRORPAGES_DETAILS_BLOCKED, 284 IDS_ERRORPAGES_DETAILS_BLOCKED_BY_EXTENSION,
283 SUGGEST_RELOAD | SUGGEST_DISABLE_EXTENSION, 285 SUGGEST_RELOAD | SUGGEST_DISABLE_EXTENSION,
284 }, 286 },
285 {net::ERR_NETWORK_CHANGED, 287 {net::ERR_NETWORK_CHANGED,
286 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 288 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
287 IDS_ERRORPAGES_HEADING_NETWORK_ACCESS_DENIED, 289 IDS_ERRORPAGES_HEADING_CONNECTION_INTERRUPTED,
288 IDS_ERRORPAGES_SUMMARY_NETWORK_CHANGED, 290 IDS_ERRORPAGES_SUMMARY_NETWORK_CHANGED,
289 IDS_ERRORPAGES_DETAILS_NETWORK_CHANGED, 291 IDS_ERRORPAGES_DETAILS_NETWORK_CHANGED,
290 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION, 292 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION,
291 }, 293 },
292 {net::ERR_BLOCKED_BY_ADMINISTRATOR, 294 {net::ERR_BLOCKED_BY_ADMINISTRATOR,
293 IDS_ERRORPAGES_TITLE_BLOCKED, 295 IDS_ERRORPAGES_TITLE_BLOCKED,
294 IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR, 296 IDS_ERRORPAGES_HEADING_BLOCKED,
295 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_ADMINISTRATOR, 297 IDS_ERRORPAGES_SUMMARY_BLOCKED_BY_ADMINISTRATOR,
296 IDS_ERRORPAGES_DETAILS_BLOCKED_BY_ADMINISTRATOR, 298 IDS_ERRORPAGES_DETAILS_BLOCKED_BY_ADMINISTRATOR,
297 SUGGEST_VIEW_POLICIES | SUGGEST_CONTACT_ADMINISTRATOR, 299 SUGGEST_VIEW_POLICIES | SUGGEST_CONTACT_ADMINISTRATOR,
298 }, 300 },
299 {net::ERR_BLOCKED_ENROLLMENT_CHECK_PENDING, 301 {net::ERR_BLOCKED_ENROLLMENT_CHECK_PENDING,
300 IDS_ERRORPAGES_TITLE_BLOCKED, 302 IDS_ERRORPAGES_TITLE_BLOCKED,
301 IDS_ERRORPAGES_HEADING_BLOCKED_BY_ADMINISTRATOR, 303 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
302 IDS_ERRORPAGES_SUMMARY_BLOCKED_ENROLLMENT_CHECK_PENDING, 304 IDS_ERRORPAGES_SUMMARY_BLOCKED_ENROLLMENT_CHECK_PENDING,
303 IDS_ERRORPAGES_DETAILS_BLOCKED_ENROLLMENT_CHECK_PENDING, 305 IDS_ERRORPAGES_DETAILS_BLOCKED_ENROLLMENT_CHECK_PENDING,
304 SUGGEST_CHECK_CONNECTION, 306 SUGGEST_CHECK_CONNECTION,
305 }, 307 },
306 {net::ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION, 308 {net::ERR_SSL_FALLBACK_BEYOND_MINIMUM_VERSION,
307 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 309 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
308 IDS_ERRORPAGES_HEADING_SSL_FALLBACK_BEYOND_MINIMUM_VERSION, 310 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
309 IDS_ERRORPAGES_SUMMARY_SSL_FALLBACK_BEYOND_MINIMUM_VERSION, 311 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR,
310 IDS_ERRORPAGES_DETAILS_SSL_FALLBACK_BEYOND_MINIMUM_VERSION, 312 IDS_ERRORPAGES_DETAILS_SSL_FALLBACK_BEYOND_MINIMUM_VERSION,
311 SUGGEST_NONE, 313 SUGGEST_NONE,
312 }, 314 },
313 {net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH, 315 {net::ERR_SSL_VERSION_OR_CIPHER_MISMATCH,
314 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 316 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
315 IDS_ERRORPAGES_HEADING_SSL_VERSION_OR_CIPHER_MISMATCH, 317 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
316 IDS_ERRORPAGES_SUMMARY_SSL_VERSION_OR_CIPHER_MISMATCH, 318 IDS_ERRORPAGES_SUMMARY_SSL_VERSION_OR_CIPHER_MISMATCH,
317 IDS_ERRORPAGES_DETAILS_SSL_VERSION_OR_CIPHER_MISMATCH, 319 IDS_ERRORPAGES_DETAILS_SSL_VERSION_OR_CIPHER_MISMATCH,
318 SUGGEST_NONE, 320 SUGGEST_UNSUPPORTED_CIPHER,
319 }, 321 },
320 {net::ERR_TEMPORARY_BACKOFF, 322 {net::ERR_TEMPORARY_BACKOFF,
321 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 323 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
322 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, 324 IDS_ERRORPAGES_HEADING_ACCESS_DENIED,
323 IDS_ERRORPAGES_SUMMARY_TEMPORARY_BACKOFF, 325 IDS_ERRORPAGES_SUMMARY_TEMPORARY_BACKOFF,
324 IDS_ERRORPAGES_DETAILS_TEMPORARY_BACKOFF, 326 IDS_ERRORPAGES_DETAILS_TEMPORARY_BACKOFF,
325 SUGGEST_NONE, 327 SUGGEST_NONE,
326 }, 328 },
327 {net::ERR_SSL_SERVER_CERT_BAD_FORMAT, 329 {net::ERR_SSL_SERVER_CERT_BAD_FORMAT,
328 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 330 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
329 IDS_ERRORPAGES_HEADING_SSL_PROTOCOL_ERROR, 331 IDS_ERRORPAGES_HEADING_INSECURE_CONNECTION,
330 IDS_ERRORPAGES_SUMMARY_SSL_PROTOCOL_ERROR, 332 IDS_ERRORPAGES_SUMMARY_SSL_SECURITY_ERROR,
331 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR, 333 IDS_ERRORPAGES_DETAILS_SSL_PROTOCOL_ERROR,
332 SUGGEST_NONE, 334 SUGGEST_NONE,
333 }, 335 },
334 }; 336 };
335 337
336 // Special error page to be used in the case of navigating back to a page 338 // Special error page to be used in the case of navigating back to a page
337 // generated by a POST. LocalizedError::HasStrings expects this net error code 339 // generated by a POST. LocalizedError::HasStrings expects this net error code
338 // to also appear in the array above. 340 // to also appear in the array above.
339 const LocalizedErrorMap repost_error = { 341 const LocalizedErrorMap repost_error = {
340 net::ERR_CACHE_MISS, 342 net::ERR_CACHE_MISS,
341 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 343 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
342 IDS_HTTP_POST_WARNING_TITLE, 344 IDS_HTTP_POST_WARNING_TITLE,
343 IDS_ERRORPAGES_HTTP_POST_WARNING, 345 IDS_ERRORPAGES_HTTP_POST_WARNING,
344 IDS_ERRORPAGES_DETAILS_CACHE_MISS, 346 IDS_ERRORPAGES_DETAILS_CACHE_READ_FAILURE,
345 SUGGEST_RELOAD, 347 SUGGEST_RELOAD,
346 }; 348 };
347 349
348 const LocalizedErrorMap http_error_options[] = { 350 const LocalizedErrorMap http_error_options[] = {
349 {403, 351 {403,
350 IDS_ERRORPAGES_TITLE_ACCESS_DENIED, 352 IDS_ERRORPAGES_TITLE_ACCESS_DENIED,
351 IDS_ERRORPAGES_HEADING_ACCESS_DENIED, 353 IDS_ERRORPAGES_HEADING_ACCESS_DENIED,
352 IDS_ERRORPAGES_SUMMARY_FORBIDDEN, 354 IDS_ERRORPAGES_SUMMARY_FORBIDDEN,
353 IDS_ERRORPAGES_DETAILS_FORBIDDEN, 355 IDS_ERRORPAGES_DETAILS_FORBIDDEN,
354 SUGGEST_NONE, 356 SUGGEST_NONE,
355 }, 357 },
356 {410, 358 {410,
357 IDS_ERRORPAGES_TITLE_NOT_FOUND, 359 IDS_ERRORPAGES_TITLE_NOT_FOUND,
358 IDS_ERRORPAGES_HEADING_NOT_FOUND, 360 IDS_ERRORPAGES_HEADING_NOT_FOUND,
359 IDS_ERRORPAGES_SUMMARY_GONE, 361 IDS_ERRORPAGES_SUMMARY_GONE,
360 IDS_ERRORPAGES_DETAILS_GONE, 362 IDS_ERRORPAGES_DETAILS_GONE,
361 SUGGEST_NONE, 363 SUGGEST_NONE,
362 }, 364 },
363 365
364 {500, 366 {500,
365 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 367 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
366 IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR, 368 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
367 IDS_ERRORPAGES_SUMMARY_INTERNAL_SERVER_ERROR, 369 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
368 IDS_ERRORPAGES_DETAILS_INTERNAL_SERVER_ERROR, 370 IDS_ERRORPAGES_DETAILS_INTERNAL_SERVER_ERROR,
369 SUGGEST_RELOAD, 371 SUGGEST_RELOAD,
370 }, 372 },
371 {501, 373 {501,
372 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 374 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
373 IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR, 375 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
374 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE, 376 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
375 IDS_ERRORPAGES_DETAILS_NOT_IMPLEMENTED, 377 IDS_ERRORPAGES_DETAILS_NOT_IMPLEMENTED,
376 SUGGEST_NONE, 378 SUGGEST_NONE,
377 }, 379 },
378 {502, 380 {502,
379 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 381 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
380 IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR, 382 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
381 IDS_ERRORPAGES_SUMMARY_BAD_GATEWAY, 383 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
382 IDS_ERRORPAGES_DETAILS_BAD_GATEWAY, 384 IDS_ERRORPAGES_DETAILS_BAD_GATEWAY,
383 SUGGEST_RELOAD, 385 SUGGEST_RELOAD,
384 }, 386 },
385 {503, 387 {503,
386 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 388 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
387 IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR, 389 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
388 IDS_ERRORPAGES_SUMMARY_SERVICE_UNAVAILABLE, 390 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE_REQUEST,
389 IDS_ERRORPAGES_DETAILS_SERVICE_UNAVAILABLE, 391 IDS_ERRORPAGES_DETAILS_SERVICE_UNAVAILABLE,
390 SUGGEST_RELOAD, 392 SUGGEST_RELOAD,
391 }, 393 },
392 {504, 394 {504,
393 IDS_ERRORPAGES_TITLE_LOAD_FAILED, 395 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
394 IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR, 396 IDS_ERRORPAGES_HEADING_PAGE_NOT_WORKING,
395 IDS_ERRORPAGES_SUMMARY_GATEWAY_TIMEOUT, 397 IDS_ERRORPAGES_SUMMARY_GATEWAY_TIMEOUT,
396 IDS_ERRORPAGES_DETAILS_GATEWAY_TIMEOUT, 398 IDS_ERRORPAGES_DETAILS_GATEWAY_TIMEOUT,
397 SUGGEST_RELOAD, 399 SUGGEST_RELOAD,
398 }, 400 },
399 {505,
400 IDS_ERRORPAGES_TITLE_LOAD_FAILED,
401 IDS_ERRORPAGES_HEADING_HTTP_SERVER_ERROR,
402 IDS_ERRORPAGES_SUMMARY_WEBSITE_CANNOT_HANDLE,
403 IDS_ERRORPAGES_DETAILS_HTTP_VERSION_NOT_SUPPORTED,
404 SUGGEST_NONE,
405 },
406 }; 401 };
407 402
408 const LocalizedErrorMap dns_probe_error_options[] = { 403 const LocalizedErrorMap dns_probe_error_options[] = {
409 {error_page::DNS_PROBE_POSSIBLE, 404 {error_page::DNS_PROBE_POSSIBLE,
410 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 405 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
411 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 406 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
412 IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING, 407 IDS_ERRORPAGES_SUMMARY_DNS_PROBE_RUNNING,
413 IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING, 408 IDS_ERRORPAGES_DETAILS_DNS_PROBE_RUNNING,
414 SUGGEST_RELOAD, 409 SUGGEST_RELOAD,
415 }, 410 },
(...skipping 11 matching lines...) Expand all
427 }, 422 },
428 423
429 // DNS_PROBE_FINISHED_UNKNOWN is not here; NetErrorHelper will restore the 424 // DNS_PROBE_FINISHED_UNKNOWN is not here; NetErrorHelper will restore the
430 // original error, which might be one of several DNS-related errors. 425 // original error, which might be one of several DNS-related errors.
431 426
432 {error_page::DNS_PROBE_FINISHED_NO_INTERNET, 427 {error_page::DNS_PROBE_FINISHED_NO_INTERNET,
433 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 428 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
434 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED, 429 IDS_ERRORPAGES_HEADING_INTERNET_DISCONNECTED,
435 IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED, 430 IDS_ERRORPAGES_SUMMARY_INTERNET_DISCONNECTED,
436 IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED, 431 IDS_ERRORPAGES_DETAILS_INTERNET_DISCONNECTED,
437 SUGGEST_RELOAD | SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG, 432 SUGGEST_CHECK_CONNECTION | SUGGEST_FIREWALL_CONFIG,
438 }, 433 },
439 {error_page::DNS_PROBE_FINISHED_BAD_CONFIG, 434 {error_page::DNS_PROBE_FINISHED_BAD_CONFIG,
440 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 435 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
441 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE, 436 IDS_ERRORPAGES_HEADING_NOT_AVAILABLE,
442 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED, 437 IDS_ERRORPAGES_SUMMARY_NAME_NOT_RESOLVED,
443 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED, 438 IDS_ERRORPAGES_DETAILS_NAME_NOT_RESOLVED,
444 SUGGEST_RELOAD | SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG, 439 SUGGEST_RELOAD | SUGGEST_DNS_CONFIG | SUGGEST_FIREWALL_CONFIG,
445 }, 440 },
446 {error_page::DNS_PROBE_FINISHED_NXDOMAIN, 441 {error_page::DNS_PROBE_FINISHED_NXDOMAIN,
447 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE, 442 IDS_ERRORPAGES_TITLE_NOT_AVAILABLE,
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 } 585 }
591 586
592 base::string16 failed_url_string(url_formatter::FormatUrl( 587 base::string16 failed_url_string(url_formatter::FormatUrl(
593 failed_url, accept_languages, url_formatter::kFormatUrlOmitNothing, 588 failed_url, accept_languages, url_formatter::kFormatUrlOmitNothing,
594 net::UnescapeRule::NORMAL, nullptr, nullptr, nullptr)); 589 net::UnescapeRule::NORMAL, nullptr, nullptr, nullptr));
595 // URLs are always LTR. 590 // URLs are always LTR.
596 if (base::i18n::IsRTL()) 591 if (base::i18n::IsRTL())
597 base::i18n::WrapStringWithLTRFormatting(&failed_url_string); 592 base::i18n::WrapStringWithLTRFormatting(&failed_url_string);
598 error_strings->SetString("title", 593 error_strings->SetString("title",
599 l10n_util::GetStringFUTF16(options.title_resource_id, failed_url_string)); 594 l10n_util::GetStringFUTF16(options.title_resource_id, failed_url_string));
600 error_strings->SetString("heading",
601 l10n_util::GetStringUTF16(options.heading_resource_id));
602
603 std::string icon_class = GetIconClassForError(error_domain, error_code); 595 std::string icon_class = GetIconClassForError(error_domain, error_code);
604 error_strings->SetString("iconClass", icon_class); 596 error_strings->SetString("iconClass", icon_class);
605 597
598 base::string16 host_name(url_formatter::IDNToUnicode(failed_url.host(),
599 accept_languages));
600
601 base::DictionaryValue* heading = new base::DictionaryValue;
602 heading->SetString("msg",
603 l10n_util::GetStringUTF16(options.heading_resource_id));
604 heading->SetString("hostName", host_name);
605 error_strings->Set("heading", heading);
606
606 base::DictionaryValue* summary = new base::DictionaryValue; 607 base::DictionaryValue* summary = new base::DictionaryValue;
607 608
608 // For offline show a summary message underneath the heading. 609 // Set summary message under the heading.
609 if (error_code == net::ERR_INTERNET_DISCONNECTED || 610 summary->SetString("msg",
610 error_code == error_page::DNS_PROBE_FINISHED_NO_INTERNET) { 611 l10n_util::GetStringUTF16(options.summary_resource_id));
611 error_strings->SetString("primaryParagraph", 612 // Add a DNS definition string.
612 l10n_util::GetStringUTF16(options.summary_resource_id)); 613 summary->SetString("dnsDefinition",
613 } else { 614 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUMMARY_DNS_DEFINITION));
614 // Set summary message in the details.
615 summary->SetString("msg",
616 l10n_util::GetStringUTF16(options.summary_resource_id));
617 }
618 615
619 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess(); 616 base::CommandLine* command_line = base::CommandLine::ForCurrentProcess();
620 617
621 // Check if easter egg should be disabled. 618 // Check if easter egg should be disabled.
622 if (command_line->HasSwitch( 619 if (command_line->HasSwitch(
623 error_page::switches::kDisableDinosaurEasterEgg)) { 620 error_page::switches::kDisableDinosaurEasterEgg)) {
624 // The presence of this string disables the easter egg. Acts as a flag. 621 // The presence of this string disables the easter egg. Acts as a flag.
625 error_strings->SetString("disabledEasterEgg", 622 error_strings->SetString("disabledEasterEgg",
626 l10n_util::GetStringUTF16(IDS_ERRORPAGE_FUN_DISABLED)); 623 l10n_util::GetStringUTF16(IDS_ERRORPAGE_FUN_DISABLED));
627 } 624 }
628 625
629 summary->SetString("failedUrl", failed_url_string); 626 summary->SetString("failedUrl", failed_url_string);
630 summary->SetString("hostName", url_formatter::IDNToUnicode(failed_url.host(), 627 summary->SetString("hostName", host_name);
631 accept_languages));
632 summary->SetString("productName", 628 summary->SetString("productName",
633 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME)); 629 l10n_util::GetStringUTF16(IDS_PRODUCT_NAME));
634 630
635 error_strings->SetString( 631 error_strings->SetString(
636 "details", l10n_util::GetStringUTF16(IDS_ERRORPAGE_NET_BUTTON_DETAILS)); 632 "details", l10n_util::GetStringUTF16(IDS_ERRORPAGE_NET_BUTTON_DETAILS));
637 error_strings->SetString( 633 error_strings->SetString(
638 "hideDetails", l10n_util::GetStringUTF16( 634 "hideDetails", l10n_util::GetStringUTF16(
639 IDS_ERRORPAGE_NET_BUTTON_HIDE_DETAILS)); 635 IDS_ERRORPAGE_NET_BUTTON_HIDE_DETAILS));
640 error_strings->Set("summary", summary); 636 error_strings->Set("summary", summary);
641 637
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after
918 learn_more_url = learn_more_url.ReplaceComponents(repl); 914 learn_more_url = learn_more_url.ReplaceComponents(repl);
919 915
920 base::DictionaryValue* suggest_learn_more = new base::DictionaryValue; 916 base::DictionaryValue* suggest_learn_more = new base::DictionaryValue;
921 // There's only a body for this suggestion. 917 // There's only a body for this suggestion.
922 suggest_learn_more->SetString("body", 918 suggest_learn_more->SetString("body",
923 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUGGESTION_LEARNMORE_BODY)); 919 l10n_util::GetStringUTF16(IDS_ERRORPAGES_SUGGESTION_LEARNMORE_BODY));
924 suggest_learn_more->SetString("learnMoreUrl", learn_more_url.spec()); 920 suggest_learn_more->SetString("learnMoreUrl", learn_more_url.spec());
925 suggestions->Append(suggest_learn_more); 921 suggestions->Append(suggest_learn_more);
926 } 922 }
927 } 923 }
924
925 if (options.suggestions & SUGGEST_UNSUPPORTED_CIPHER) {
926 base::DictionaryValue* suggest_unsupported_cipher =
927 new base::DictionaryValue;
928 suggest_unsupported_cipher->SetString(
929 "body",
930 l10n_util::GetStringUTF16(
931 IDS_ERRORPAGES_SUGGESTION_UNSUPPORTED_CIPHER));
932 suggestions->Append(suggest_unsupported_cipher);
933 }
928 } 934 }
929 935
930 base::string16 LocalizedError::GetErrorDetails(const std::string& error_domain, 936 base::string16 LocalizedError::GetErrorDetails(const std::string& error_domain,
931 int error_code, 937 int error_code,
932 bool is_post) { 938 bool is_post) {
933 const LocalizedErrorMap* error_map = 939 const LocalizedErrorMap* error_map =
934 LookupErrorMap(error_domain, error_code, is_post); 940 LookupErrorMap(error_domain, error_code, is_post);
935 if (error_map) 941 if (error_map)
936 return l10n_util::GetStringUTF16(error_map->details_resource_id); 942 return l10n_util::GetStringUTF16(error_map->details_resource_id);
937 else 943 else
938 return l10n_util::GetStringUTF16(IDS_ERRORPAGES_DETAILS_UNKNOWN); 944 return l10n_util::GetStringUTF16(IDS_ERRORPAGES_DETAILS_UNKNOWN);
939 } 945 }
940 946
941 bool LocalizedError::HasStrings(const std::string& error_domain, 947 bool LocalizedError::HasStrings(const std::string& error_domain,
942 int error_code) { 948 int error_code) {
943 // Whether or not the there are strings for an error does not depend on 949 // Whether or not the there are strings for an error does not depend on
944 // whether or not the page was be generated by a POST, so just claim it was 950 // whether or not the page was be generated by a POST, so just claim it was
945 // not. 951 // not.
946 return LookupErrorMap(error_domain, error_code, /*is_post=*/false) != NULL; 952 return LookupErrorMap(error_domain, error_code, /*is_post=*/false) != NULL;
947 } 953 }
OLDNEW
« no previous file with comments | « chrome/browser/errorpage_browsertest.cc ('k') | chrome/renderer/resources/neterror.css » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698