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

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

Issue 63273002: Rename WebKit namespace to blink (part 4) (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 1 month 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 | Annotate | Revision Log
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/json/json_writer.h" 9 #include "base/json/json_writer.h"
10 #include "base/metrics/histogram.h" 10 #include "base/metrics/histogram.h"
(...skipping 20 matching lines...) Expand all
31 using chrome_common_net::DnsProbeStatus; 31 using chrome_common_net::DnsProbeStatus;
32 using chrome_common_net::DnsProbeStatusIsFinished; 32 using chrome_common_net::DnsProbeStatusIsFinished;
33 using chrome_common_net::DnsProbeStatusToString; 33 using chrome_common_net::DnsProbeStatusToString;
34 using content::RenderThread; 34 using content::RenderThread;
35 using content::RenderView; 35 using content::RenderView;
36 using content::RenderViewObserver; 36 using content::RenderViewObserver;
37 using content::kUnreachableWebDataURL; 37 using content::kUnreachableWebDataURL;
38 38
39 namespace { 39 namespace {
40 40
41 bool IsLoadingErrorPage(WebKit::WebFrame* frame) { 41 bool IsLoadingErrorPage(blink::WebFrame* frame) {
42 GURL url = frame->provisionalDataSource()->request().url(); 42 GURL url = frame->provisionalDataSource()->request().url();
43 if (!url.is_valid()) 43 if (!url.is_valid())
44 return false; 44 return false;
45 return url.spec() == kUnreachableWebDataURL; 45 return url.spec() == kUnreachableWebDataURL;
46 } 46 }
47 47
48 bool IsMainFrame(const WebKit::WebFrame* frame) { 48 bool IsMainFrame(const blink::WebFrame* frame) {
49 return !frame->parent(); 49 return !frame->parent();
50 } 50 }
51 51
52 // Returns whether |net_error| is a DNS-related error (and therefore whether 52 // Returns whether |net_error| is a DNS-related error (and therefore whether
53 // the tab helper should start a DNS probe after receiving it.) 53 // the tab helper should start a DNS probe after receiving it.)
54 bool IsDnsError(const WebKit::WebURLError& error) { 54 bool IsDnsError(const blink::WebURLError& error) {
55 return std::string(error.domain.utf8()) == net::kErrorDomain && 55 return std::string(error.domain.utf8()) == net::kErrorDomain &&
56 (error.reason == net::ERR_NAME_NOT_RESOLVED || 56 (error.reason == net::ERR_NAME_NOT_RESOLVED ||
57 error.reason == net::ERR_NAME_RESOLUTION_FAILED); 57 error.reason == net::ERR_NAME_RESOLUTION_FAILED);
58 } 58 }
59 59
60 } // namespace 60 } // namespace
61 61
62 NetErrorHelper::NetErrorHelper(RenderView* render_view) 62 NetErrorHelper::NetErrorHelper(RenderView* render_view)
63 : RenderViewObserver(render_view), 63 : RenderViewObserver(render_view),
64 last_probe_status_(chrome_common_net::DNS_PROBE_POSSIBLE), 64 last_probe_status_(chrome_common_net::DNS_PROBE_POSSIBLE),
65 last_start_was_error_page_(false), 65 last_start_was_error_page_(false),
66 last_fail_was_dns_error_(false), 66 last_fail_was_dns_error_(false),
67 forwarding_probe_results_(false), 67 forwarding_probe_results_(false),
68 is_failed_post_(false) { 68 is_failed_post_(false) {
69 } 69 }
70 70
71 NetErrorHelper::~NetErrorHelper() { 71 NetErrorHelper::~NetErrorHelper() {
72 } 72 }
73 73
74 void NetErrorHelper::DidStartProvisionalLoad(WebKit::WebFrame* frame) { 74 void NetErrorHelper::DidStartProvisionalLoad(blink::WebFrame* frame) {
75 OnStartLoad(IsMainFrame(frame), IsLoadingErrorPage(frame)); 75 OnStartLoad(IsMainFrame(frame), IsLoadingErrorPage(frame));
76 } 76 }
77 77
78 void NetErrorHelper::DidFailProvisionalLoad(WebKit::WebFrame* frame, 78 void NetErrorHelper::DidFailProvisionalLoad(blink::WebFrame* frame,
79 const WebKit::WebURLError& error) { 79 const blink::WebURLError& error) {
80 const bool main_frame = IsMainFrame(frame); 80 const bool main_frame = IsMainFrame(frame);
81 const bool dns_error = IsDnsError(error); 81 const bool dns_error = IsDnsError(error);
82 82
83 OnFailLoad(main_frame, dns_error); 83 OnFailLoad(main_frame, dns_error);
84 84
85 if (main_frame && dns_error) { 85 if (main_frame && dns_error) {
86 last_error_ = error; 86 last_error_ = error;
87 87
88 WebKit::WebDataSource* data_source = frame->provisionalDataSource(); 88 blink::WebDataSource* data_source = frame->provisionalDataSource();
89 const WebKit::WebURLRequest& failed_request = data_source->request(); 89 const blink::WebURLRequest& failed_request = data_source->request();
90 is_failed_post_ = EqualsASCII(failed_request.httpMethod(), "POST"); 90 is_failed_post_ = EqualsASCII(failed_request.httpMethod(), "POST");
91 } 91 }
92 } 92 }
93 93
94 void NetErrorHelper::DidCommitProvisionalLoad(WebKit::WebFrame* frame, 94 void NetErrorHelper::DidCommitProvisionalLoad(blink::WebFrame* frame,
95 bool is_new_navigation) { 95 bool is_new_navigation) {
96 OnCommitLoad(IsMainFrame(frame)); 96 OnCommitLoad(IsMainFrame(frame));
97 } 97 }
98 98
99 void NetErrorHelper::DidFinishLoad(WebKit::WebFrame* frame) { 99 void NetErrorHelper::DidFinishLoad(blink::WebFrame* frame) {
100 OnFinishLoad(IsMainFrame(frame)); 100 OnFinishLoad(IsMainFrame(frame));
101 } 101 }
102 102
103 void NetErrorHelper::OnStartLoad(bool is_main_frame, bool is_error_page) { 103 void NetErrorHelper::OnStartLoad(bool is_main_frame, bool is_error_page) {
104 DVLOG(1) << "OnStartLoad(is_main_frame=" << is_main_frame 104 DVLOG(1) << "OnStartLoad(is_main_frame=" << is_main_frame
105 << ", is_error_page=" << is_error_page << ")"; 105 << ", is_error_page=" << is_error_page << ")";
106 if (!is_main_frame) 106 if (!is_main_frame)
107 return; 107 return;
108 108
109 last_start_was_error_page_ = is_error_page; 109 last_start_was_error_page_ = is_error_page;
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
163 IPC_BEGIN_MESSAGE_MAP(NetErrorHelper, message) 163 IPC_BEGIN_MESSAGE_MAP(NetErrorHelper, message)
164 IPC_MESSAGE_HANDLER(ChromeViewMsg_NetErrorInfo, OnNetErrorInfo) 164 IPC_MESSAGE_HANDLER(ChromeViewMsg_NetErrorInfo, OnNetErrorInfo)
165 IPC_MESSAGE_UNHANDLED(handled = false) 165 IPC_MESSAGE_UNHANDLED(handled = false)
166 IPC_END_MESSAGE_MAP() 166 IPC_END_MESSAGE_MAP()
167 167
168 return handled; 168 return handled;
169 } 169 }
170 170
171 // static 171 // static
172 bool NetErrorHelper::GetErrorStringsForDnsProbe( 172 bool NetErrorHelper::GetErrorStringsForDnsProbe(
173 WebKit::WebFrame* frame, 173 blink::WebFrame* frame,
174 const WebKit::WebURLError& error, 174 const blink::WebURLError& error,
175 bool is_failed_post, 175 bool is_failed_post,
176 const std::string& locale, 176 const std::string& locale,
177 const std::string& accept_languages, 177 const std::string& accept_languages,
178 base::DictionaryValue* error_strings) { 178 base::DictionaryValue* error_strings) {
179 if (!IsMainFrame(frame)) 179 if (!IsMainFrame(frame))
180 return false; 180 return false;
181 181
182 if (!IsDnsError(error)) 182 if (!IsDnsError(error))
183 return false; 183 return false;
184 184
(...skipping 21 matching lines...) Expand all
206 206
207 last_probe_status_ = status; 207 last_probe_status_ = status;
208 208
209 if (forwarding_probe_results_) 209 if (forwarding_probe_results_)
210 UpdateErrorPage(); 210 UpdateErrorPage();
211 } 211 }
212 212
213 void NetErrorHelper::UpdateErrorPage() { 213 void NetErrorHelper::UpdateErrorPage() {
214 DCHECK(forwarding_probe_results_); 214 DCHECK(forwarding_probe_results_);
215 215
216 WebKit::WebURLError error = GetUpdatedError(); 216 blink::WebURLError error = GetUpdatedError();
217 base::DictionaryValue error_strings; 217 base::DictionaryValue error_strings;
218 LocalizedError::GetStrings(error.reason, 218 LocalizedError::GetStrings(error.reason,
219 error.domain.utf8(), 219 error.domain.utf8(),
220 error.unreachableURL, 220 error.unreachableURL,
221 is_failed_post_, 221 is_failed_post_,
222 RenderThread::Get()->GetLocale(), 222 RenderThread::Get()->GetLocale(),
223 render_view()->GetAcceptLanguages(), 223 render_view()->GetAcceptLanguages(),
224 &error_strings); 224 &error_strings);
225 225
226 std::string json; 226 std::string json;
(...skipping 12 matching lines...) Expand all
239 DVLOG(2) << "New strings: " << js; 239 DVLOG(2) << "New strings: " << js;
240 240
241 string16 frame_xpath; 241 string16 frame_xpath;
242 render_view()->EvaluateScript(frame_xpath, js16, 0, false); 242 render_view()->EvaluateScript(frame_xpath, js16, 0, false);
243 243
244 UMA_HISTOGRAM_ENUMERATION("DnsProbe.ErrorPageUpdateStatus", 244 UMA_HISTOGRAM_ENUMERATION("DnsProbe.ErrorPageUpdateStatus",
245 last_probe_status_, 245 last_probe_status_,
246 chrome_common_net::DNS_PROBE_MAX); 246 chrome_common_net::DNS_PROBE_MAX);
247 } 247 }
248 248
249 WebKit::WebURLError NetErrorHelper::GetUpdatedError() const { 249 blink::WebURLError NetErrorHelper::GetUpdatedError() const {
250 // If a probe didn't run or wasn't conclusive, restore the original error. 250 // If a probe didn't run or wasn't conclusive, restore the original error.
251 if (last_probe_status_ == chrome_common_net::DNS_PROBE_NOT_RUN || 251 if (last_probe_status_ == chrome_common_net::DNS_PROBE_NOT_RUN ||
252 last_probe_status_ == 252 last_probe_status_ ==
253 chrome_common_net::DNS_PROBE_FINISHED_INCONCLUSIVE) { 253 chrome_common_net::DNS_PROBE_FINISHED_INCONCLUSIVE) {
254 return last_error_; 254 return last_error_;
255 } 255 }
256 256
257 WebKit::WebURLError error; 257 blink::WebURLError error;
258 error.domain = WebKit::WebString::fromUTF8( 258 error.domain = blink::WebString::fromUTF8(
259 chrome_common_net::kDnsProbeErrorDomain); 259 chrome_common_net::kDnsProbeErrorDomain);
260 error.reason = last_probe_status_; 260 error.reason = last_probe_status_;
261 error.unreachableURL = last_error_.unreachableURL; 261 error.unreachableURL = last_error_.unreachableURL;
262 262
263 return error; 263 return error;
264 } 264 }
OLDNEW
« no previous file with comments | « chrome/renderer/net/net_error_helper.h ('k') | chrome/renderer/net/prescient_networking_dispatcher.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698