Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index 8f75c8c80271d9285366d8ccd3a3188ed594ff00..d8b05a7d9908f15a68f59d75142ea7e0f0ef40e9 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -2479,6 +2479,22 @@ void RenderFrameImpl::LoadURLExternally(const blink::WebURLRequest& request, |
loadURLExternally(request, policy, WebString(), false); |
} |
+void RenderFrameImpl::loadErrorPage(int reason) { |
+ blink::WebURLError error; |
+ error.unreachableURL = frame_->document().url(); |
+ error.domain = WebString::fromUTF8(net::kErrorDomain); |
+ error.reason = reason; |
+ |
+ std::string error_html; |
+ GetContentClient()->renderer()->GetNavigationErrorStrings( |
+ this, frame_->dataSource()->request(), error, &error_html, nullptr); |
+ |
+ frame_->loadData(error_html, WebString::fromUTF8("text/html"), |
+ WebString::fromUTF8("UTF-8"), GURL(kUnreachableWebDataURL), |
Tom Sepez
2016/10/20 18:26:58
Maybe truncate the ? and # portions of the url?
|
+ error.unreachableURL, true, blink::WebFrameLoadType::Standard, |
+ blink::WebHistoryItem(), blink::WebHistoryDifferentDocumentLoad, true); |
+} |
+ |
void RenderFrameImpl::ExecuteJavaScript(const base::string16& javascript) { |
OnJavaScriptExecuteRequest(javascript, 0, false); |
} |