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

Unified Diff: content/renderer/render_frame_impl.cc

Issue 2488743003: (Re-)introduce AncestorThrottle to handle 'X-Frame-Options'. (Closed)
Patch Set: Addressed comments (@alexmos #2) Created 4 years 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 side-by-side diff with in-line comments
Download patch
Index: content/renderer/render_frame_impl.cc
diff --git a/content/renderer/render_frame_impl.cc b/content/renderer/render_frame_impl.cc
index 5a4fdbcb0730d12ec6c3e5868115fad7b1ff1cb5..3862d9b4ed094833055e38a81906a62a486822a5 100644
--- a/content/renderer/render_frame_impl.cc
+++ b/content/renderer/render_frame_impl.cc
@@ -2372,6 +2372,18 @@ void RenderFrameImpl::LoadNavigationErrorPage(
const blink::WebHistoryItem& history_item =
entry ? entry->root() : blink::WebHistoryItem();
+ // Requests blocked by the X-Frame-Options HTTP response header don't display
+ // error pages but a blank page instead.
+ // 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,

Powered by Google App Engine
This is Rietveld 408576698