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

Unified Diff: chrome/renderer/chrome_content_renderer_client.cc

Issue 136203009: Support auto-reload on errors. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@lkgr
Patch Set: MockableOneShotTimer -> base::Timer (now mockable!) Created 6 years, 9 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/errorpage_browsertest.cc ('k') | chrome/renderer/net/net_error_helper.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/renderer/chrome_content_renderer_client.cc
diff --git a/chrome/renderer/chrome_content_renderer_client.cc b/chrome/renderer/chrome_content_renderer_client.cc
index 646776936a25ed4226fa77f8010b4b6e2e21dfdb..77d6c346f02f935a15f05080095b3c69b96431e3 100644
--- a/chrome/renderer/chrome_content_renderer_client.cc
+++ b/chrome/renderer/chrome_content_renderer_client.cc
@@ -984,6 +984,17 @@ bool ChromeContentRendererClient::HasErrorPage(int http_status_code,
bool ChromeContentRendererClient::ShouldSuppressErrorPage(
content::RenderFrame* render_frame,
const GURL& url) {
+ // Unit tests for ChromeContentRendererClient pass a NULL RenderFrame here.
+ // Unfortunately it's very difficult to construct a mock RenderView, so skip
+ // this functionality in this case.
+ if (render_frame) {
+ content::RenderView* render_view = render_frame->GetRenderView();
+ content::RenderFrame* main_render_frame = render_view->GetMainRenderFrame();
+ blink::WebFrame* web_frame = render_frame->GetWebFrame();
+ NetErrorHelper* net_error_helper = NetErrorHelper::Get(main_render_frame);
+ if (net_error_helper->ShouldSuppressErrorPage(web_frame, url))
+ return true;
+ }
// Do not flash an error page if the Instant new tab page fails to load.
return search_bouncer_.get() && search_bouncer_->IsNewTabPage(url);
}
« no previous file with comments | « chrome/browser/errorpage_browsertest.cc ('k') | chrome/renderer/net/net_error_helper.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698