Index: content/renderer/render_frame_impl.cc |
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc |
index f68bb2e5666f71404361907fd889992464b5d5cf..a58c9668fba7c7e904fff21e4610a92a38fc1230 100644 |
--- a/content/renderer/render_frame_impl.cc |
+++ b/content/renderer/render_frame_impl.cc |
@@ -2374,6 +2374,18 @@ void RenderFrameImpl::LoadNavigationErrorPage( |
const blink::WebHistoryItem& history_item = |
entry ? entry->root() : blink::WebHistoryItem(); |
+ // Requests blocked by the X-Frame-Options HTTP response header doesn't |
+ // display error pages but a blank pages instead. |
clamy
2016/12/06 17:09:44
nit:s/pages/page
|
+ // TODO(alexmos, mkwst, arthursonzogni): This block can be removed once error |
+ // pages are refactored. See crbug.com/588314 and crbug.com/622385. |
+ if (error.reason == net::ERR_BLOCKED_BY_RESPONSE) { |
+ frame_->loadData("", WebString::fromUTF8("text/html"), |
+ WebString::fromUTF8("UTF-8"), GURL("data:,"), WebURL(), |
+ replace, frame_load_type, history_item, |
+ blink::WebHistoryDifferentDocumentLoad, false); |
+ return; |
+ } |
+ |
frame_->loadData(error_html, WebString::fromUTF8("text/html"), |
WebString::fromUTF8("UTF-8"), GURL(kUnreachableWebDataURL), |
error.unreachableURL, replace, frame_load_type, history_item, |