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

Side by Side Diff: chrome/renderer/net/net_error_helper.cc

Issue 570253002: Componentize NetErrorHelperCore (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 6 years, 2 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/renderer/net/net_error_helper.h ('k') | chrome/renderer/net/net_error_helper_core.h » ('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) 2013 The Chromium Authors. All rights reserved. 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 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/renderer/net/net_error_helper.h" 5 #include "chrome/renderer/net/net_error_helper.h"
6 6
7 #include <string> 7 #include <string>
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"
11 #include "base/json/json_writer.h" 11 #include "base/json/json_writer.h"
12 #include "base/metrics/histogram.h" 12 #include "base/metrics/histogram.h"
13 #include "base/strings/utf_string_conversions.h" 13 #include "base/strings/utf_string_conversions.h"
14 #include "base/values.h" 14 #include "base/values.h"
15 #include "chrome/common/chrome_switches.h" 15 #include "chrome/common/chrome_switches.h"
16 #include "chrome/common/localized_error.h" 16 #include "chrome/common/localized_error.h"
17 #include "chrome/common/net/net_error_info.h"
18 #include "chrome/common/render_messages.h" 17 #include "chrome/common/render_messages.h"
19 #include "chrome/grit/renderer_resources.h" 18 #include "chrome/grit/renderer_resources.h"
20 #include "chrome/renderer/net/net_error_page_controller.h" 19 #include "chrome/renderer/net/net_error_page_controller.h"
20 #include "components/error_page/common/error_page_params.h"
21 #include "components/error_page/common/net_error_info.h"
21 #include "content/public/common/content_client.h" 22 #include "content/public/common/content_client.h"
22 #include "content/public/common/url_constants.h" 23 #include "content/public/common/url_constants.h"
23 #include "content/public/renderer/content_renderer_client.h" 24 #include "content/public/renderer/content_renderer_client.h"
24 #include "content/public/renderer/document_state.h" 25 #include "content/public/renderer/document_state.h"
25 #include "content/public/renderer/render_frame.h" 26 #include "content/public/renderer/render_frame.h"
26 #include "content/public/renderer/render_thread.h" 27 #include "content/public/renderer/render_thread.h"
27 #include "content/public/renderer/render_view.h" 28 #include "content/public/renderer/render_view.h"
28 #include "content/public/renderer/resource_fetcher.h" 29 #include "content/public/renderer/resource_fetcher.h"
29 #include "ipc/ipc_message.h" 30 #include "ipc/ipc_message.h"
30 #include "ipc/ipc_message_macros.h" 31 #include "ipc/ipc_message_macros.h"
(...skipping 10 matching lines...) Expand all
41 #include "url/gurl.h" 42 #include "url/gurl.h"
42 43
43 using base::JSONWriter; 44 using base::JSONWriter;
44 using chrome_common_net::DnsProbeStatus; 45 using chrome_common_net::DnsProbeStatus;
45 using chrome_common_net::DnsProbeStatusToString; 46 using chrome_common_net::DnsProbeStatusToString;
46 using content::DocumentState; 47 using content::DocumentState;
47 using content::RenderFrame; 48 using content::RenderFrame;
48 using content::RenderFrameObserver; 49 using content::RenderFrameObserver;
49 using content::RenderThread; 50 using content::RenderThread;
50 using content::kUnreachableWebDataURL; 51 using content::kUnreachableWebDataURL;
52 using error_page::ErrorPageParams;
53 using error_page::NetErrorHelperCore;
51 54
52 namespace { 55 namespace {
53 56
54 // Number of seconds to wait for the navigation correction service to return 57 // Number of seconds to wait for the navigation correction service to return
55 // suggestions. If it takes too long, just use the local error page. 58 // suggestions. If it takes too long, just use the local error page.
56 static const int kNavigationCorrectionFetchTimeoutSec = 3; 59 static const int kNavigationCorrectionFetchTimeoutSec = 3;
57 60
58 NetErrorHelperCore::PageType GetLoadingPageType(const blink::WebFrame* frame) { 61 NetErrorHelperCore::PageType GetLoadingPageType(const blink::WebFrame* frame) {
59 GURL url = frame->provisionalDataSource()->request().url(); 62 GURL url = frame->provisionalDataSource()->request().url();
60 if (!url.is_valid() || url.spec() != kUnreachableWebDataURL) 63 if (!url.is_valid() || url.spec() != kUnreachableWebDataURL)
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 return core_->ShouldSuppressErrorPage(GetFrameType(frame), url); 161 return core_->ShouldSuppressErrorPage(GetFrameType(frame), url);
159 } 162 }
160 163
161 void NetErrorHelper::TrackClick(int tracking_id) { 164 void NetErrorHelper::TrackClick(int tracking_id) {
162 core_->TrackClick(tracking_id); 165 core_->TrackClick(tracking_id);
163 } 166 }
164 167
165 void NetErrorHelper::GenerateLocalizedErrorPage( 168 void NetErrorHelper::GenerateLocalizedErrorPage(
166 const blink::WebURLError& error, 169 const blink::WebURLError& error,
167 bool is_failed_post, 170 bool is_failed_post,
168 scoped_ptr<LocalizedError::ErrorPageParams> params, 171 scoped_ptr<ErrorPageParams> params,
169 bool* reload_button_shown, 172 bool* reload_button_shown,
170 bool* load_stale_button_shown, 173 bool* load_stale_button_shown,
171 std::string* error_html) const { 174 std::string* error_html) const {
172 error_html->clear(); 175 error_html->clear();
173 176
174 int resource_id = IDR_NET_ERROR_HTML; 177 int resource_id = IDR_NET_ERROR_HTML;
175 const base::StringPiece template_html( 178 const base::StringPiece template_html(
176 ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id)); 179 ResourceBundle::GetSharedInstance().GetRawDataResource(resource_id));
177 if (template_html.empty()) { 180 if (template_html.empty()) {
178 NOTREACHED() << "unable to load template."; 181 NOTREACHED() << "unable to load template.";
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
220 base::DictionaryValue error_strings; 223 base::DictionaryValue error_strings;
221 LocalizedError::GetStrings(error.reason, 224 LocalizedError::GetStrings(error.reason,
222 error.domain.utf8(), 225 error.domain.utf8(),
223 error.unreachableURL, 226 error.unreachableURL,
224 is_failed_post, 227 is_failed_post,
225 (load_stale_cache_enabled && 228 (load_stale_cache_enabled &&
226 error.staleCopyInCache && !is_failed_post), 229 error.staleCopyInCache && !is_failed_post),
227 RenderThread::Get()->GetLocale(), 230 RenderThread::Get()->GetLocale(),
228 render_frame()->GetRenderView()-> 231 render_frame()->GetRenderView()->
229 GetAcceptLanguages(), 232 GetAcceptLanguages(),
230 scoped_ptr<LocalizedError::ErrorPageParams>(), 233 scoped_ptr<ErrorPageParams>(),
231 &error_strings); 234 &error_strings);
232 235
233 std::string json; 236 std::string json;
234 JSONWriter::Write(&error_strings, &json); 237 JSONWriter::Write(&error_strings, &json);
235 238
236 std::string js = "if (window.updateForDnsProbe) " 239 std::string js = "if (window.updateForDnsProbe) "
237 "updateForDnsProbe(" + json + ");"; 240 "updateForDnsProbe(" + json + ");";
238 base::string16 js16; 241 base::string16 js16;
239 if (!base::UTF8ToUTF16(js.c_str(), js.length(), &js16)) { 242 if (!base::UTF8ToUTF16(js.c_str(), js.length(), &js16)) {
240 NOTREACHED(); 243 NOTREACHED();
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
343 success ? data : "", 346 success ? data : "",
344 render_frame()->GetRenderView()->GetAcceptLanguages(), 347 render_frame()->GetRenderView()->GetAcceptLanguages(),
345 base::i18n::IsRTL()); 348 base::i18n::IsRTL());
346 } 349 }
347 350
348 void NetErrorHelper::OnTrackingRequestComplete( 351 void NetErrorHelper::OnTrackingRequestComplete(
349 const blink::WebURLResponse& response, 352 const blink::WebURLResponse& response,
350 const std::string& data) { 353 const std::string& data) {
351 tracking_fetcher_.reset(); 354 tracking_fetcher_.reset();
352 } 355 }
OLDNEW
« no previous file with comments | « chrome/renderer/net/net_error_helper.h ('k') | chrome/renderer/net/net_error_helper_core.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698